2013年12月31日火曜日

2013年を振り返ってみました

大晦日終了まで残り僅かなので、2013年を振り返って見ました。

勉強会について

life logに残っていた主に参加した勉強会はこちら。
シリーズになっているものについては、一つとしてカウントしました。

  • 『JUnit実践入門』写経・実践会
  • アジャイルサムライ横浜道場
  • ガンダム勉強会
  • TokyoMercurial
  • BPStudy
  • DevLOVE
  • Groovy基礎勉強会
  • TDD Boot Camp Tokyo 2013-03
  • オブジェクト設計エクササイズ
  • G*ワークショップZ
  • java-ja
  • SQLアンチパターン読書会
  • Java Day Tokyo 2013
  • Provisioning Frameworks Casual Talks
  • Javaで実践するリーダブルコード ぷらす
  • TDD Boot Camp Tokyo 2013-07
  • TDDeXchange in Tokyo
  • TDD Boot Camp 横浜 3rd
  • 怖くないScala勉強会
  • 東京Node学園祭2013
  • GitHub トレーニングチームから学ぶ Git の内部構造
  • 渋谷java
  • Agile Samurai Base Camp
  • Yokohama.rb
  • Yokohama.groovy
  • DDD本 読書会(羊)
  • JJUGナイトセミナー
  • Jetbrains night
  • Testing Casual Talks 
  • DevOpsDay Tokyo 2013
  • MySQL Cluster Casual Talks
  • 高速ITコミュニティ秋祭り
  • elasticsearch勉強会
  • システムテスト自動化カンファレンス
  • Fluentd Casual Talks

こうやって挙げてみるとかなり参加してましたね。
参加傾向を見てみると、興味をもった事に対して幅広く参加出来ていたなと思いました。
ただ、それに対するアウトプットが少なかったのが残念だったので、もう少し増やしていければと思ってます。

技術について

ミドルウェアを勉強するにつれて、Java以外の言語を知らないと利用することすら出来ない事がありました。
特にRubyで開発されているものが多いので、Rubyの勉強を始めました。
まずは、自分にとって必要なgemを作ってみたいと思います。

Javaについては、Java8がリリースされるので引き続き勉強して行きたいと思います。
Groovyについては、Javaを使っている人に出来るだけリーチ出来るようにしていきたいと思っているので、出来る限りサポートして行ければと思います。
個人的には、Vert.xに注目しているので、いろいろとModuleを作ってみます。

JavaScriptについては、TDDBCでサポート出来るようになりたいと思っていたので、Node.jsも始めました。
特にfront sideで面白いフレームワークが出てきているので、楽しみです。

2013年は、publicで書いたコードが少なかったので、サービスなりgemなりプロダクトを出していこうと思います。

2013年12月15日日曜日

javascript-mochaのskeletonを作ってみた #TddAdventJp

はじめに

このエントリは、TDD Advent Calendar 2013の15日目の参加エントリです。
14日目は、@jeffsukeさんの Objective-CとTDD です。
16日目は、TDDBCでもお世話になっている、a-suenamiさんのTDDが僕に教えてくれたこと #TddAdventJpです。

きっかけ

作ろうと思ったきっかけは、東京Node学園祭2013に参加した時にしたLTです。

東京Node学園祭2013 に参加してきました #nodefest
LT資料 #nodefest 2013

Node.jsを本格的に学びたいと思っていた時だったので、まず何から始めたら良いのか考えてました。
そこで、考えたのはTDDBCの逆をやってみるということです。
TDDBCでは言語はそれなりに知っているけど、TDDをどのようにしたら良いのか分からないという人を対象にしています。
今回の私は、TDDをどのように進めていくのかを知っているが、フレームワークがよくわからないという状態です。
ですので、まずはskeletonを作ってそこから始めるということを考えました。

power-assert

個人的な希望として挙げていた twada/power-assert を軸に他のskeletonを参考にGruntのpluginを選びました。
Gruntからmochaを実行するpluginは、いろいろ試してみてgrunt-mocha-cliを選択しました。
初めpower-assertが利用しているespowerをGruntから利用するpluginについては、grunt-espowerを選択してみましたが、@t_wadaさんからespower-loaderを試してみては?と提案されましたので、試したところGruntfileもスッキリしました。
ありがとうございます。

今回、作成したskeletonはこちらです。 -> tddbc/javascript-mocha

これで、mochaを使ってTDDを始める下地が出来ました。
まずは、power-assertを使って過去のTDDBCのお題を実践してみようと思います。

出来れば、このskeletonをYeomanから呼び出せるgeneratorを作ってみようと考えております。

最後に

新しい言語、新しいフレームワークを知るには、学習テストをこなすことが大切だと思っています。
その言語のテスティングフレームワークを知ることが、その言語を習得するには最適だと教えていただいた事がありました。
TDDBCの良い特徴の一つに、違う言語でもお題が一緒なので、同じコンテキストでコードを読むことが出来る事だと思っているので、それを活かして学んで行ければ理解も深まると思います。

もし、TDDで別の言語を学ぶ際には、http://devtesting.jp/tddbc/を覗いてみてはいかがでしょうか。
過去の募集内容に言語が書かれていると思いますので、そこには、始めるために必要なことがおおよそ見つかると思います。
そして、https://github.com/tddbcには各言語のskeletonが用意されています。
あとは、TDDBCに参加された方々が公開されているレポジトリもありますので、見つけてみてください。

私もTDDBCのNode.jsの希望者が増えた際にもサポート出来るようになりたいと思いますので、今後共よろしくお願いします。

2013年12月12日木曜日

Agile Samurai Base Camp に参加してきました #agilesamurai

Agile Samurai Base Camp
http://www.agilesamuraibasecamp.org/

2013/12/08 Agile Samurai Base Camp #agilesamurai
http://togetter.com/li/600193

はじめに

お誘いを受け、スタッフとして参加することになりました。
今回のイベントが「道場に参加している人たちの隣の席の人をお迎えする」というコンセプトだったので、いつものTDDBCや横浜道場の雰囲気とは違うという事が大きかったと思います。
ですが、この本を読んだ人であるということを考えれば、次の一歩となる場所を提供することが私が横浜道場で学んできたことなのではないかなと考えました。

テスト駆動開発トラック

主にJavaScriptのライブコーディングを@sue445さんと一緒に担当させて頂きました。
最後の方バタバタとしてしまって、上手く伝えることが出来たのか不安です。
まだJasmineを使いこなすLvまで達していなかったのですが、WebStormの力を借りて何とかなったと思います。
いろいろと質問して反応をみてみましたが、自分が思っていたよりも初めて来ましたという雰囲気を持った人が多かったように思いました。
本で紹介されたTDDとは違い実際の過程を見て、何かしら「気づき」を見つけて貰えれば幸いです。

おわりに

過去にスタッフとして参加したイベントとは違った雰囲気だったので、いろいろと勉強することが出来ました。

サポーターズの皆さんがイベントの成功の為にいろいろと動いて下さったのをみてて、巻き込むことは大事だけどやはり大変なのだなと感じました。
BaseCampということなので、次回もこのようなイベントが開かれることを期待しております。

参加者の皆様、角谷信太郎さん、市谷聡啓さん、西村直人さん、和田卓人さん、スタッフの皆様、サポーターズの皆様、スポンサーのサイバーエージェントさん、@ITさん、ありがとうございました。