福井に集うアーキテクト/プログラマーたち
「ソフトウェア技術者サミット in 福井 2016」に参加してきました。今回は、福井コンピュータの小島さん(@fujiwo)の呼びかけで、鈴木雄介(@yusuke_arclamp)さん、福井さん(@afukui)、小井土さん(@koido1961)、という現在の名だたるソフトウェアアーキテクト、プログラマーの方々が福井大学に集まりました。加えて、中西さん(ぼくも活用している音楽共有創作アプリのmelocyを創っている)と鈴木孝明さん(Microsoft MVP)。いや〜、これは小島さんのお手柄ですね、こんな会が福井で開催できるとは!(以下の写真は小島さんによる)
鈴木さんのAgile/Cloud/DevOps/MSA
鈴木雄介さんの話は、アジャイルを起点に、現在起きているクラウド、DevOps、Microservices Architecture の話を俯瞰したもので、とても分かりやすいものでした。
ぼくも以前、「逆コーンウェイ戦略とDevOps, Microservices, Agile」というエントリを書いていて、まさに、アジャイルが持っている「チーム構成戦略」がマイクロサービスアーキテクチャに出会って、組織実装されるものが、DevOps という話を、楽天の川口さんの受け売りでやっています。つまり、ビジネス要請が強ければ、フィーチャーチーム(機能チーム)を作った方がコンポーネントチームを作るよりうまくいく(組織戦略)。それを実装するするのがMicroservices Architecture(アーキテクチャ戦略)。という話です(→こちら)。
TDDデモ(平鍋+小島)
学生さんも多いということで、ぼくはあまりコンセプト的な話はせずに、小島さんとペアプロライブをやりました。TDD (テスト駆動開発)は、実際にやってみる(のを見る)のが一番です。
とてもいい写真 (@jun1sさん、小島さんありがとう!)。この写真でわかるように、やること(テストExample)をリストにして、コーディングしながらできたら1つずつ、クロスアウトしていきます。
教室でやる、と聞いていたので、小島さんとは、
「黒板にやることリストを書いて、それを消して行くので、ハイタッチしましょう」
という打ち合わせをしておきました。
- スタックを作る.
- 作ったらisEmpty
- push(1)したら、isEmptyでない
- push(2)したら top が 2
実は、ここまでなら、内部に配列のような実装を持たずに(値1つで)実装できます。そして、ここまでそのように実装するのです!
そして5番目に
- push(3), push(4), pop したら top が3
というテスト(仕様Example)を書いてはじめて、Stack らしい実装が現れます。
IDE(VS)の電球マークをうまく使って示唆を得ています。テストを先に書くので、コンパイルが通らず、今ないクラスは作る?ときいてくれます。また、会場にも電球(福井さんと小井土さん)がいたので、その都度ツッコミを入れてくれて助かりました。
あと、変数名やコードのダブリなど、気持ち悪いことがあったらその都度リファクタリングをしますが、結構小島さんのこだわりが分かって楽しかった。小さいことですが、private メンバ変数の size を index と名前変更したときに、「一つずれます」と言いましたが、後で考えると僕が間違っていて同じになりますね。(array<T>[n] が次にpushする位置の要素の時、現在のsize も n)
当日の資料はこちらです。
まとめ
平鍋なりにまとめたマインドマップ(astah)です。
一番よかったのは、福井さんのプログラミングへの愛が聞けたこと!年齢よりなにより、エンジニアとしてのAPIに対するLoveを感じて、とっても勇気をもらいました。これは、melocy を創っている中西さんのプレゼンにも、そして、C#のライブコーディングをしくれた鈴木さんにも感じたことですが、パッションで人はつながっている、ということを信じられた一日でした。
ぼくも、パッションをもって astah を開発してきましたし、これからも永和の社長としていい会社づくりをやって行こう!と思いを新たにしました。
チェンジビジョンと永和の社員もたくさん参加、ありがとう!今年の採用予定者や、金融の事業部からも来てくれてとても嬉しかったです。
最後に大事なことを、、、、チェンジビジョンで、astah の開発エンジニア、大募集中です!また、永和でも、新卒+中途のエンジニア募集中です。ぜひ、興味が湧いた方、声を掛けてください。