真似したいと思った定数の書き方。
class Foo < ActiveRecord::Base
module Statuses
UNCHECKED = 0
UNAVAILABLE = 1
AVAILABLE = 2
end
include Statuses
def status_text
case self.status
when UNCHECKED; '未確認'
when UNAVAILABLE; '使用不可能'
when AVAILABLE; '使用可能'
end
end
end
こうすると
if foo.status == Foo::Statuses::AVAILABLE
のように書けるので、モジュールをネストしない
if foo.status == Foo::AVAILABLE
よりもわかりやすい。
しかもincludeしてるので内部ではローカルとして使える。
で、このstatusを表示したいことがあるのでstatus_textというメソッドも追加してみた。
メインセッションがある大ホールでずっと聞いていたのですが、Railsばかり触っている(というかそもそも言語知識が足りない)ため、Rubyの実装に関するあたりはほとんど理解できませんでした(ごめんなさい><)。
・・・ということで(えー)、一番印象に残った話題を。
YuguiさんのBDD事例、エラいことになった(エドワード・ヨードン的な意味で)プロジェクトをRSpecとRailsで作り直したった、やったった、というものでした。
その進め方が、フェーズ1は経験あるメンバのみでフルパワー、フェーズ2は未経験のメンバを入れて既存(フェーズ1の)コードを真似させつつ、フェーズ3ではそのメンバで再び、という感じでした。
状況は大変だったと思いますが、ここでフェーズ2で入った方、プロジェクトが終わったころには抜群に伸びていたのではないかなー、と。
最後に出た、「テストコードを書く暇があったらその分機能を追加してくれというツッコミはなかったんですか?」という質問に、「あなたは分かってないんだからとりあえず黙って見ててください。」という感じで返したと答えられてました。
どうしても遭遇するときは遭遇してしまうデスなんとかですが、こんなリーダーで、そんな進め方をしてもらえたなら士気は上がるだろうな、よい経験になったんだろうなと思いました。(いやむしろこれはデスなんとかではないのかもしれない)
周辺ではまだPHPやらJavaやらのお仕事ばかりなのですが、こちらから提案かけなくてもRubyで、となるような状況になってほしい、むしろそうできるようにノウハウ貯めて動いていきたいと思いました。
顧客の要望を満たすのが目的であって、手段にはこだわるのはナンセンス的な意見も正しいとは思いますが、それでも同じ満たせるなら楽しく満たした方がいいじゃないかと思います。その楽しい手段が今の自分にはRubyなんです。
少なくともね、自分が今日見た会場はRuby一色だったよ!(そりゃそうだ)
明日は諸事情で行けないのですが、来年は皆勤、というよりATTENDEEではないネームプレートで参加できるといいなー。
そうそう、会場のジュンク堂で先行発売されていた↓も買ってきました。せっかくなので張っておきます。
昨日あたりからDreamHostのsshで公開鍵認証ができなくなって面倒なことになっていたのですが、
COMPROMISED な公開鍵では ssh アクセスが許されない : 僕は発展途上技術者
久々技術的な話題のエントリーを。
こちらのエントリーを見て、もしかしてと思いリモートで自分の鍵を確認したところ、まさにこれでした。
でもローカルに「ssh-vulnkey」というコマンドがなかったのでさらに探してみたら、こんなエントリが。
debianのopensslとopensshに脆弱性 – ksaitoの日記
Debianのセキュリティー勧告によると、DebianとUbuntuなどの派生ディストリビューションでopensslパッケージの不具合によりopensshのssh-keygenで生成した鍵の作り直しが必要になるようです。
1ヶ月前の話かー。ドリホもこれに対応したところだったのかもしれない。
パーミッションやらファイル名やらをしつこく見直してもわからなくてあきらめかけていたところだったので、助かりました。
ATOK定額制サービス ATOK for Windows
変換精度の高さで多くのお客さまにご活用いただいているATOKで、新たな使い方ができる新サービスを開始いたします。従来のパッケージ製品の枠を超え、月額制で常に最新プログラムのご利用が可能になりました。
毎年2月に更新してる身としては見逃せないニュース。国語や英和・和英辞典はどうなるんだろう。
Windows XP終了のお知らせを受けて、長年愛用していたX31からX61に乗り換えました。
林檎マークのOSには惹かれるんですが、ハードウェア的にはThinkPadから離れられませんっっ><

最新マシンはvimの動きも違うわー
namespace内のmap.rootが効いたり、効かなかったり – p0t
yoshukiさんに教えてもらったんですが、map.rootのせいというより、namespaceを使ったものと同名のcontrollerがあるとproductionで時々違うviewが実行されてしまうようです。(Admin::StoneShopControllerとStoneShopControllerとか)
komagataさんが書かれているように、同名のコントローラでネームスペースに入れているものと入れていないものが存在する場合に、ときどき間違った(ネームスペースを無視した)ビューが使われてしまう問題に遭遇していました。
controller namespace causes wrong views to be rendered? – Ruby on Rails: Talk | Google グループ
To get to the front one, http://localhost:3000/press_releases. To get to the admin on, http://localhost:3000/admin/press_releases.
Everything works fine, but after some time, I start seeing the front- end views when I try to access the admin pages.
自分もソースを追ってみたのですがまったくといっていいほど歯が立たず、あっさり挫折して件のGregさんにどのような対応をされたのか聞いてみました。
結果、すべてのコントローラをネームスペースに入れてしまい、それ以来この問題は起きていないとのこと。
ちなみにこちらでは片方のコントローラ名を変更することで回避していました。
Gregさんは1.2、こちらは2.0.2、最新の2.1でどうなっているのかは確認できていませんが、どちらも根本的な解決にはなっていないことになります。
Lighthouseでチケットを探してみたのですが、この件に関するものは上がっていないようでした。
ということで報告しようと思ったのですが、さて、どう証拠を示したらよいやら・・・。
[via] ヲハニュース
StarChartLog – 九天社が倒産したらしい
Twitter経由Pickles weblogによると、九天社が倒産したらしいです。公式サイトは現在メンテナンス中です。いましばらくお待ちください。状態。今のところ公式発表・マスコミ報道はないようです。

いつかは触りたいなーと思って欲しい本リストに入っていたのだけれど、これを見て即注文した。
どうしようかなーと思っていたあなた、急いで急いでっっ!
仕事でこの辺の知識が必要だなーと思ったところでお借りできたのでサクッと読んだ。
ポイントごとに上手くまとめられていて、なんとなく分かっているような分かっていないような感じでいたところがつながった気がする。