スタートダッシュ型仕事術
一年前にブクマしたけど、もうあと何回か読みたいのでメモ。
Life is beautiful: スタートダッシュ型仕事術:実践編
- 書いたプログラムを捨てることを恐れないこと
- この段階で仕様書を書くことは時間の無駄と認識すること
- 細かなことを無視して、一番難しい部分を最初に作ること
- できるだけ早く、一気に「見極めが出来るところ」まで持って行くこと
- コードは多少汚くても良いが、モジュール間のインターフェイスだけはキチンと設計すること
この五つは肝に銘じておきたい!
rlwrap
一年前のブクマ履歴から発掘。
rlwrap - readline ラッパー - 川o・-・)<2nd life
brew install rlwrap
ではいった。とりあえず直近ではつかう場面ないけど備忘録てきにメモ。
最近の application controller のテスト方法
application controller のテスト用に controller メソッドがある。このメソッドのブロック中にメソッドを定義すると、それは appliction controller のテスト用のサブクラスのモックアクションとなる。
メタプログラミングRuby 第5章
eval
- instance_evalやclass_evalも、evalと同じように文字列を引数にすることが出来る。
- evalとセーフレベルと汚染の考えはワンセット。
Binding
- TOBLEVEL_BINDING
- トップレベルのスコープが束縛されている
eval で実行時の束縛を指定できる。どっかで使えそうな気がする…
サンドボックス
proc { $SAFE = @safe_level }.call
ってやると、Procの中だけセーフレベルが変わる...ってマジで?と思ったので試した。
proc {$SAFE= 1}.call #=> 1 $SAFE #=> 0
マジだった。調べると、$SAFE はスレッドローカル変数といって、スレッド毎のスコープらしい。でも procってスレッドじゃないし・・・と思ったらちゃんとマニュアルに書いてあった
Procはその時点でのセーフレベルを記憶する そのProcオブジェクトがcallされると、 記憶していたセーフレベルで実行される。
http://www.ruby-lang.org/ja/man/html/_A5BBA5ADA5E5A5EAA5C6A5A3A5E2A5C7A5EB.html
フックメソッド
included はよく使うけど、他はどれくらいの数あるんだろう?そしてどのように使うべきだろう?
ペイロード
「最大積載量」という意味の英単語で、ITの世界では通信パケットのうちヘッダ部分(行き先等の付加情報)を除いた、本来転送したいデータ本体のことを指す。
ペイロードとは【payload】 - 意味/解説/説明/定義 : IT用語辞典