2012年12月31日月曜日

アジャイルサムライ横浜道場 忘年会 に参加してきました #agilesamurai #横浜道場

アジャイルサムライ横浜道場 忘年会
http://kokucheese.com/event/index/60584/

はじめに

これが2012年の最後の横浜道場ということで、忘年会が開かれることになりました。
内容は、LTを肴にいつもの懇親会をぶっ通しで行うようでした。

初めてのLT

前回のLT大会で初めての方が発表されていたので、今回私も人生初LTをしてみようと思い、手を上げてみました。
人前で話すことは苦手なのですが、LTなら「ウケなくても、滑っても特に問題無い」というこれまで参加した勉強会で学んだことを踏まえた上での参加表明でした。

今回のLTのスライドはSphinx + S6を利用してgithubに公開してみました。

http://grimrose.github.com/yokohama-2012-12-06-LT/

Sphinx + S6を使ったのも初めてですし、githubで公開するのも初めてでした。
Sphinxの良い所は、やはりhtmlで出力できるので、ブラウザがあればなんとか出来るところですね。
公開するときもhtmlならそのまま出来ますし、何しろrstならVCSで履歴管理も出来ます。
S6もテンプレートのままでも十分プレゼンテーションに使えます。
画像の差し込みも出来るようなので、次回以降使ってみたいと思いました。

内容は、これまで参加してきたことのKPTをスライドにしてみました。
S6だと書くことが出来る量がかなり制限されるので、いい制約だと感じました。

発表は、時間オーバーしてしまいましたが、自分が伝えたいことは全部話せたのは良かったと思いました。
他の場所だとこれではダメだとも感じたので、次回以降は練習を重ねて臨みたいと思います。

おわりに

他の方々のLTも絵が上手な方や、スライドに視線誘導されて話に集中できない発表だったりなど、とても個性的で楽しいものでした。
特に大トリの@joker1007さんのLTは、自分と似たような境遇の友人がいらっしゃるみたいで親近感が湧きました。

今年の横浜道場は今回で終わりですが、来年以降も続きそうな感じなので、参加する際には自分が体験したことをフィードバック出来るようにしていきたいなと思います。

参加された皆様、横浜道場のスタッフの皆様、会場を提供して下さった株式会社アットウェア様、今年も大変お世話になりました。

また、来年もよろしくお願いします。

2012年12月11日火曜日

Sphinxで手順書を作ってみませんか? #sphinxjp

このエントリはSphinx Advent Calendar 2012の11日目のエントリです。
10日目のエントリは@usatarn さんの本家 Sphinx Advent Calendar 2012 10日目です。

はじめに


なぜ、普段JavaやGroovyしか書いていない私が、このAdvent Calendarに参加したのかは、@usatarnさんとの以下のやり取りでした。









まぁ、ネタがなかった訳ではなかったので、参加しました。



というわけで、よろしくお願いします。

導入経緯

いわゆる手順書を作ったことがある方が、どれくらいいらっしゃるのか分かりませんが、
マイクロソフト謹製のオフィススイートで何らかの手順書を作られた方は、だいぶいらっしゃると思われます。

そんなあなたにSphinxで手順書を作ってみましょうというお誘いです。

今回は、ミドルウェアのインストールの手順を書いた時のことを書いてみます。

手順書を作成する時に使ったのは、以下のツールです。
  • Sublime Text 2
  • FireFox or Chrome + auto reload系のプラグイン
  • 10秒ごとに「make html」するpythonスクリプト
  • pythonスクリプトを実行するbatファイル

初めてpythonで書いたのは、このスクリプトでした。


全くpythonを知らなかった私に教えて下さった@wonderful_panda さん、ありがとうございました。

もちろんSphinxのインストールは、Sphinxのインストールを参考にさせていただきました。
Windowsへのインストールは、本当に簡単でした。

準備は、これだけです。

あとは、実際の手順をメモしたり、実行したコマンドをコピーしたテキストなりを開いておきながら、手順書の体裁を整えて行きました。

メリット

Sphinxでのメリットは以下の点が、メリットではないかなと考えます。
  • rstなので、ソース管理できる。
  • コードブロックが使えるので、コピペする場合に見た目が分かりやすい
  • 標準のテーマのhtmlであれば、別途readerが要らない

reStructredTextのフォーマットに従っていれば、それなりにテーマに沿った形で後で出力してくれるので、書くときは、書きたいことに専念できます。

手順書は後々に、設定が変更になった場合、以前に書かれていたことが分からないと「なぜこのような設定になった」のかが見えにくくなります。
しかし、reStructredTextは、テキストベースなので差分管理をバージョン管理システムに任せることができます。
バイナリでしか管理できない某ファイルで悔しい思いをした人は、いっぱいいらっしゃると思われます。

Sphinxには、コードブロックが使えるので、コードをそのまま埋め込むことができます。
また、シンタックスハイライトを指定できるので、より見やすく出来るようになります。

マイクロソフト謹製のオフィススイートがインストールされてない環境(インストールされてない場合、大抵オフライン環境なのでViewerも落とせません…)であっても、htmlに吐き出せるので、最低限ブラウザさえあれば閲覧可能です。

改善点

初めてSphinxに触ったので、以下の点にちょっと困りました。
  • pdfで出力してみたら、ちょっと残念な結果に。
  • 表示対象のコードがどのコードブロックの属性にすればいいのか、探すのに苦労した。

後半になってPDFでも出して見ようとしてみたら、レイアウトが崩れたり、コードブロックのシンタックスハイライトがうまく設定されていなかったりと、いろいろ残念なことになってしまってしまいました。
もしかしたら、初めからPDFで出力するようにしておけば、もっといい結果になったと思います。

コードブロックの属性については、http://pygments.org/docs/lexers/を参考にさせていただきました。
これを見つけてからは、いろいろなコードを埋め込める様になりました。

おわりに

私がおすすめするやり方は、以下の手順です、
  1. まず普段定型的に行ってる作業の手順を、Sphinxで書いてみる。
  2. 次に、DVCSと組み合わせて、差分管理してみる。

そうすれば、マニュアルの引継ぎも変更履歴が追えるので楽になると思います。

まだ、私自身Sphinxを使い始めたばかりなのですが、いろいろなプラグインがあるみたいなので、試しつつ普段の仕事に役に立てばいいなと考えています。

というわけで、うまくお誘いできているか分かりませんが、ちょっとでも興味を持っていただければ、幸いです。

次は、@shibuさんのSphinx-Users.jpを作った時のお話です。よろしくお願いします。

2012年12月3日月曜日

スタッフになってみませんか? #TddAdventJp

はじめに

このエントリは、TDD Advent Calendar jp: 2012の3日目の参加エントリです。
前日は、S.SemiyaさんのTDDで思考を整理してみるです。

あなた誰?

現在、アジャイルサムライ横浜道場の門下生として、勉強している会社員です。
横浜道場での参加レポートはこちらです。

お誘い

今回は、TDDBC横浜 2nd seasonのスタッフとして参加したことをもとに、
スタッフになってみてはいかがですかというお誘いの内容です。

なぜ、ただの門下生がTDDBC横浜のスタッフとして参加したのかは、
その回のレポート(->こちら)を見ていただくとして。

レポートにはスタッフとして参加するメリットを書いたので、
ここでは体験から思いつきそうな不安や疑問について書いてみます。

言語について

スタッフと聞いて、「言語を使いこなしていないし…」と尻込みするかもしれませんが、
そんなことはありません。
確かに、ある程度言語を使える必要はありますが、TDDBCの場合予めお題が提供されていることがほとんどです。
ということは、前もって実践できます。
また、課題も過去の課題を利用する場合も多いので、時間を区切って一人でやってみるのもいいと思います。

とは言え、テスティングフレームワークの使い方は、必須です。
私は、JavaとGroovyを利用していますので、eclipseやIntelliJ IDEAでのJUnitやSpock Frameworkの動かし方を知っていなければなりません。
他の言語のテスティングフレームワークでも、エディタやIDEによって操作が変わってくると思いますので、当日使う環境について質問に答えられる程度には慣れていなければいけません。
ですが、これも慣れていれば大丈夫だと思います。

TDDのスキル

次に、「TDDスキルが高くないとダメだから…」という場合ですが、
これについては、過去の様々なTDDBCのレポートやTDDBCに関するサイトを見ていただければ、今の自分のスキルとスタッフとして求められるスキルの差が見えてくると思います。

いかがですか、もしかして自分なら出来るのでは?と感じた方はいらっしゃいますか?
そう思われた方は、ぜひTDDBCのML(-> こちら)に参加して、手を上げてみてください。
TDDに興味を持った人の手助けをしたいと感じたら、心構えはバッチリです。

まだまだだと感じられた方は、こちらのTDDBCのページを見て、スタッフがどんなことをしているのか見てください。
普段利用している言語のスタッフが何をしていたのかが見えてくると思います。

おわりに

TDDBCって何なのと思われた方は、去年今年のTDD Advent Calendarをぜひご覧になってください。
何かを感じていただいて、「一度参加してみたい!」と興味をもっていただければ、幸いです。

私自身TDDについては、未熟でまだまだ勉強不足な所も多々あります。
ですが、スタッフとして参加してみて改めてTDDによってより良い物を作りたいという意志を持つことが出来ました。
未熟でも一歩づつ確実に前へ進むことが大切です。

あなたは決して一人ではありません。
テストを書く際に、左腕のグリーンバンドを見ている人達が大勢いらっしゃいます。
あなたに黄金の回転の御加護があらんことを。

翌日は、@irofさんの思い通りに動くコードを書きたい #TddAdventJpです。よろしくお願いします。

2012年12月1日土曜日

『JUnit実践入門』写経・実践会 in 横浜 #1 に参加してきました。 #junitbook

『JUnit実践入門』写経・実践会 in 横浜 #1
http://connpass.com/event/1487/

『JUnit実践入門』写経・実践会 in 横浜 #1 #junitbook
http://togetter.com/li/415943


はじめに

Cucumberハンズオン際に@shinyaa31さんがJUnit実践入門読書会を受けての開催したいといったことをおっしゃっていたので、
こういうのあったらいいよねとか、こういうのやると面白そうだよとか、いろいろ意見を出してみました。
初回ということで人数や需要も読めない中、無事開催することが出来ました。

いざ実践

条件にTDDBCに参加された方にしたためか、環境設定などほぼ済んだ状態で進めることが出来たのは良かったと思います。
16章から始めてみましたが、TDDBCではあまり触れられていなかった箇所を見ることでいい準備運動になったと思います。
3章までは、Introductionの箇所なので疑問に思ったことだったりしたことを、議論してました。

以下の本の話が出てました。TDDBCに参加された方々だったので自然かもしれませんね。

XUnit Test Patterns
http://xunitpatterns.com/

Growing Object-Oriented Software Guided by Tests
http://www.growing-object-oriented-software.com/

帰ってから気づいたのですが、xUnitの日本語関連のサイトということとなるとコチラを忘れてはならないと思います。

ぺけま
http://devtesting.jp/pekema/


終盤に、突如@kyon_mmさんが来襲されて、いろいろと3章までの内容について話してくださいました。
生業としている方の話が聞けるのはとても勉強になりました。

次回から本格的にJUnitに触れていきますが、個人的には特にルールについて知っていると得するような項目が並んでいるので楽しみです。

おわりに

今後もこの会を続けて行くにあたって、なかなか読んだだけでは分からないところも、
実際に書くことで実感したり、疑問をお互いに解決していけるようなそんな会になればいいなと思います。

@shinyaa31さん、参加された方々、@kyon_mmさんありがとうございました。