これは、ドリコム Advent Calendar 2015 の6日目です。
5日目は kakaricho さんによる、 2年目エンジニアがエンジニアリーダーをやってみた話 です。
#!/usr/bin/env ruby | |
# -*- encoding: utf-8 -*- | |
=begin | |
空行で区切られた要素に対してgrepする | |
=end | |
if ARGV.length < 2 | |
puts "<usage> ruby multiline_grep.rb [search_file] [search_text1] [search_text2] ..." | |
exit |
# monkey patch for permission problem when installing package including executables from git repository | |
# (Errno::EPERM: Operation not permitted) | |
# for rubygems >= 1.8 | |
# 1. put this file under lib directory. | |
# 2. put below line to top of Gemfile. | |
# | |
# require File.expand_path("lib/gem_installer_eperm_patch", File.dirname(__FILE__)) | |
# | |
require 'rubygems/installer' |
--- a/uri/common.rb | |
+++ b/uri/rfc3986_common.rb | |
@@ -45,9 +45,9 @@ module URI | |
RESERVED = ";/?:@&=+$,\\[\\]" | |
# domainlabel = alphanum | alphanum *( alphanum | "-" ) alphanum | |
- DOMLABEL = "(?:[#{ALNUM}](?:[-#{ALNUM}]*[#{ALNUM}])?)" | |
+ DOMLABEL = "(?:[#{ALNUM}](?:[-_#{ALNUM}]*[#{ALNUM}])?)" | |
# toplabel = alpha | alpha *( alphanum | "-" ) alphanum | |
- TOPLABEL = "(?:[#{ALPHA}](?:[-#{ALNUM}]*[#{ALNUM}])?)" |
Application.configure do | |
config.after_initialize do | |
# Partialの情報をHTMLに埋める | |
# For ActionPack 3.2.8 | |
class ActionView::PartialRenderer | |
def render_with_partial_annotation(*args) | |
setup(*args) | |
path = @path | |
content = "".html_safe |
# config/environments/development.rb | |
# ActiveRecord 3.2.8 / mysql2 0.3.11 | |
Application.configure do | |
config.after_initialize do | |
class ActiveRecord::ConnectionAdapters::Mysql2Adapter | |
def execute_with_warning_is_error(sql, *rest) | |
result = execute_without_warning_is_error(sql, *rest) | |
warnings = execute_without_warning_is_error('show warnings', :skip_logging).to_a |
これは、ドリコム Advent Calendar 2015 の6日目です。
5日目は kakaricho さんによる、 2年目エンジニアがエンジニアリーダーをやってみた話 です。
Date: Wed, 20 Feb 2013 12:40:23 +0900 | |
MIME-Version: 1.0 | |
Content-Type: text/plain; charset=UTF-8 | |
Content-Transfer-Encoding: 8bit | |
--- | |
appengine/pom.xml | 18 +++++++++--------- | |
1 file changed, 9 insertions(+), 9 deletions(-) | |
diff --git a/appengine/pom.xml b/appengine/pom.xml |
英語圏ではかなり前からErlang/OTPを開発し続けることのリスクについて語られていたが,具体的な弊害が出て来たので,単なるメモ.日本では起こり得ない未来だと思う.
COBOLのように需要が逼迫しているのに人材の供給が増えず需給ミスマッチが起っているわけでは無く,需要も供給も増えないという状況下でわずかながら需要が上回っている質の悪い状況がErlang/OTPに起きている.特に深刻なのは高価な若手エンジニアの採用が絶望的に難しいという現実だ.Haskellが台頭して数年経ちScalaがメインストリームの先頭を突っ走る2013年において全く別の関数型言語もどきを勉強しようとする若者はよほどの物好きしかいない.20~30歳のErlang/OTPエンジニアを雇うのはそれほど難しい上にコストがかかる.優秀な30代前半の若手エンジニアを雇いたいという企業の思いとは裏腹にErlang/OTP新たに学ぶ若者は絶滅寸前だ.
とても優秀な若手を雇用できるチャンスが巡って来た.採用担当者はこう尋ねる.「Erlang/OTPは習得していますか?」「もちろんRuby/Scalaはお手の物です.Haskellもある程度可能です」「もう一度伺いますがErlang/OTPまたはCは習得していますか?」「申し訳ございません 未習得です」
さらば不具合 輝く緑は | |
テスト駆動TDD | |
小さな機能 実装のため | |
テストを書いて 今始める | |
赤いバーを 緑にするため | |
ソースに書き込む 仮実装 | |
緑を保ち リファクタリング | |
黄金の回転 テスト駆動TDD | |