40)本日、第4回Symfony2勉強会に終日参加してきました。


勉強会を開催して頂いた日本Symfonyユーザー会の方々、プレゼンターの方々、会場提供して頂いたジンガジャパン様に感謝です。

symfony2

今日は午前の部、午後の部、懇親会、Symfonyミッドナイト(現在開催中)と4パートに分かれていました。僕はSymfonyミッドナイトを除いた3パートに参加しました。


当記事は、勉強会で使用されたプレゼン資料や調べたことをメモするためのものです。

----
まずは、@uechocoこと上野さん司会による、第1部基礎編。

第4回Symfony2勉強会 第1部基礎編 (6/4 土) : ATND





src/Acme/DemoBundle/ にデモがたくさんある。ここのソースを読んでみる。


Twig関連の記事。

Twig - The flexible, fast, and secure template engine for PHP

ウノウラボ by Zynga Japan: PHPテンプレートエンジンTwigをいじってみました


Symfony2はrequire_onceを書かない。autoload.php に読み込むディレクトリを書く。


・写真:第4回Symfony2勉強会


Symfony2系のバンドルは、あえてSymfony1系で表現するとアプリケーションだけど、そもそもSymfony1系と比較しない。(別物なのです。)


■ キャシュの削除
現状、1系の symfony cc のようなキャッシュを削除するコマンドはないそうです。

なので、手動で削除するしかないみたいです。rm -fr app/cache/dev/* で消せばOKです。

「男は黙って rm -fr app/cache/* 」という方もいました。

./app/console cache:clear で symfony cc 相当だけどパーミッションに気をつけないといけないらしいです。


Symfony2系の情報(日本語)
Symfony2 ドキュメントポータル


----
午後の部は、第2部実践編という名のLT(Long Talk)。

第4回Symfony2勉強会 第2部実践編 (6/4 土) : ATND


読みたい記事がたくさん載ってる。

デザインパターン・リファクタリング・アーキテクチャに関する参考資料 - 日本Symfonyユーザー会 | Google グループ

----

まず最初はは、@hidenorigotoこと後藤さんの発表。

14:35 – 15:15 @hidenorigoto
セミナー 「Symfony2 + Behat(Bundle)でテストファースト開発」 
Cucumber 互換のテストツール Behat を Symfony2 に統合した BehatBundle の使い方などを紹介・解説します(ハンズオン形式から、セミナー形式に変更になりました)。


■ Behat について
自然言語に近い構文で、英語がわからなくても書ける。

# language ja で日本語でテストが書ける。英語が苦手な人でも手を付けやすい。

カスタムステップを作成する場合、組み込みステップのコードを参考にする。


TDDは知っていたのですが、DDDやBDDはよく知らなかったので調べつつ、聞いてました。

ドメイン駆動設計 - Wikipedia

ビヘイビア駆動開発 - Wikipedia


これやってみたい。

[PHP]BehatとSeleniumを組み合わせ受け入れテストを自動化する | Ryuzee.com


おすすめの電子書籍
はじめる! Cucumber - 達人出版会


あと、読みたいテスト関連の書籍をメモ。

テスト駆動開発入門
エンタープライズ アプリケーションアーキテクチャパターン (Object Oriented Selection)
ソフトウェアテスト技法ドリル―テスト設計の考え方と実際


----
2番目は、@fivestrこと小川さんの発表。
15:20 – 16:00 @fivestr
セミナー 「Symfony2 のフォームについて」
Symfony2 向けに刷新されたフォームコンポーネントについて。


2系のフォームは、どんなオブジェクトでもマッピングできて強力だそうです。

僕は今、Symfony1.4を使っているのですが、2系のフォームがかなり素敵になってることに感動しました。

----

3番目は、@brtriverこと前田さんの発表。

16:05 – 16:45 @brtriver
セミナー 「PHPマイクロフレームワーク Silex 入門」
Symfony2 のコンポーネントをベースに開発されたマイクロフレームワーク Silex について。


この発表を聞いて、Silexを使ってみたいと思いました。

Silexを試してみた - ぷぎがぽぎ

前田さんが作られた「 Silex ユーザーガイド」もありますし、かなり参入しやすそうですしね。

あと、「silexは充分、製品化に耐えられるレベル」と仰っていたのも使いたいと思えるポイントです。


そして、PythonのFlaskを使ってみようとも思いました。(え?)

Pythonのマイクロフレームワーク「Flask」ならApp EngineのTwitter Botが15行で書ける | TRIVIAL TECHNOLOGIES on CLOUD


Pimple - A simple Dependency Injection Container for PHP 5.3

「DIコンテナ」をよく知らなかったので要復習ですね。#TODO
なぜDIコンテナを使うのか - @IT

----

16:50 – 17:30 @iteman
キーノートセミナー 「Symfony2でより良いソフトウェアを作るために」
モジュールシステム、ドメインモデリング、DSL などの観点から Symfony2 のアーキテクチャ・フィーチャを俯瞰しつつ、Symfony2 を使ってより良いソフトウェアを作る方法を探索します。

#TODO スライドを探して、載せる。

[ 技術講座 ] Domain-Driven Designのエッセンス 第1回
[ 技術講座 ] Domain-Driven Designのエッセンス -目次-

・ネタ記事:オブジェクト指向設計の原則がよく分かるかも知れない画像 - 涙目で仕事しないSE

----

17:35 – 17:55 LT
@Kiske 「はじめてのSymfony2」


----

@madapaja 「Symfony2 で MongoDB と仲良くする方法」



madapaja/MadapajaMongoWikiBundle - GitHub

----

@hnw 「PHPUnitのMockObjectの紹介」


モックがなんとなく分かるLT。

「モック?なにそれ美味しいの?」状態な僕も本当になんとなく分かりました。

----
最後に、@yuchimiriこと前島さん(字、合ってる?)のネタLT。



急遽、ムチャぶりされて作成したとは思えないほどのハイクオリティ。


----

そして、懇親会。

みなさんの濃い話をただただ聞いて勉強させてもらいました。

正直、分からない言葉も飛び交ってたりして、まだまだ先は長いなーと飲みながら、痛感しておりました。


以上、Symfony2勉強会に参加したけど、しばらくはSymfony1.4を使う、バコラー(@bakorer)のメモでした。