月曜日までに考えておきます

ITネタとゲームネタ中心に興味のあること色々書きます。

shibuya.rb参加して来ました(2013/2/20)

だいたい毎月行っていますが、今月も渋谷のRubyコミュニティ、shibuya.rbに参加して来ました。

自分がLTした話

今回はLTで、Rubyの階層構造を実現するGemについて話して来ました。 デブサミにて @t-wada さんのSQLアンチパターンの話を聞き、そういえば以前、Railsで階層構造実現するときに使ったGemがこんなデータ形式だったなぁ、と思いだしましたので。

Rubyで階層構造 // Speaker Deck

このスライドの最後に書いてある内容で、ディレクトリのようなよく親が変わるようなケースの場合、経路列挙は大量のupdateが走る可能性があるのでむしろ良くないよな、と思ったのですがその解決策が見いだせませんでした。

で、よく考えたらファイル/ディレクトリやりたいなら経路列挙むしろナイーブツリーのほうがいいのでは、という気がして来ました。

  • 親が変わるとき子供にはupdateが走らないように子供ごと移動したい、という条件が満たせる
  • 深さがどれぐらいになるか、は不定だが、ある親から無限の子孫のデータを要求されるケースがあまりなく(※)、一階層下のデータだけあれば良い
    • (※)ディレクトリ以下のすべてのファイルの数や容量、というリクエストは子孫全てへのアクセスが必要だが、OSでもこの機能は遅いので非同期処理による遅い応答でもいいのでは、という気がしてる

もちろん、階層構造パターンとして「SQLアンチパターン」では経路列挙以外の手段も挙げられているのでファイル/ディレクトリ的なモデルの実現にいい方法があるのか読んでみようと思います。(買ったけどまだ読んでない)

Thorの話

こしばさんのThorの話、「ギョーミー」という謎の単語も飛び出しつつ参考になってよかったです。 特に、最後に @onk さんが質問していた「Rakeと比べて嬉しい点」は自分も気になっていたところだったので、そこが聞けてよかったです。 Rakeは引数を渡しづらいので、引数をとるバッチ処理であればThorの方が便利なようですね。

その他にも

  • gemを公開するの勉強になる話
  • 転職の話
  • RailsConfの話
  • Ruby愛の話
  • padrino
  • fluentd

など参考になる話がたくさん聞けました。

自分もあまり発表するの得意な方じゃないのですが、Shibuya.rbは発表の内容を前向きに受け入れてくれる人ばっかりで、カジュアルに発表できる空気があってとても良いです。いつも行って自分が勉強するばかりだったので、今回は自分がLTしてコミュニティ活動に貢献できたので良かったです。

次回

3/20(水)は祭日なので、昼から集まってランチしつつ夜までやる、みたいなスペシャル版になりそうということです。

懇親会盛り上がった話

23時半の電車が終電でそれで帰れば次の日の出社も体力的になんとかなることが先月わかったので、今月も懇親会に行って来ました。

周りに元SIerや大企業な人が多くて、そこからベンチャーやソーシャルに転職した人が居る、みたいな構成だったので組織論の話とかで盛り上がってこれまた凄い充実したトークができ、危うく終電逃しそうでした。

今の自分の職場では、同じ部署の同僚の範囲ではすごい人が多いのに、全社で見るとうまく回ってなかったり変な縛りがあって閉塞感があったりする状況なので、共感できるポイントが多かったですね。うまいこといい流れを全社的に回して行きたいなぁと思います。