upinetree's memo

Web系技術の話題や日常について。

東京Ruby会議10へ行って来ました!

ということで、本レポートを機にブログを始めてみました。 よろしくお願いします。

経緯

@hokkai7goの影響でRubyを知り、仕事の合間にちょこちょこ勉強して数ヶ月。 やってみるとRubyの世界はとても衝撃的で、すぐに好きな言語になりました。

で、たのしい開発 スタートアップRubyを読んだわけです。 普段仕事でSIerをしている身としては、Rubyコミュニティの雰囲気はとってもいいなあと思ったのでした。

働き出してから1年半、仕事についてずっとモヤモヤし続けているのもあり、コミュニティの中に入って、色んな人と話してみたい。 でも新潟に住んでいると、近くにRubyコミュニティがない! ないなら行けばいいじゃない、ということで、東京まで参じた次第です。

というわけで、この記事では、2日間の東京Ruby会議10の内容を自分なりにレポートします。 全部はレポートできませんでしたが、すべての発表を楽しませていただきました。

以下、基本メモった内容をまとめています。間違っていたらすみません。

1日目

井原正博さん「Rubyと過ごした半年間」

Cookpadみんなのカフェを作ったよというお話。

みんなのカフェは井原さんが一人でRailsで作られていた。 勉強の際は、Rails GuidsRails TutorialCode SchoolRails Castsなどを主に活用されたとのこと。 一人PivotalTrackerや一人CIで開発を進めていったそうです。

  • 「Life is short、やりたいことをやりましょう」
  • 「今作りたいものがあるなら作ってみましょう。僕らはコードが書ける」

というのは本当だなあ。

あと、実はみんなのカフェの投稿の承認は(夜中でも)一人で行なっていたそうです。びっくりです。

takkanmさん「やさしいRails勉強会@東京のつづけ方」

2005年11月から続くRails勉強会@東京の主催を引き継ぎ、三年間どうやって続けられているか、というお話。

楽しい事ばかりでなく、問題が重なってきた時「続けても楽しくない」と思ったこともあったそうです。 でも、「続けたい」という思いから、takkanmさん自身がどう行動したかのお話がありました。 大事なのは、なぜはじめたのかをふりかえること、やりたいことをやるということ、楽しめていなければやめてしまうこと。

私は社内勉強会をはじめたばかりなので、長く勉強会を続けられたtakkanmさんの視点からのお話がとても参考になりました。

蓮尾高志さん「周囲の助けを得ながら楽しく開発するためのアレコレ」

https://speakerdeck.com/hassaku/tokyorubykaigi10

Rubyを使った日々のちょっとした工夫によって、たのしい開発を実現している、というお話。

ちょっとした工夫、ということですが、アイデアも実行力もすごいなあと思いました。

  • ペア作業の際、別々のマシンで同じ作業をするために、wemuxvagrantを使用
  • メンバーの特性を客観的に見える化するために、Leafyのログを解析
  • ペア作業の際、緊張状態をさり気なくアピールするために、CapsLockのLEDに脈拍を表示
    • フリスクの箱に仕込んだマイコン(STM32?)から、赤外線センサで血液中のヘモグロビン変化さり気なく測定
    • wemux使ってる時はプロンプト上にも表示

特に3のフリスク箱を開けた瞬間、会場大ウケでした。

こうした工夫から、チームで助けを得るための敷居を下げられ、より楽しく仕事が出来るようになったそうです。 楽しんでやるっていいですよね。

中村 涼さん「The Everything Machine」

https://speakerdeck.com/r7kamura/the-everything-machine

Rubyで日常の問題を解決しよう、そのためにいろいろ作ったよ、というお話。

日常の問題を解決しているうちに、部屋中の家電をすべて自動化してしまったと聞いて驚きでした。

  • 朝起きられない → テレビ、エアコン自動起動。カーテンもarduinoで自動に開く。(iremocon.gem)
  • 帰宅時寒い → 帰宅時の位置情報+帰宅ツイートでエアコン作動(chatroid.gem)
  • 消灯が面倒 → 位置情報で自動消灯。iSightで室内撮影し、消灯確認(imagesnap.gem)
  • アニメ情報が知りたい → cal.syoboi.jpパーサ(syoboi_calender.gem)
  • 綺麗なコード書きたい → コーディング規約、良くないパターンのチェック(guidline.gem)
  • 綺麗なコードを書くモチベーション維持 → コード状態の遷移、貢献度を可視化(code_hunter.gem)

これらを、一つ20時間くらいで作ってしまうそうです。すごい。

河野 誠さん「日本酒評価サイトとxDD」

本業ではない開発を続ける際に問題となることについて、その対処法xDDのお話。

  • ADD = Alcohol Driven Devlopment
  • BDD = Beer Driven Devlopment
  • WDD = Wine Driven Devlopment
  • NDD = Namahamu Driven Devlopment

...

勢い大事!

  • CDD = Community Driven Devlopment
    • コミュニティには自分の知らないことを知っている人がいて、作ったものに反応してくれる人もいる。
    • なければ作ろう。もう一人仲間がいれば継続できる。継続すれば、気の合う仲間ができる。

前半のxDDとは打って変わって、意表を突かれた話でとても印象に残りました。ずるい。

夕飯では早速NDDを実践し、黒Ruby会議へ勢いつけました:D

塩谷 啓さん「Padrino in Production」

https://speakerdeck.com/kwappa/padrino-in-production

Padrinoの紹介と、dwango mobileでのPadrinoを使った開発のお話。

music.dwango.jp、music.animelo.jp、music.dwango.jp/melodyでは、PadrinoでそれぞれサイトのURL識別子で区別し、同じサブアプリを使いまわしていました。 このPadrinoのサブアプリの仕組みすごい。

Padrinoのメリットはこの仕組と、軽さ、拡張性。デメリットは情報が少ないこと、クラス名の衝突が多いこと、エンジニアが少ないこと、とのこと。 Railsと適材適所で使うことが大事とのことでした。

do_akiさん「PHPRuby の架け橋」

http://www.slideshare.net/do_aki/a-bridge-between-php-and-ruby

PHP上でRubyが動くphp-ext-rubyと、Ruby上でPHPが動くphp_embedという用途不明の凄まじいお話。

処理系拡張ということで、実装の内部はあんまり理解できず…さらに途中からPHPRubyが混ざって混乱したけど、何とも奇妙で楽しかったです。

理論上はPHP上で書いたRuby上でPHPを動かすということもできるみたいで、戦慄を覚えました。

Ruby会議

とても、面白かったです((((;゚Д゚)))) 予想以上に黒かった。

2日目

まつもとゆきひろさん「How to change the world」

2日目最初は、Rubyのパパまつもとさんの基調講演です。 20年間ずっとモチベーションを保って続けられたことで、世界をちょっと変えられた、というお話。

Rubyが世界で成功した背景には、適切なタイミングでRubyをリリースしたことと、モチベーションを保って続けてきたことがあると分析されていました。 色んな人がフィードバックをくれ、ちょっとずつ改善し、評価され、更にモチベーションが上がる、という良いサイクルを続けられたとのこと。

とはいえ20年というのはすごい。 私も、小さなことから、楽しみながら色々挑戦して行きたいと思いました。

曽我部 崇さん「軽量Rubyで実現する柔軟なルータ -SEILへの軽量Rubyの組み込み- 」

http://www.slideshare.net/takashisogabe/tokyo-ruby-kaigi-10-sogabe

mrubyで柔軟に動くルータを作っている、というお話でした。

電力消費量をツイートする機能や、監視異常をトリガとしてログ等をS3上にアップする機能をルータに組み込んでいました。 ユーザが書いたmrubyスクリプトにより柔軟に機能を追加できるそうです。

mrubyのgemであるmrbgemのお話や、Apacheのmoduleに組み込むmod_mruby、iOSアプリに組み込むMobiRuby等のお話も興味深かったです。 mrubyはフロンティアであり、今はまだコントリビュートできることがたくさんあるそうです。 色んなものがRubyで書けるとなるとわくわくしますね。

yaottiさん「Sole Rubyist's Fight」

https://speakerdeck.com/yaotti/sole-rubyists-fight

ひとり開発の大変さと、それを解決する仕組みづくりのお話。

ひとりで開発すると、技術情報が入ってこない、相談できない、レビューして貰う人がいないという問題があるとのこと。 カンファレンスや勉強会に行ってやる気は付けられるけど、やる気はあてにならない。 だから勝手に意識が高まっていく仕組みを作るのが大事! というのはまさに、と思いました。

オンラインではCodeTriagestarseekerQiitaをおすすめされていました。 また、オフラインでは勉強会に行かざるを得ない状況を作ることや、ハッカソンがおすすめとのこと。

ハッカソンやってみたいなあ。まずは社内で小さいの開いてみようかな。

前島真一さん「ブログのススメ」

https://speakerdeck.com/willnet/burogufalsesusume

日本人の技術ブログ少なすぎ、書くと良いことあるよ、というお話。

特にここ2~3年、某鳥さんの影響か、ブログが減ってきた。 ブログを書くと良い点として、以下の点をあげられていました。

  • もう一歩踏み出せる
    • 頭のなかを書き出すことで、考えが整理される
    • 他の人の目に触れるとこに置くことで、あやふやなことを調べ、はっきりさせられる
  • たまにアドバイスが貰える
  • ブクマがもらえたりして嬉しい
  • 勉強会等で声をかけてもらったりして、ぼっちを回避できる

でもブログを書き続けるって、モチベーションを保つのが大変。 そのためには、書くための敷居を下げ、習慣づけるための仕組みづくりが大事とのこと。

  • 途中でも良いから力尽きた時点で公開
    • リズムを付けて習慣づける
    • メモ用のブログを作ることでクオリティ低下を回避できる
  • アクセス数を常に見えるようにしておく
    • ずっとブログ更新しないと数値下がるので、更新するためのリマインダになる
  • 自分の書きたいものを書く
    • 読者が求めていることは、基本気にしない

私もこのブログ続けられるよう意識したい。

その他企画

バッジ集め

4種類のバッジを交換して集めようという企画。 黒バッジがなくて全種集められなかったけど、休み時間の合間に楽しめました。 隣の方に話しかけるためのきっかけにもなり助かりました。

アンチぼっちランチ/ディナー

ぼっちの人で集まって、4人グループで飯食べに行きましょーという企画です。 これはとても良かった。ぼっちは心細いのです。 ご飯のたびに毎回参加しました。色んな人と知り合え、お話できて嬉しかった。

まとめ

Ruby初心者だけあって理解できない部分も多々ありましたが、この二日間で色んなことを学べ、いろんな人と話すことができました。話す人みんながすごくて、私も頑張らなきゃだなーと思いました。 Ruby会議、良いものですね。

また、降雪のため2日目は途中で打ち切りとなりましたが、その後の混乱を考えると、早い決断により助かりました。聞けなかった発表はとても残念ですが、今度の機会の楽しみにします。

最後に、まとめレポートを書いてみてよかったです。 聞いただけだと忘れてしまっていたことも結構あって、まとめる上で思い出したり、調べたりしてより深く理解できました。 前島さんの言ってた、ブログを書こうって意味がやってみて実感できました。

以上、長くなりましたが、東京Ruby会議10のレポートでした。

関係ないですが、はてなブログってMarkdownでかけるので良いですね。