Road To Nowhere

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

rubykaigi2014に参加してきた(二日目!)

いつもより30分早く子供達を保育園に預けて船堀へ。
やはり遠い。けどギリギリ9:30からのMatz氏のkeynoteに間に合った!

Coming soon...

RubyKaigi 2014 | Coming soon...
タイムスケジュールではセッションのタイトルがcoming soonだったけど、まさかのそのままのタイトル。
未来の話、ruby3の話をしようという内容。
Static Typingに関する話は実際興味深いんだけど、他の言語では実装されているのが悔しいとか、実際なくても困らないんだよねとか。やっぱりDuck Typingに反するしなぁとか、業務でrubyを使ってる人にとってはけっこう重要な話だと思うんだけど、なんだかとても微笑ましい。
Matz氏はこういう技術的なはなしを分かりやすく、楽しそうに話す。そして聞く方も楽しくなる。
ruby3でどういった実装がなされるかというよりも、Matz氏の人をワクワクさせる力というか、カリスマ性というか、そういう方に意識がいってしまった。よいセッションだった。

Extreme Makeover: Rubygems Edition

RubyKaigi 2014 | Extreme Makeover: Rubygems Edition
次は英語のセッション。bundlerのコミッターとのこと。
僕の英語力では話の半分どころかその半分も理解できていないと思うけど、実はgem installがパラレルで動かせるとか、RubyGems.orgのミラーが東京にあるとか、有益な情報をゲット。
英語が得意じゃない人にとってはrubykaigiってちょっと敷居高いのも分かるけど、ちょっと頑張ってみるといいと思うなー。

Archeology of Ruby: Removed Features (Ruby 考古学 機能編)

RubyKaigi 2014 | Archeology of Ruby: Removed Features (Ruby 考古学 消された機能編)
前日のコミッター紹介のセッションでMr.typoと呼ばれていた古くからのコミッターNISHIYAMA氏のセッション。
一度導入されたけど消えてしまった機能や、開発版にのみ入った機能などの紹介。
File.exist?(File.exists?は非推奨)の話とか、かなりトリビアな他所では聞けない感じの内容で面白かった。
こういう話って業務に活かせるような実践的な話ではないんだけど、こういう経緯を知ることでrubyがまたちょっと身近になった気がする。

<%= link_to "bundle", "update" %> - Make "bundle update" more fun to review

RubyKaigi 2014 | <%= link_to "bundle", "update" %> - Make "bundle update" more fun to review
午前中最後のセッションは@さん。
昨年もbundle updateに関する発表をされていてすごく印象的だったので今回も楽しみにしていた。
ざっと昨年の発表をおさらいすると、bundle updateを自動化するための試みで、jenkinsさんがgemの更新をチェックして、更新があればbundle updateを行い、テストが通れば自動でpull requestするようにしたと。
今回はGemfile.lockの差分だけではpull request時のレビューとして不十分なので、compare linkerという仕組みを作ったというお話。
compare linker
https://github.com/kyanny/compare_linker
具体的にはjenkinsさんのpull requestのコメントに、差分があったgemの差分を見ることができるurl(Github上)をpostするというもの。
Githubで公開していないもの(rails本体など)には対応できす、あまり成功ではなかったということだけど、
Gemのメタ情報としてgithub.comのリポジトリの URL が設定されていない gem がいくつかあり(具体的には rails に含まれている active_record など)、それらの対応が未だ不十分で、あまり成功ではなかったということだけど、こういうアイデアを思いついて実践するところが本当に素晴らしいと思う。感動。
僕の中では今のところベストセッション。


発表資料

ご本人による解説
Speaker としての #rubykaigi 2014 を終えて - @kyanny's blog

ランチ!

今日はheroku弁当。

ごちそうさまでした!

MRuby as Development Platform for Payments

RubyKaigi 2014 | MRuby as Development Platform for Payments
午後イチはブラジルとコロンビアの方のmrubyを決済(POSシステム端末)に採用したおはなし。
mrubyをはじめwebruny、emscriptenなどふだん使うことのない技術が紹介されてとても興味深かった。
POS端末エミュレータでのdemoもよかった。
なんかmrubyってすごいんじゃないか。

Open the door of embedded systems to IoT! mruby on LEGO Mindstorms EV3 ®

RubyKaigi 2014 | Open the door of embedded systems to IoT! mruby on LEGO Mindstorms EV3 ®
そして次もmruby!
レゴマインドストームをmrubyで制御するというおはなしとデモ。
レゴマインドストームEV3
http://education.lego.com/ja-jp/preschool-and-school/secondary/mindstorms-education-ev3
mrubyって軽量rubyとしてしかイメージなかったんだけど、最近デバイスにも興味がでてきた僕には注目せざるをえない展開。

拍手すると音に反応して神主(Matz?)が現れるruby神社。
これはヤバい。楽しい。すごいぞmruby。

Scalable deployments - How we deploy Rails app to 100+ hosts in a minute

RubyKaigi 2014 | Scalable deployments - How we deploy Rails app to 100+ hosts in a minute
次はクックパッドのsora_h氏のデプロイに関するセッション。
クックパッドほどの規模になると、モデルが1530、サーバが140、そして1日に10回デプロイするとのこと。
そしてsshボトルネックなってデプロイに失敗するケースがあったのをmamiyaというツールを自作して改善したというお話。
mamiya
https://github.com/sorah/mamiya
いつかうちもこんな課題に直面するくらい規模の大きいサービスになるといいな!

7 years of Ruby & Rails with the same web site

RubyKaigi 2014 | 7 years of Ruby & Rails with the same web site
iKnow以前よくやってたなー。あれからもう7年もたつのかと思いながら聞いていたセッション。
7年も同じサービスやってると色々ツラい部分が出てくる。マジで他人事じゃない。
570万行コードを書いたのに対して330万行のコードを消したというところでは場内から拍手が。
iKnow(smart.fmだっけ?)、これからも頑張ってほしい。

Kids, Ruby, Fun!: Introduction of the Smalruby and the Ruby Programming Shounendan

RubyKaigi 2014 | Kids, Ruby, Fun!: Introduction of the Smalruby and the Ruby Programming Shounendan
そして次!Smalruby!
子供用のプログラミング教育ソフトウェアなんだけど、画面はScratch風のインターフェース。
ロジックをブロックで組み立てて、裏ではrubyのコードを組み立てていて実行できるというもの。
しかしただのscratchのruby版ではなくて、僕が惚れたのはその哲学。
子供のプログラミング教育において、ロジカル思考や創造性を養うということに重きが置かれているんだけど、Smalrubyではプログラミングそのものを好きになって欲しいと。
なので労力をかけて、ロジックのブロックとrubyコードの相互変換の機能を実装したとのこと。
実際プログラミングに興味を持った子供達はブロックではなくコードを書き始めるらしい。
5才の息子とやってみる!


他の方のレポート
【速報】RubyKaigi 2014レポ:Kids, Ruby, Fun!: Introduction of the Smalruby and the Ruby Programming Shounendan | Engineers' Blog

Lightning Talks

RubyKaigi 2014 | Lightning Talks
最後のセッションはライトニングトーク。
どれも特徴があって面白かったけど気になったものだけいくつかピックアップしてみる。
iPhoneでルビーを書いて実行もできるofRubyというアプリは面白そうだったな。デモもよかった。試してみよう。
そしてSwitch_point。これはちょうど今の業務で抱えている課題を克服できそうな感じでタイムリー。要検証。クックパッドで既に実績があるのも強み。
そしてRspec2.99(&Transpec)。こちら実際業務でお世話になった仕組みなのでお話聞けてよかった。しかもそれがきっかけでRspecコアチームにjoinしたとか本当いい話だなー。

二日目終わり!

さて明日は最終日。午前中から興味あるセッションばかりなので楽しみ。
そして、もし運営スタッフのかたがこのブログを見ることがあるかもしれないので一言。
あと一日!頑張ってください!