DDD本読書会を開いてみた

とある読書会の帰り道に、他の参加者さん達と話していて
「エリック・エヴァンスのドメイン駆動設計(通称:DDD本)を買ったけど読めてない」とか「積んでる」という話で盛り上がったので、
「なら、(DDD本の)読書会開いてみましょうか」と宣言(?)したので、会場を押さえて、ややクローズドな募集をかけて読書会を開催してみました。


エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

今回の読む対象は、「はじめに〜第一章」を読むつもりでした。
が、結果は「はじめに」を読み終え、キーワードを話し合っていたら終了の時間が来ちゃった。という感じで、かなり消化不良でした。


以下、初めて勉強会を開催した者のふりかえり(KPT)
KEEP

  • DDD本の読書会開催できた。できれば継続していきたい
  • 参加者は自分含めて9人(このくらいの人数でいいかな)
  • 会場は公共の施設だったので安かった。(2時間360円)
  • 会場の広さもそれなりの広さだった

PROBLEM

  • 時間は2時間確保したけど、本題(本を読み始めて終わる)が1時間くらいしかやっていなかった
  • 輪読(10分)&ディスカッション(30分)の形式にしたけど、大幅に予定した時間をオーバーしていた
  • 自己紹介タイムなくてもいいかな
  • スライド作っていったけどいらなかった
  • プロジェクタ借りたけど、自分のノートPCから出力する規格とプロジェクタの入力の規格が合っていなくてスクリーンに映すまでgdgdした

TRY

  • 次回は黙読(5分)+ディスカッション形式にする
  • 本の内容についての時間を多くした方がいい
  • アジェンダは用意する
  • 会場の確保時間は4時間あってもいいかなー
  • 懇親会やるなら予約する(難民になりかけた)


会の最後に「ふりかえり」として参加してくれたみなさんにもKPTを書いてもらったけど、やっぱり輪読の時間がもったいないとか、黙読で十分、その分ディスカッションの時間が欲しい、といった意見が多く、僕自身も輪読は失敗したなーと思っていたので次回はカイゼンします。


今回、僕の場合は公共の施設を利用したけど、興味ある人は喫茶店なりファミレスでもいいからちょっとの人数で集まって読書会開くといいよ。
積んでしまってる本を読んで消化するきっかけになると思います。

最後に、拙い司会進行でしたが参加していただいた皆さんありがとうございました。
来月も開催したいけど、週末はすでに予定が入っ・・・・

セッキーが見ていた試合

第12節:川崎vs磐田@ヤマハスタジアム
結 果:4−2


試合開始早々に、ポコポコっと2点入り。「なに?なにが起きたの?」となるなど。
2−0から2−1になって、ドキドキし。
3−1から3−2になって、またもやドキドキして。
終わってみれば4−2で勝って終わってた。


わーい、五月負けなしだよ〜


この調子で来週の試合も勝手いい状態で中断期間に入ってほしい。

運動会

親バカするわけではないが、息子の脚はそこそこ速い。と思っている。
が、去年に引き続き今年もリレーの選手に選出されなかったからそうでもないのかも?


で、いざ本番での走る姿を見たら、彼らしくない走り方で燦々たる結果だった。
要は手を抜いたような走りだった。


一緒に見ていた嫁も表情は晴れておらず家に帰ると怒りが爆発し、
カム着火インフェルノォォォオオオウ ってこうことなんだーっていうのを垣間見た気がした。


ちなみに本人(息子)は悔しがる事もせずケロっとしていた。

平日のナビスコ

予選:川崎vs大宮@等々力
結果:2−0

ホームの試合だったけど、上の勉強会を入れちゃったので観に行かず。
まぁ、チケット無かったしなー。(ぉぃ

で、無失点で勝った模様

shinjuku.cocos2d-x 〜初心者ハンズオン勉強会〜行ってきた

shinjuku.cocos2d-x 〜初心者ハンズオン勉強会〜 Mac上にcocos2d-xを利用したiOSアプリ開発の環境を構築します


cocos2d-x機能紹介
cocosBuilder紹介


テンプレートインスコ
過去に古いバージョンを入れていたので,-fをつけて強制インストールする。

./install-templates-xcode.sh -u -f

クロスプラットフォームを意識したプロジェクトの作成
今まではxcodeのテンプレートを選択してからコードを書き初めていたけど、クロスプラットフォームを意識するなら、コマンドラインからプロジェクトを作成してからコードを書き進めるほうがオススメ、とのこと。

以下、プロジェクトの作り方

cocos2d-xのSDKを展開したディレクトリのtools/project-creator に移動して
その配下にある create_project.py を実行。

オプション

  • project プロジェクト名
  • package パッケージ名
  • language 使用する言語(CPP,JavaScript,Lua)

(例)

$ cd ~/SDK/cocos2d-2.1rc0-x-2.1.3/tools/project-creator/
$ ./create_project.py -project testCocos2dx -package edu.self.cocos2dx -language cpp

でも、xcodeからプロジェクト造るのは楽だから動作を確認したい時なんかはいいよねー、とも言っていた。

無事実行されるとcocos2d-xのSDKを展開したディレクトリのprojectsディレクトリ配下にプロジェクト名のディレクトリができる。
そのディレクトリには 各プラットフォームごとのプロジェクトファイルが格納されたディレクトリとソースコードディレクトリ、画像などを格納するリソースディレクトリは配置される。
xcodeの場合、proj.iosディレクトリにあるtestCocos2dx.xcodeprojファイルを開くと、xcodeからコーディングが可能となる。

また、自分は jetbrains社のAppCodeを持っていたので、そちらからプロジェクトファイルを読み込んでビルドしてみたが無事に動いた。

とりあえず動いてからは、サンプルのHelloWorldScene.cppをいじってどのようなエフェクトがあるかを確認してお開きとなった。

複雑な動作や実際のアプリケーション作成作業はまた別の機会になるのかな?

講師をされていた清水友晶様、
会場を提供していただいたHatchUp様ありがとうございました。

#先日発表されたAndroidStudioでアンドロイド用のプロジェクトファイルを開いてビルドしてみたが、起動しなかった。
#また別の設定が必要なのかも?

『JUnit実践入門』写経・実践会 in 横浜 #6 (特別編) 行ってきた

毎度お世話になっているJUnit実践入門の読書会で特別会として、著者である渡部修司さんを講師として招いてのCucmber+Seleniumで講演&ハンズオンを開催されたので参加してきた。
『JUnit実践入門』写経・実践会 in 横浜 #6 (特別編)



今日やること by @shuji_w6e

  • Cucumberを使ってみる
  • シナリオの重要性を知る
  • Seleniumを使ってみる


いろふ(@irof)さんの講演

@shuji_w6eの講演
「受け入れテストの自動化とユースケース駆動開発」〜Pre Cucumber Boot Camp
テスト駆動開発プログラマを救ったのか ⇒ YES!
どんなにテスト駆動で開発しようとも、本来の目標は「顧客の要求を満たす」こと
TDDは開発手法(not銀の弾丸) 良いシステムが出来るわけではない

外部設計(基本設計)の手法

  • 顧客の言葉(利用者視点)
  • 顧客が理解できるツールを使う

シナリオに”xxxの場合”を記述していいのか?
→ 基本的にはNG/主シナリオと代替シナリオを用意して、条件がつくようなものは代替シナリオに書く。

シナリオを作るのは誰か?
→ 実装を知っている人。ただし書く言葉はお客さんの言葉で書く必要がある。

午前の部ここらへんで終了。

お昼ごはんにオリジン弁当を注文
カツカレーを注文しました。


午後の部は、書籍管理システムをCucumber+Seleniumを使って演習。

ここらへんはメモを取ってる暇ありませんでした。
説明を聞きながらひたすらコーディングと実行確認。

途中importするクラスをミスって1時間ほどハマるなど。

だけど、いままでCucumber+Seleniumでどうやってテストするんじゃい?とモヤモヤしていた疑問が明確になりました。
現場に持ってかえって活用したいなぁ。
その前に復習を兼ねて、IntelliJ IDEAの環境で今日やったことと同じ内容を試してみ用途も思う。
(でもWebアプリ開発の案件終わちゃってるんだよなー)


ここらへんの本を読んでおくと良いらしいので、機会があれば読みたいね。と

The RSpec Book (Professional Ruby Series)

The RSpec Book (Professional Ruby Series)

ユースケース駆動開発実践ガイド (OOP Foundations)

ユースケース駆動開発実践ガイド (OOP Foundations)