札幌Ruby会議2012に参加したはじめに札幌Ruby会議2012に行って来たので、感想やメモを書きました。会議の内容については札幌Ruby会議2012のレポートチームによる下記の記事が詳しいです。岡山からの札幌便が、14:35発の1便しかないため前日入。飛行機が遅れて15:00離陸、新千歳空港についたのが17:00過ぎくらい。札幌まではさらに1時間くらいかかった。ホテルにチェックイン後、晩御飯を。9/14(金)会議前Herokuから、先着100名に弁当を配るということで開場よりもかなり早く行ってみました。配っているメンバーも、相澤さん、まつもとさん、笹田さんと豪華メンバー。タンブラーもいただいた。歩さんHerokuはただのPaasをやっているのではなく、プロフェッショナルのための生産性をいかに高めるのかを哲学にしているという言葉が印象深かった。最新のスタックのCedarでは、Ubuntu10.04で動く言語なら何でも動くらしい。Railsだけのサービスではない。和順さんマイクロソフトのオープンソース戦略についての話。Azureを使ってもらえるようにSDKをそれぞれのOS用に用意したり、能楽堂というRailsのアプリケーションサーバー、Webサーバーを開発している。HerokuやSqale、このAzureもだけどRailsを動かすためのPaasタイプのサービスが増えてきて面白い。仕事でも個人でも今はRailsでアプリを書いているので試して比べてみたいと思う。健一さんソーシャルコーディングについての話。コードを書くにはエンドツーエンドテストを最初に書き、Rspecでユニットテストを書いていく。request単位でコードレビューをしているとのこと。コードレビューの面白い例として、リーダブルコードの章番号付きで、なぜ良くないかのを示してレビューコメントがあった。「自分たちが納得できるようなプロダクトを作ることも出来ずに、お客様を満足させることは出来るのか?」この言葉が熱かった。この部分はこんなんじゃ駄目だなーという思いが残ったまま仕事してると、やっぱり駄目なことになってしまう。正博さんクックパッドの組織づくりについての話。キーワードが出てきたけど、自分が気になったのは以下のところ。・才能がきちんと活かされる世界であって欲しい。・全社員が技術を正しく理解している・絶対に自分より優秀な人を採る・バスに乗れる人数は決まっているので、誰を乗せるかが大事これを実践して組織づくりしてるってマジで凄いと思う。最近同僚ともこの手の話をよくするので考えされる話だった。祐一さんrails2.3からrails3.0への移行にあたって、どんなふうに作業していったかをかなり具体的に解説。本番環境のリクエストを複製して、rails3.0バージョンのアプリに流すやり方はなるほどと思った。これは同じような事が出来るようにうちでも環境を作りたい。提供しているサービスの形態が違うので同じように出来ない部分もあるけど、今後もrailsアプリをメンテしていくのにとてもためになる話だった。masuidriveさんRubyでiPhoneアプリが書けるMobiRubyの話。mrubyを使って開発している。Storeにリリースされている。Rubyで色んなアプリが書けるようになると嬉しいので、こういうのどんどん出てきて楽しい。Androidにも対応する予定みたい。一日目最後Rubotのセッションのはずが、急遽なくなってしまったということでMatzに質問コーナーが。mrubyについて色々聞かれていた。修吾さんRubyは関数型っぽい言語で、関数型言語由来の機能がけっこう入っているが、やっぱり命令形言語である。そのRubyで副作用のない関数プログラミングをするにはという話。配列を使うと副作用をさけられないので、HaskellなどにあるListを実装する。再帰をつかって処理を書くとすぐにオーバーフローする。末尾再帰の形で記述してもrubyだとやっぱりスタックがあふれる。じつは末尾再帰最適化のオプションがデフォルトでoffになっている。ruby2.0では有効になるかもしれないとのこと。immutableでインストール。ベンチマークを取るとArrayよりかなり遅い。実用には向かないとのこと。面白いので使ってみたい。Ruby先ほどのセッションに続き、関数型っぽい話題。pattern-matchでインストール。Arrayだけでなく色々なオブジェクトでマッチ式を書ける。正規表現のマッチとかすごく便利そう。これは実践でも色々使ってみて情報共有してみたいと思った。Pattersonサラミの情報のリアルタイムシステムについて。この発表は面白かった。ハードウェアから自作する人とかすごく尊敬する。Matzまつもとさんのコードを書く話。我コード書く、ゆえに我あり。自由に、強制されずに、書こう。モチベーションが大事で、モチベーションがあるなら車輪の再発明でも何でもやればいい。この話、すごく背中を押してくれた感じ。参加してたみんなもそうなんじゃないかなぁ。原田洋子さん英語が分からないから勉強してからとか、アメリカ遠いとかそういうこと考えないでとにかく行こう。行ってみて英語使わないと話せるようにならない。プログラミング言語と同じで、使わないと使えるようにならない。使えるようになってから使うとか考えてたらいつまで経っても出来ない。今回札幌にもかなり思い切って行ったのだけど、次はアメリカ行きたいなぁ。アンドリューグリムさん日本語は面白い言語という話。プログラミング言語であると。日本語は文法が簡単で、順序を変えずに単語を変えるだけで質問になる。英語だと順序が変わる。アンドリューさんは、一日目と二日目の懇親会への移動時に話しかけてくれたんだけど質問されて答える。会話が終わってしまう上に会話自体なかなか通じなくて、自分の英語のひどさを再自覚。原田さんのセッションでもあったとおり、勉強しようと思っててもしないのでもっと英語圏の人に関わって、使うようにしないなと思った。笹田さんRuby2.0の中身の話。Ruby2.0がどうなるかという話ではなく、Ruby2.0の機能をどうやってやるかの話。一応読んでるので大丈夫なはず。いっても、Flonumの話くらいしか理解出来ずだったけど。Ruby2.0は楽しみだなぁ。聞いててRubyのプロファイラとか作ってみたいと思った。Rubyによる本気のGCRubyでGCを作りたいけど、でもRuby自体のGCが影響してあれだしという悩みから色々なVMとかGCを調べて、JikesRVMというVMを使ってやってみたという話。実装したGC中に、実装言語のGCが走らないように対象言語のオブジェクトを作らないようにとかやってるうちに、「C死ね」から始まったのに結局Cを直接読んだりとか色々微妙になってしまったとのこと。言語処理系の実装の話が好きなので面白く聞けた。LTLTのところはメモがあんまり取れてないのでざっくり書きます。(LTはその場の臨場感を楽しむものだと思ってるので、集中して顔を上げて聞いてました。花火大会で花火の写真を撮らずに見るのと同じ)家計簿さなたろう。個人のプロダクトで奥さんと話し合いながら作った。うちも嫁さんから使いやすい家計簿が欲しいと言われてて、いま個人でやってるプロジェクトが落ち着いたら作ろうと思ってたので、じっくり参考にしたい思う。githubに公開されていたので早速フォークした。Rubyからxlsxを扱えるライブラリ。CSVなんて使うな、ユーザーはそんなもの使ってない。開発者の怠慢だってのがグサッときた。良いレビューは、「どこが悪いか」「なぜ悪いか」「どうすれば改善するか」を入れる。m9(^Д^)とか書いちゃ駄目。柴田さん自分のなかで、いま一番課題になってて悩んでる部分の話。ものすごく参考になった。いうか、これからガンガン参考にして今のプロジェクトの問題点をやっつけて行きたい。具体的にどういうツールを使っているかも聞けて、今回の中で個人的には一番聞けてよかった話だった。村田健太さんこれもまさに今の仕事での悩みの一つ。クックパッドのテスト、分散環境で10分以内に終わるようになったのは雑誌でも見てて実行時間が平均化するように振り分けているのがすごいんだけど、そこからさらに進んで、動的に振り分けてさらに効率良く平均化出来るように取り組んでいるとのこと。俺の前職の経験で、負荷が高い処理を複数サーバーに動的に振り分けるってのをちょっとやってたのもあってこの完成形が楽しみ。クックパッドはこういう成果を公開してくれて、ライブラリを出してくれたりして本当に仕事が助かってる。SmalltalkハンズオンまさかのSmalltalkハンズオン。Squeakによるもの。前に図書館で本を借りて読んだことあったんだけどSqueak面白くて、時間とって勉強しようとしてたので、つい参加した。言語というより、OSに近い環境そのものって感じ。スライドもSqueakの中で動いてた。このまえ「自由自在Squeakプログラミング」がpdfで配布されてるのを入手したのでそれも読んで色々とやってみたい。まとめ上記に書いたもの以外のセッションも聞いたりしたんだけど詳しくはスタッフのかたがレポートをまとめてくれているのでそちらを見るといいと思う。今回本当に楽しかった。3日間ものイベントであれだけの参加者でスタッフの方々はすごく大変だったと思う。こんなに楽しいイベントをやってくれてありがとうございます。自分の話を書くんだけど、すごくやってて良かったと思うのが「るびま編集」。これやってなかったら今回色々と話しした人の半分とも話せなかったかもしれない。(記事も書いて!!)岡山のRuby盛り上がるし、こういういい事あるよ!で、反省点はやっぱり「英語」。