RubyKaigi 2016(2日目)
2日目
9/9は救急の日
Fearlessly Refactoring Legacy Code / @searls
refactoringするためにsutureというgemを作った話。
gem install suture
でinstallできる。
GitHub - testdouble/suture: 🏥 A Ruby gem that helps you refactor your legacy code
なんだか便利そうなgemだと思った!
Pure functinはテストしやすいが、Mutation(内部変数で状態をもつ物)だとUnitTestしにくいからPure fuunctionにしろというう話も合った。
例えばfunc(1, 2)の結果は何回呼んでも3になるみたいな。
読み方はサールズさん。発音しにくいと思うのでジュースと呼んでくださいとのこと。
なんでジュースなのかわからんかった。
How to create bindings 2016 / @ktou
C拡張のbindingの話。
bindingにはいくつかの方法があるけど、GI(GObject Introspection)の方法がオススメとのこと。
簡単にbindingできて、ブラウザとして機能したり、キャプチャした画像がみれたりする。
nodeのPhantom.jsとかnightmareとかみたいなクローラに使えそうな気がする!
How DSL works on Ruby / @hsbt
ruby/rakeの話。rake 11, 12の話があった。
私はrakeはビルドするときくらいしか使ってなかったんですけど、
テストのワークフローもrakeで書くもんなんですね。いつか使うかな。
Lunch Break
Ruby3x3とかかってなく2x3だった。
外でぼっち飯したけど日差し強くて暑かった・・
Learn Programming Essence from Ruby paches / @takkanm
rubyのpatchから実装を学ぶ方法を教えていただけました。
私のような初心者には実に丁度よかった。
中で紹介のあった、RubyKaigi 2014 やきとりいさんのルビィノススメを帰ってから見たのですが rubyの実装を勉強したい初心者の方にはマジオススメです。
Web Server Concurrency Architecture / @wyhaines
web serverのConcurrencyについての紹介。
個々のarchの良し悪しを説明してくださいました。
- simple blocking server
- ロードバランサー + simple blocking servers
- multi threading
- event driven
たぶんここまで一般論だと思います。C10K問題については触れられてなかったかな?
あとScrawlsというgemの紹介。
gem install scrawls
でsimpleなweb serverが試せる
GitHub - wyhaines/scrawls: A Simple Ruby Web Server
Afternoon Break
お菓子がデプロイされてたけどお腹いっぱいで食べられなかった。
Building maintainable command-line tools with mruby / @drbrain
https://speakerdeck.com/drbrain/building-maintainable-command-line-tools-with-mruby
mruby, mruby-cliを使って色々したいけど、クロスコンパイルが必要で面倒なので、
dockerを使うことで簡単にmruby環境を作るという話だったと思います。
rack compile
だけでよいとか。楽しみ。
Modern Black Mages Fighting in the Real World / @hsbt
fluentd 0.12から互換性を残したまま0.14でリファクタするという話。
互換性を残すために、
- singleton class
prepend
- singleton class の#prepend
といった手を駆使して魔術的に解決したという話。
流れがはやくて理解追いつかなかった。。あとこの複雑な構造を、よく図示できるなーと思った。
あの能力ほしいですね。
SciRuby Machine Learning Current Status and Future / @mrkn
Rubyでも機械学習しよう!ということでSciRubyという物を考えられている。
PythonのScikit-learnというframework?をベタ褒めされていて、これを模倣していこうという感じみたい。
Rubyではまだまだ必要な物がたりず、コントリ者絶賛募集中らしい。
Rubyで車輪の再開発しただけにならないかが肝っぽい。
その他
夜は京都駅近くの天下一品行ってラーメンたべた。ドロドロでたまに食べたくなりますよねこれ