Rails勉強会@東京に参加しました

子供を連れてきてうるさくしていたのが私です…本当にすみませんでした…

もうちょっと持つかなぁと思ったのですが、子供1人は無理ですね。次回はみんな子供を連れてくればいいのでは?(ごめんなさい)

参加したセッションは、「Rails Engine」と「テストについて」の2つでした。

Rails Engine

Rails Engineについて一家言あるような人はいなかったので、RAILSCAST #277 Mountable Enginesを淡々を写経しながら議論していました。

Q. EngineにするのとRailtieを継承したクラスを作ることの違いは?

EngineはRailtieを継承している。そして、EngineになるとRackのミドルウェアになる。 なので、Generatorを拡張するようなものはEngineにせずにRailtieを継承して作るのもあり。

Q. assetsの下が他のEngineのassetsに影響したりしないの?

明示的に読みこまない限りない。たとえば、RailsAdminはbootstrapを使っているけど、それがRailsアプリケーションに影響を与えたら大変なことになる (今はアプリケーション自体もEngineとして動作している)

Q. exception_handler.rb のファイルパスが間違ってますよね?

ascii castの日本語版だと間違ってるみたいです。あと、ファイルの中の改行もそのままだとsyntax errorなので一行に書きましょう。 (原文では正しくなってます)

おまけ

Engineをrails newしたあと、.gitignoreにGemfile.lockが足されていたほうがいいような気がするんですがどうなんでしょ。

テストについて

だいたいmoroへの質問コーナーになってしまっていて、もうちょっとやりようがあるんじゃないかなぁと思ったのでした。

まとめ

実は初参加だったのですが、勉強会らしい勉強会に久し振りに参加したような気がします。 進行役 & 会場係の@takkanmありがとうございました。

Jenkins Plugin(JRuby)の勉強会をしました

昨年から細々と続けている社内勉強会の60分一本勝負で、(デブサミで川口さんとnahiさんからいろいろ聞いてきた)hsbtにJenkinsプラグインをJRubyで書く方法について教えてもらいました。

私はそもそもJavaが入ってなかったので次のような感じでいろいろ入れるところからスタート。

最後に入れているjpiがJRubyでJenkins Pluginを作るためのgemだそうな。

手順としては、

jpi new hogehgoeで雛形を生成 jpi generate hogehoge fugafugaとしてできたファイルを編集 jpi buildでパッケージング jpi serverで作ったプラグインが入ったJenkinsが起動

という感じで、generate hogehogeがけっこう肝な感じでした。

Generatorは、いまのところ次の6つがあるんですが、後半はhsbtもよくわからないとのこと。

publisher (設定画面で「ビルド後の処理」に入るもの) builder (設定画面で「ビルド」に入るもの) wrapper (設定画面で「ビルド環境」に入るもの) node_property run_listener computer_listener

まずは、上の3つをいろいろ使ってみたり、いまのところJRubyで書かれた唯一のプラグインであるrvm-pluginを見ながらエスパーしたり、「Rubyで書けるならこう書きたい!」みたいなのを考えてみようかという話をしていました。

あとは、Gentooでjpi serverが動かない問題を調査して、pull requestはhsbt(と奥さんの英語力)に託したりと、なかなか有意義な勉強会でした。

GEEK DAY TOKYOで「ソーシャルコーディング時代の幕開け」という発表をしてきました

04/03 ジョブポストのURLが過っていたのを直しました

主催のDecooで働いている大学の同期である@nittyanから依頼を受けたので、GEEK DAY TOKYOで発表させていただきました。

イベントの雰囲気や他の発表者の方、参加者の方々を見ても、うちみたいな受託の会社が発表していいもんかとだいぶ不安だったのですが、終わってみればいろいろ反響があって安心しております。

時間の関係もあり、具体的な話があまりできませんでしたが、永和がこれからどんな開発をしていきたいのかというところが伝わると嬉しいです。

大切なこと

ESMでは、こんな開発に興味があるガッツとパッションにあふれるRubyistを募集しております。興味のある方は是非以下のリンクをご覧ください!

esminc / jobs

また、「この話もうちょっと聞きたい!」というイベント主催者の方がいましたら、スライド中のメールアドレスまでご連絡ください。

参考資料 ファイル達の王: GitHub はいかにしてフリーソフトウェア(など)を手懐けたか ソーシャルコーディングの世界 Akira Matsuda github で開発するなら pull request を使いましょうという話, zsh-users の設定を入れてみた。 - HsbtDiary(2011-10-17) おまけ

スライドで紹介したPull Requestがあるプロジェクト「eiwakun」は、社内で使っているIRCボット件Twitterクライアントみたいなものです。(ソースは諸事情で公開していません)

アジャイルリーダーシップトレーニングを受けてきました

アジャイルサムライの著者による、本に書いていないアジャイルリーダーシップのトレーニングがあるということで、会社の教育として受けさせてもらいました。

最初に、ジョナサンにとってのトレーニングのインセプションデッキとして、受講者にこのトレーニングで知りたいこと言ってもらい、それをリストアップしていました。

折角なので、実際に困っている「1〜3人の小規模チームでのリーダーシップについて知りたい」という事をお願いしてみたのですが、それについてのディスカッションは後述。

一番ぐっときたこと

発表資料を見直してみても載ってなかったのですが、

大切なのは、継続的に価値を届けること、そしてそれでハッピーになることだ

ということを言っていたような気がするんですよね。そう、みんながハッピーにならなきゃいけないんだよ!

全体として

すばらしいトレーニングでした。 なによりも、要所要所でジョナサンが話す彼が経験してきたプロジェクトの話は興味深く、とても刺激的なものでした。 最後のディスカッションでも、受講者の現場の問題に役立ちそうな彼のエピソードを話してくれて、すごく視野が広がった感覚があります。

また、翻訳、通訳をしていただいた和智さん、本当にありがとうございました。後半はもう頭が働かなくて翻訳に頼りっぱなしでした…(英語勉強します…)

leadershipのScienceについて

初めに、ジョナサンがトレーニングのアジェンダを紹介したのですが、最初が「leadershipのscienceについてだ」というのを聞いてこれはやばいと思いましたね。

ぐっと来たのは、

人は自分のやり方で仕事がしたい 報酬は、ある閾値を超えると効果がなくなる(むしろ悪影響がある) 目標、評価は多角的に、チートできないように設計する

上の2つはダニエルピンクの「モチベーション3.0」の研究成果からの紹介だったのですが、最後の目標と報酬の話は非常に面白かったです。

たとえば、販売部門とシステム部門の部長の評価は、評価の一部に「相手の業績を上げるようなことができたか」という項目を入れることで、足の引っ張り合いもなくなるし、自然と仲良くなるというような話でした。

自分自身をリードする

(アジャイルな)リーダーとは、3つ事をリードしなければならなくて

チーム 自分自身 上司(組織)

というような話だったと思います。

そのなかでも、自分自身をリードするために、ドラッカー風エクササイズを実際にやってみるという内容でした。

10 tips for leading your agile team

これはほとんどアジャイルサムライの内容でしたね。 ぐっと来たところだと

「悪いニュース」は伝えるのではなく、誰の目からみても明らかになるようにする(見える化の話) 目標を高く設定し、それをキープする コントロールなんて諦める。ただ、崖から飛びおりようとしていたら止める 小規模チームの話

実際今も1〜3人くらいの小規模チームで仕事をしているのですが、私が感じていた問題は

次イテレーションの準備が十分にできない 一人が休むとプロジェクトが止まってしまう(これはちゃんと伝えられなかったけど、アドバイスは非常に参考になった)

というものでした。ジョナサンから貰ったアドバイスは次のようなものでした。

まず、小規模チームというのは素晴らしい。2人なんて最高だ。 顧客とも直接話ができるんだろう? なら、次イテレーションの準備なんて言わずに、そのイテレーションの最初、もしくは途中でも、そのイテレーションでやることを決められるんじゃないか?

思わず「あぁ…」と声を漏らしそうになるくらい、今自分が出来ていないことがわかってしまう、とても的確なアドバイスでした。もっと精進します。

ディスカッションの他のテーマ

1時間くらいは受講者の知りたいことについてディスカッションする時間があったので、これの為に来たと思ってもお釣りがくるくらいいい内容でした。

メモ程度ですが気になったことを書いておきます。

組織にアジャイルを普及されるために、今アジャイルで上手くいっているチームをバラしてもいいのか トレードオフスライダーは「scopeを変えますよ」という宣言のために作るんだ 全てがfixされているプロジェクトでは、お金を出している人を探すところから チームが自発的にタスクを取ってくれない?リーダーが2週間いなくなればいいよ おわりに

アジャイルサムライ大好きなのに、ジョナサンの話を聞いたのはこのトレーニングだけだし、記念写真とりわすれるし…

ただ、またいつか会える日がきて、そのときはジョナサンに私のサムライ戦記を伝えられるように、これからもがんばろうと思ったのでした。