2009-03-24
【勉強会レポート】第41回PHP勉強会に初参加してきました
PHP勉強会にはじめて参加したので、レポートという名の覚え書きを。
events.php.gr.jp - 第41回PHP勉強会@関東
日時:3/24 19:30〜21:30
個人的な感想 新しいフレームワークとしてAgaviを知ることができたが、 PHP5.2.3以上の環境が必要とのとこちゃ、日本語ドキュメントがまだ存在しない とのことで乗り換えるとしたら敷居は少々高いように思えた。 バリデーションが必須であったり、viewをレイヤーとして小分けにできるのは symfonyやcakeでは経験したことの無い、新しいことなのでそういった意味では面白そう。 バグ管理ソフトについては、そこまで大きい案件に関わった事が無いという意味で 使った事は無いが(周りではTrac使っている模様)、これを気にタスク管理として 自分だけでも使い始めていいかと思った。なによりも工数管理がぐんとうまくなれそう。 YahooAPIの係り受け解析は面白そうなので時間があるときにサンプルだけ作って試してみよう。 pearライブラリとして出ているのも知れたので、今までのYahooAPIは自力でxml解析してたりなど 手間がかかっていたので、次はライブラリ使って効率的に開発することを意識してみる。
【発表1 ついに来た! Agavi1.0】 発表者:MugeSo様 Agaviとは? Mojaviからforkしたフレームワーク イツBitextender社が開発 開発方法 Model実装 Actgion実装 ViewにexecuteHTMLを実装 → symfonyとおなじイメージかも バリデーション バリデーションを通過していないリクエストデータにはアクセスできない → ここ重要!バリデーション必須のようです ルーティング route.xmlで設定 → symfonyのrouting.ymlと同じようなものと思われる キャッシング Actionの出力、Viewの出力等 実行フロー ブートストラップ ルーティング処理 グローバルフィルタ実行 → 1つのリクエストに対して1度だけ行われる 実行コンテナ → 1つのリクエストに対して複数の処理を行われる アクションフィルタ実行 バリデーション アクション ビュー レンダリング アクションフィルタ レンダリングとは? レイヤーというもので表示単位を分離することができる。 例:フォームの部分がレイヤー1、ヘッダーやフッターがレイヤー2など デザイナーがレイヤー1を作ってプログラム側っがレイヤー2を使うといったことが可能 →Viewを重ね合わせるように使うことで、パーツとして見せたいものを分解しておける 質問タイム 対応状況は? PHP5.2.3以降に対応 → symfony1.2の必要環境と同じですね ほかのフレームワークと比べた場合の強み アウトプットタイプ レイヤーによって出力形式を柔軟に変えられる コンソール対応 キャッシュについて キャッシュはアクションとレイヤーごとに設定できる Viewに書いた処理のエラー判定の効率化は? Viewには基本処理を書かないとのこと → symfonyやcakePHPも基本viewには処理書かないですね
【発表2 今日からはじめるRedmine】 発表者: YUsuke Ando様 HN: aka, yandod CakePHPをメインになされてるとのこと ・BTSとは? バグ管理システム周りについて バグ、課題の登録と管理 ソースコード管理との連携 オープンソースでの開発ではメジャー 会場内でバグ管理システム使ってる人は? そもそもなにもしてない 1人 紙ベースで管理 1人 ワード・エクセルで管理 5~6人 BTSで管理 半数以上 →みんなバグ管理システム使ってるとのこと! バグ管理アンケート情報inはてな 1位 Trac 2位 Redmine 3位 Mantis 4位 Bugzilla 5位 影舞 6位 mantis グーグルでの日本の使用情報統計 ここ1〜2年では「Trac」を抜いて「Redmine」使ってる人が多いとのこと ・redmineについて 特徴 Railsで作られた柔軟なプロジェクト管理システム さまざまな環境とDBに対応 機能について Railsで作られている 複数DBに対応 複数プロジェクトに対応 → Tracに対してのアドバンテージとなる ガントチャートの出力 → 日本人大好き! Wikiを作れる インストールについて Railsが動けばいい。後は気合。 ・使用例 subversionで管理しているソース自体や差分が見れる Tracを意識しており、Tracで使い勝手の悪かった部分を押さえている 表示順序なども設定できる ・自分的な利用例 今ある作業をソフトウェアの粒度に落とし込む プロジェクト 関係する人やソースコード単位 バージョン 特定の日付に対する作業(マイルストーン) チケット (ほんとは「課題」という意味) 日々の具体的な作業 → タスク管理として使えそう チケットの起票・消化 最初はTODOのつもりで気軽に使えばいい → デスクトップに付箋張るよりも、これを使えばチームウェアとしてシェアできる バージョンの設定はしておくべき よくある問題 開きっぱなしのチケットが溜まる 進捗MTGなどで定期的に棚卸が必要である チケットの粒度がそろわない 大きすぎるチケットはなかなかクローズできない →3〜4日かかるぐらいの程度になると消化しにくい、 チケット切る時にもっと規模を小さくする必要がある Wikiが使いづらい pukiwiki脳にはつらいが、慣れるか見切るか 期限日と経過時間が未入力 ここを入力しないとさまざまな機能(ロードマップなど)が使えないから入れるべき TIPS 右上のプロジェクト選択メニューが便利 マイページのカスタマイズ → igoogleのようにウィジェットを設定する要領 起票済みのチケットの編集は「続き」でいける 質問 親プロジェクトと子プロジェクトの使い分けは? レポートを使うとメンバーごとの工数の確認などができるが、 その時に総合的なレポートを見たりすることができる。 親を使わずに、具体的な作業は子プロジェクトに割り当てるなどの方法によって 後で総合レポートとして出力するといったことが。 Tracからの以降は可能か? 可能。スクリプトを走らせる。
【発表3 PHP Spidering2009】 発表者:させざき様 Diggin スパイダリング系ライブラリを使っている openpearからインストールできる スパイダリングとは (よく分からなかったので調べた) 実際のソースについての解説
【発表4】 時間がないため割愛
【発表5 Y!JAPANの日本語係り受け解析APIを使ってみた】 発表者:shimooka様 係り受けAPIとは? 日本語の係り受け解析APIがYAHOOAPIから出ていた 文節を分解します 具体的には「〜ね」という感じで区切る どの文節がどの文節に係っているかというのが掛り受け 今から約半年前に公開されたらしい PHPでやるには pearでインストール Services_Yahooのサブパッケージ → sudo pear -a install Services_Yahoo_JP_DA → コードはたった5行で実装できる!YahooAPIのAppIDは別途必要 「うちの庭には鶏がいます。」の分解結果 うちの 庭には 鶏が います。 あたし彼女を要約してみた 歯が立たない。全く同じものしか吐かれなかった。 → きちんとした日本語にしか使えないようです → そういえば去年開発していた書籍名ジェネレーターでは名詞だけ取り出していたっけ
他気になったこと 会場は(株)トライコーンさんが毎度無料提供してくださりました PHP書く現場は離れてるけど何か学べればという目的の人が少なくはない模様 参加者はPHP歴3~4年の人もいれば、自分のような半年程度の人もいる感じです 無線LAN環境があるわけではないので、イモバ持ってくと良い 私服勢力 >> スーツ勢力 WebカムでUストリーム配信されていた IRCチャット+リアル動画で遠隔参加されている方もいらっしゃった 質問時間にはIRCチャットからの質問もぼちぼち ハッカーっぽい人から営業的な人まで、上級者から初心者まで気軽に参加できる雰囲気!
とてもたのしゅうございました!
自分のアンテナだけでは回収できないことが世の中にはたくさんあるので
こういった勉強会は知見を広められるチャンス!
また次回も参加させていただきたいと思います。
次は名刺を持って懇親会にも参加してみたい。
トラックバック - http://d.hatena.ne.jp/Arko/20090324/1237886279
リンク元
- 14 http://events.php.gr.jp/events/show/71
- 8 http://reader.livedoor.com/reader/
- 5 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&hs=qfk&q=cake+bake+テーブルが表示されない&btnG=検索&lr=lang_ja
- 5 http://www.google.com/reader/view/
- 2 http://www.google.co.jp/reader/view/
- 2 http://www.google.co.jp/search?q=pg_connect+cake1.2&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a
- 1 http://107.gmodules.com/ig/ifr?url=http://homepage2.nifty.com/kame64/gadgets/hatenabookmark_word.xml&nocache=0&up_word=php&up_type=t&up_threshold=5&up_entries=20&up_selectedTab=0&lang=ja&country=jp&.lang=ja&.country=jp&synd=ig&mid=107&ifpctok=802506022377
- 1 http://209.85.175.132/search?q=cache:FbedWT2q7Z4J:d.hatena.ne.jp/Arko/20081222/1229948547+symfony+pager+join&cd=2&hl=ja&ct=clnk&gl=jp&lr=lang_ja
- 1 http://209.85.175.132/search?q=cache:Tpgx_oHw7SYJ:d.hatena.ne.jp/Arko/20081224+Cannot+fetch+TableMap&cd=8&hl=ja&ct=clnk&gl=jp&lr=lang_ja
- 1 http://b.hatena.ne.jp/add?mode=confirm&title=%u3010%u52C9%u5F37%u4F1A%u30EC%u30DD%u30FC%u30C8%u3011%u7B2C41%u56DEPHP%u52C9%u5F37%u4F1A%u306B%u521D%u53C2%u52A0%u3057%u3066%u304D%u307E%u3057%u305F - %u3068%u3042%u308BWeb%u30AF%u30EA%u30A8%u30A4%u30BF%u3
