Road To Nowhere

主にWebまわりのエンジニア的なお仕事に関するようなことのあれこれ。

rubykaigi2014に参加してきた(初日)

昨年に続いて今年もrubykaigiに参加してきた。費用(と時間)を出してくれた太っ腹な会社に感謝!

会場は船堀ということでちと遠い。だけど大ホールはかなりの収容人数。
そして角谷氏のさわやかなオープニングで幕開け!

CRuby Committers Who's Who in 2014

RubyKaigi 2014 | CRuby Committers Who's Who in 2014
今年一発目のセッションはこちら。
2013/6/1以降コミットしているアカウントは50あって、そのうち15人が今年のrubykaigiでスピーカーになっているとのこと。
まさに国産のプログラミング言語だなといった印象。
そして昨年も同じセッションで同じことを思ったんだけど、このコミッターさん達が労力を注ぎ込んで作り出した言語のおかげで僕らのサービスが動いていて、それによって僕らの仕事があって日々生きているわけで、本当に感謝しかない。
ありがとうございます。

Building the Ruby interpreter -- What is easy and what is difficult?

RubyKaigi 2014 | Building the Ruby interpreter -- What is easy and what is difficult?
次はYARVの作者である笹田さんのお話。まさに基調講演にふさわしい内容。
普段当たり前のように動かしているわけだけど、そのためにどれだけの苦労があったか。
色んなトレードオフがあるけどそれに打ち勝ってこそ!みたいな強いプロ意識にシビれた。
ruby遅いよね、とか言っちゃう人はちょっと一回体育館裏に呼び出したい気分。
またRGenGCだったりIncrementalGCだったり、今後ちょっと意識していきたいなと思った。

ランチ!!


本日はWantedly弁当。ごちそうさまでした!

Controller Testing: You’re Doing It Wrong

RubyKaigi 2014 | Controller Testing: You’re Doing It Wrong
午後一発目はこちら。いよいよ英語のセッション。幸いわかりやすい内容でよかった。
Controllerではdeclarative(宣言的)に書くべきで、当然テストもそのようにあるべきだと。
具体的にはlet、subject、shared_examples_forなどを使って、simpleに書こうといった内容。
他にも色々な示唆はあったんだろうけど、僕のヒアリング力ではこの程度の理解。
よいレポート見つけたら貼ります。

Eliminating Giant VM Lock in Ruby through Hardware Transactional Memory

RubyKaigi 2014 | Eliminating Giant VM Lock in Ruby through Hardware Transactional Memory
他会場でgithubの話が立ち見が出るくらい人気だったみたいだけど、あえて完全アウェーで門外漢のこちらのセッションを聞いた。
勉強不足でGVL(Giant VM Lock)もHTM(Hardware Transactional Memory)も全く存じ上げなくて、内容とほとんど理解できなかったんだけど、それもまたこういったカンファレンスの醍醐味。
普段目にせず耳にも入らなかった分野にたいして興味を持つきっかけになるというか。そして今後日々の情報収集のときにちょっと引っかかるようになるというか。
そういえば今年のタイムスケジュールを見て、なんとなく実践的な内容よりもアカデミック(マニアック?)なものが増えた印象。
これでいいと思います!

What's wrong with your app?

RubyKaigi 2014 | What's wrong with your app?
実践的なセッションが少ないといったそばから、次に聞いたこちらはだいぶ実践的な内容。
herokuを使ってる人にはかなりあるあるな内容だったと思う。(appがdownした原因の多くはあなたのappのに問題があるのがほとんど!的な。)
heroku初心者の僕にとっては、アドオンのnew Relic、loggin、Expensive Queriesなど耳寄りな情報だった。

Non-Linear Pattern Matching against Unfree Data Types in Ruby (Egison Pattern Matching in Ruby)

RubyKaigi 2014 | Non-Linear Pattern Matching against Unfree Data Types in Ruby (Egison Pattern Matching in Ruby)
次に聞いたのがコレ!これは本当に面白かった。
江木(えぎ)さんが作っているEgison(エギソン)というパターンマッチ志向のプログラミング言語のお話。
ポーカーや麻雀の役のパターンマッチを実際のコードを交えて解説。熱のあるセッションだった。
機会があればgemも試してみたい。(機会あるかな)

Hypermedia: the Missing Element to Building Adaptable Web APIs in Rails

RubyKaigi 2014 | Hypermedia: the Missing Element to Building Adaptable Web APIs in Rails
実践的なセッションが少ないとか言って申し訳ない。こちらも本当に実践的な内容だった。
変化に強いweb Apiを作るにはどうすればよいかという多くの人が避けては通れないテーマ。
twitterハッシュタグを追うと、みんなにとってもかなり評判の高いセッションだったようだ。
結論から言えば、web apiもwebアプリと同様にリンクとフォームもレスポンスに含めるべきだと。
これ多分ネイティブアプリを作った人は共感できるはずで、1画面で1apiというのが結局現実的な設計だということ通じるのかなと思う。
それからリンクやフォームも抽出してhtmlをjsonに変換するこちらのgemを作ったという流れが素晴らしかった。
https://github.com/tkawa/hypermicrodata


発表資料

他の方のレポート
【速報】RubyKaigi 2014レポ:Hypermedia: the Missing Element to Building Adaptable Web APIs in Rails | Engineers' Blog

"Gem of this Week" - building culture and making gem

RubyKaigi 2014 | "Gem of this Week" - building culture and making gem
というか、これもかなり実践的な内容じゃないか!
ドリコムでgemをカジュアルに作って開発効率をあげているノウハウの公開。
ビジネスロジックもプライベートなgemレポジトリに貯めておくというのはいいやり方だな。
gemをカジュアルに作れるgem(drecom_gem)や、他にも社内gemがいくつか紹介された。
僕ももうちょっとgem化意識しよう。


発表資料

他の方のレポート
【速報】RubyKaigi 2014レポ:”Gem of this Week” – building culture and making gem | Engineers' Blog

Ruby committers vs the World

RubyKaigi 2014 | Ruby Committers versus the World
初日最後のセッションはこちら。壇上に晒されるコミッター達!

このゆるゆるな雰囲気。いいと思います。
こちらメモはとってないのでレポートとかtogetter見つけたらまた追って貼ります。

初日終わり!

Partyは参加できなかったけど、明日はどんな話が聞けるか楽しみ!!