合同もくもく会」を開催しました。毎月開催しているので、これでちょうど半年になりました。Meetup」というミートアップイベントを開きました。今回はそのときの様子をレポートしてみます。今回のもくもく会は過去最多となる11人の方が参加してくれました。そのうちの約半分、5人の方が初参加の方でした。初参加の一人は、実は僕の同僚であるソニックガーデンの前田さん(@maedana)でした。夏の旅行中で、タイミングよく神戸を通りかかったので飛び込みで参加してもらいました。本当はソニックガーデンのもう一人のメンバーで、神戸出身のRubyistでもある松村CTO(@mat_aki)も参加する予定だったのですが、ちょっと都合が合わなくて残念ながら参加できませんでした。次また機会があればぜひ参加してほしいな~と思います。あと、関西弁をしゃべる妙な外国人(失礼)、Randyさん(@morgan_randy)も初参加してくれました。実はRandyさんは一年ぐらい前に東京の勉強会でお会いした方です。東京からわざわざ神戸まで来てくれたの!?と思ったんですが、今は京都に住んでいるそうです。東京の勉強会で出会った人と神戸で再会できるのは、ちょっと不思議な感じでした。ちなみに外国人というと、僕の前の会社の同僚だったマイケル(@maikeruhorando)も参加していたのですが、二人とも日本語がうますぎて全然違和感なく溶け込んでいたのがすごかったです(笑)。今回のもくもく会は助け合いというか、困っている人を他のメンバーがヘルプする光景がちょくちょく見られました。基本は「一人でもくもく」なのですが、いろんなRubyistが同じ場所に集まっているので、みんなお互いに知識を補完し合えるのはこの勉強会の良いところだと思います。みんなの学習テーマも相変わらず多彩で、Turnipを勉強する人、RubyMotion/ProMotionでiOSアプリを作る人、Redmineのプラグインを作る人、自分が開発しているGemのIssueを直す人、ActiveRecordのコードを解析しようとする人、画像のフーリエ変換にチャレンジしようとする人などなど、今回も良い意味でみんなバラバラのことをやっていました。1回の勉強会でこれだけ広範囲に渡る知識を吸収できるなんて、めっちゃお得な勉強会やん!と自分で自分の主催した勉強会に感謝してしまいます(苦笑)。メニュー簡単作成ツールさて、僕は何を作っていたのかというと、「妻のパン屋のその日のメニューを簡単に作成できるツール」です。毎週金曜と土曜の朝、Facebookページにその日のパンのメニューを公開しているんですが、これは妻がパンを作りながら口でしゃべったメニューを僕が聞き取り、その場でパチパチとパソコンに打ち込んで作っているものです。毎回そこそこの量をタイプしなければいけないので、あらかじめメニューを登録しておいて選択できればラクチンやん!というのが、このツールを作ろうと思った動機です。今回の勉強会ではFacebookのAPIを使って過去に投稿したメニューを吸い上げる、というRubyスクリプトを書いたりしていました。APIはほとんど使ったことがなかったのですが、ネットを調べたりしてだいたい思った通りの動きをするスクリプトが作れました。ここで吸い上げたテキストをいい感じに変換して商品マスタにメニュー情報を流し込めば、過去に販売したパンは最初からデータベースに登録された状態になっている、という算段です。ちなみにそのときのスクリプトはこんな感じです。GitHub勉強会のあともコードを書いたりして、バージョン1.0と呼んでも良さそうなレベルのツールが作れました。実際に使い始めています。狙い通り、朝のメニュー作成がずっと簡単になりました。会も良い勉強会のスタイルなのですが、弱点もあります。スケールさせるのが難しく、コードレビューの時間が延びてしまうため、どうしても人数をたくさん増やせないのです(10人ぐらいが限界)。その場でコードを書くということに自信がない人や興味がない人も参加してもらえません。会だけでは神戸近辺のRubyistとの交流が制限されてしまうため、いろんな人がもっと気軽に集まって、横のつながりを増やせるようなイベントをやってみよう!というのがこのイベントの趣旨です。こちらのイベントには15人の方が参加してくれました。東灘.rbのもくもく会に来たことがない、初めてお会いする方々でした。いうイベントを開催するのは初めてだったのでどうなるか不安でしたが、思った以上に盛り上がり、ひとまず大成功だったかなと思います。「これでまだ中級?」とみんなが驚いた「中級正規表現」なかでも好評だったのは京都大学で数学の研究員をされている大林さん(@_ohai)の「中級正規表現」という発表でした。正規表現エンジンの原理をわかりやすく説明し、効率的な正規表現と非効率な正規表現の違いや、普段あまり見慣れない最小量指定子の使い方なども説明してくれました。そのときの発表資料はこちらにあります。中級正規表現.pdfRailsコントリビュータに直接質問できる贅沢なMeetupもくもく会でActiveRecordの解析をしていた西田さん(@sutetotanuki)は、意味が理解できなかったActiveRecordのコードをMeetupに参加してくれた梶原さん(@kennyj_jp)に質問していました。梶原さんは有名なRailsコントリビュータで、とりわけActiveRecord関連の改善に力を注いできた方です。西田さんが質問したコードは梶原さんも「ActiveRecord七不思議」と呼ぶほど謎なコードで、その場では明確な答えが出てこなかったのですが、Meetupが開催されたその日の晩にご自身のブログでそのコードを解説してくれました。何をしているか?失礼ながら関西にこんなすごいRailsコントリビュータの方がいらっしゃったとは知りませんでした。Meetupでこういう出会いがあったのはとても嬉しかったです。iOSアプリをメインで開発している方とも出会えた個人的には「iOSアプリ開発がメイン、Rubyはこれから」とおっしゃるみやけさん(@ryo_ryoo_ryooo)との雑談が興味深かったです。iOSアプリの開発って昔から興味はあるんですがまだ未着手で、自分の周りにもバリバリのiOSプログラマです!という人がいないため、「興味はあるけど詳しいことはよくわからない世界」でした。このMeetupでiOS関連の方ともつながりができたので、少し心強い気分になれました。Meetupも非常に中身の濃いイベントになりました。このイベントも数ヶ月おきに開いていきたいね、とAkiさんとしゃべっています。興味がある方はDoorkeeperのコミュニティページからメールアドレスを登録してもらえると嬉しいです。東灘.rbで勉強会を開きます。なんと今回は「もくもく会」以外のテーマで勉強会を開催します。Action」です!以前からAkiさんや参加メンバーのみなさんと「ペアプロとかやってみても面白いんじゃない?」という話をちょくちょくしていました。会は半年続けたので、ちょっとここらで新しい試みをやってみようということになり、この勉強会を開催することになりました。勉強会の内容としては、お題となるプログラミング問題をペアで解き、もくもく会と同様、みんなでコードレビューするというものです。ペアプロになっても「自分の手と頭を使ってコードを書く」「お互いのコードをレビューして、互いに切磋琢磨する」というコンセプトはキープしています。今回は西脇に近い、兵庫県小野市での開催ですさらに今回は初めて海沿いではなく山側、つまり西脇寄りの会場で開催します。本当は西脇で開きたかったのですが、ちょうどいい会場が見つからなかったため、西脇にちょっと近い兵庫県小野市で開催します。こんな田舎で人が集まるのか?みんな遅れずに集合できるのか?という不安は多少ありますが、これも一つのチャレンジです。これまで西脇近辺の参加者はほとんどいない、というか僕とマイケルだけなので、もうちょっと西側や山側の人たちが来てくれたらな~とも思います。申込みページhttp://nishiwaki-higashinadarb.doorkeeper.jp/events/5734こんなキレイな会場ですもちろん、Rubyに興味のある方なら誰でも参加可能ですので、Ruby初心者やペアプロ未経験者の方もお気軽にご参加下さい。Meetupに参加してくれたメンバーの参加レポートです。