とあるセクシーなデータ分析官

を目指す渋谷で働くソーシャルゲーム分析者の卵

【勉強会レポート】第41回PHP勉強会に初参加してきました

PHP勉強会にはじめて参加したので、レポートという名の覚え書きを。


events.php.gr.jp - 第41回PHP勉強会@関東


場所:新宿 トライコーン株式会社様 1F
日時: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には基本処理を書かないとのこと
      → symfonycakePHPも基本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チャットからの質問もぼちぼち
  ハッカーっぽい人から営業的な人まで、上級者から初心者まで気軽に参加できる雰囲気!


とてもたのしゅうございました!
自分のアンテナだけでは回収できないことが世の中にはたくさんあるので
こういった勉強会は知見を広められるチャンス!
また次回も参加させていただきたいと思います。
次は名刺を持って懇親会にも参加してみたい。