ワナビーエンジニアのブログ

なんでもいいから文化的な生活を送りたい

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

https://t.co/N3cdrLtzVp

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の実装を勉強したい初心者の方にはマジオススメです。

rubykaigi.org


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で車輪の再開発しただけにならないかが肝っぽい。


その他

夜は京都駅近くの天下一品行ってラーメンたべた。ドロドロでたまに食べたくなりますよねこれ