東京Ruby会議10へ行って来ました!
ということで、本レポートを機にブログを始めてみました。 よろしくお願いします。
経緯
@hokkai7goの影響でRubyを知り、仕事の合間にちょこちょこ勉強して数ヶ月。 やってみるとRubyの世界はとても衝撃的で、すぐに好きな言語になりました。
で、たのしい開発 スタートアップRubyを読んだわけです。 普段仕事でSIerをしている身としては、Rubyコミュニティの雰囲気はとってもいいなあと思ったのでした。
働き出してから1年半、仕事についてずっとモヤモヤし続けているのもあり、コミュニティの中に入って、色んな人と話してみたい。 でも新潟に住んでいると、近くにRubyコミュニティがない! ないなら行けばいいじゃない、ということで、東京まで参じた次第です。
というわけで、この記事では、2日間の東京Ruby会議10の内容を自分なりにレポートします。 全部はレポートできませんでしたが、すべての発表を楽しませていただきました。
以下、基本メモった内容をまとめています。間違っていたらすみません。
1日目
井原正博さん「Rubyと過ごした半年間」
みんなのカフェは井原さんが一人でRailsで作られていた。 勉強の際は、Rails Guids、Rails Tutorial、Code School、Rails Castsなどを主に活用されたとのこと。 一人PivotalTrackerや一人CIで開発を進めていったそうです。
- 「Life is short、やりたいことをやりましょう」
- 「今作りたいものがあるなら作ってみましょう。僕らはコードが書ける」
というのは本当だなあ。
あと、実はみんなのカフェの投稿の承認は(夜中でも)一人で行なっていたそうです。びっくりです。
takkanmさん「やさしいRails勉強会@東京のつづけ方」
2005年11月から続くRails勉強会@東京の主催を引き継ぎ、三年間どうやって続けられているか、というお話。
楽しい事ばかりでなく、問題が重なってきた時「続けても楽しくない」と思ったこともあったそうです。 でも、「続けたい」という思いから、takkanmさん自身がどう行動したかのお話がありました。 大事なのは、なぜはじめたのかをふりかえること、やりたいことをやるということ、楽しめていなければやめてしまうこと。
私は社内勉強会をはじめたばかりなので、長く勉強会を続けられたtakkanmさんの視点からのお話がとても参考になりました。
蓮尾高志さん「周囲の助けを得ながら楽しく開発するためのアレコレ」
https://speakerdeck.com/hassaku/tokyorubykaigi10
Rubyを使った日々のちょっとした工夫によって、たのしい開発を実現している、というお話。
ちょっとした工夫、ということですが、アイデアも実行力もすごいなあと思いました。
- ペア作業の際、別々のマシンで同じ作業をするために、wemux、vagrantを使用
- メンバーの特性を客観的に見える化するために、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さん「PHP と Ruby の架け橋」
http://www.slideshare.net/do_aki/a-bridge-between-php-and-ruby
PHP上でRubyが動くphp-ext-rubyと、Ruby上でPHPが動くphp_embedという用途不明の凄まじいお話。
処理系拡張ということで、実装の内部はあんまり理解できず…さらに途中からPHPとRubyが混ざって混乱したけど、何とも奇妙で楽しかったです。
理論上は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
ひとり開発の大変さと、それを解決する仕組みづくりのお話。
ひとりで開発すると、技術情報が入ってこない、相談できない、レビューして貰う人がいないという問題があるとのこと。 カンファレンスや勉強会に行ってやる気は付けられるけど、やる気はあてにならない。 だから勝手に意識が高まっていく仕組みを作るのが大事! というのはまさに、と思いました。
オンラインではCodeTriage、starseeker、Qiitaをおすすめされていました。 また、オフラインでは勉強会に行かざるを得ない状況を作ることや、ハッカソンがおすすめとのこと。
ハッカソンやってみたいなあ。まずは社内で小さいの開いてみようかな。
前島真一さん「ブログのススメ」
https://speakerdeck.com/willnet/burogufalsesusume
日本人の技術ブログ少なすぎ、書くと良いことあるよ、というお話。
特にここ2~3年、某鳥さんの影響か、ブログが減ってきた。 ブログを書くと良い点として、以下の点をあげられていました。
- もう一歩踏み出せる
- 頭のなかを書き出すことで、考えが整理される
- 他の人の目に触れるとこに置くことで、あやふやなことを調べ、はっきりさせられる
- たまにアドバイスが貰える
- ブクマがもらえたりして嬉しい
- 勉強会等で声をかけてもらったりして、ぼっちを回避できる
でもブログを書き続けるって、モチベーションを保つのが大変。 そのためには、書くための敷居を下げ、習慣づけるための仕組みづくりが大事とのこと。
- 途中でも良いから力尽きた時点で公開
- リズムを付けて習慣づける
- メモ用のブログを作ることでクオリティ低下を回避できる
- アクセス数を常に見えるようにしておく
- ずっとブログ更新しないと数値下がるので、更新するためのリマインダになる
- 自分の書きたいものを書く
- 読者が求めていることは、基本気にしない
私もこのブログ続けられるよう意識したい。
その他企画
バッジ集め
4種類のバッジを交換して集めようという企画。 黒バッジがなくて全種集められなかったけど、休み時間の合間に楽しめました。 隣の方に話しかけるためのきっかけにもなり助かりました。
アンチぼっちランチ/ディナー
ぼっちの人で集まって、4人グループで飯食べに行きましょーという企画です。 これはとても良かった。ぼっちは心細いのです。 ご飯のたびに毎回参加しました。色んな人と知り合え、お話できて嬉しかった。
まとめ
Ruby初心者だけあって理解できない部分も多々ありましたが、この二日間で色んなことを学べ、いろんな人と話すことができました。話す人みんながすごくて、私も頑張らなきゃだなーと思いました。 Ruby会議、良いものですね。
また、降雪のため2日目は途中で打ち切りとなりましたが、その後の混乱を考えると、早い決断により助かりました。聞けなかった発表はとても残念ですが、今度の機会の楽しみにします。
最後に、まとめレポートを書いてみてよかったです。 聞いただけだと忘れてしまっていたことも結構あって、まとめる上で思い出したり、調べたりしてより深く理解できました。 前島さんの言ってた、ブログを書こうって意味がやってみて実感できました。
以上、長くなりましたが、東京Ruby会議10のレポートでした。
関係ないですが、はてなブログってMarkdownでかけるので良いですね。