第46回PHP勉強会@関東に参加してきました。

大分遅くなりましたが、第46回PHP勉強会@関東に参加してきました。

今回の会場は、グリー株式会社さんのセミナールームでした。(id:ichii386さんありがとうございました!)

以下、簡単なメモと感想。

CakePHPのWebTestCaseでfixtureを使う k-kishidaさん

  • fixture
    • テスト用のデータベースやテーブル、データを準備する仕組み。
    • 各テストケース毎に固定したデータが準備されているので、結果が変わることはない。
  • CakeWebTestCase
    • CakeWebTestCaseはWebTestCaseを継承してるだけ。
    • 自分で拡張する必要がある。
  • 手動でテストは面倒
    • テスト実行前に、開発DBをエクスポートし、テスト用DBをインポート
    • テスト用スクリプトで、テスト前にdatabase.phpを書き換える
  • なければ作る
    • cake_test_case.phpをコピーして書き換えて作成
    • bootstrapに初期化コードを追加
感想
  • Cake PHPをあまり使ったことないけど、fixture使えるようにしたら便利そう。
  • テストか通常のアクセスかを判別してたけど、個人的には、ここはあんまり必要性を感じなかった。
    • yumとかで管理しておけば、設定ファイルは上書きしない設定にするだけで良いかなと。(それが出来ない環境が多いかもしれないが)

CodeIgniterで階層化MVC NEKOGETさん

  • Codelgniter
  • ActiveRecord
  • DB構造
    • 縛りは緩やか
  • HMVC
    • モジュール機構用ライブラリ
    • controllerとかviewと同じ階層にmodulesディレクトリがある
  • MachBox
    • Google Code
    • 利用事例
      • CI-CMS
      • MyNETS2
    • デメリット
      • Log出力が多いため遅い
      • バックとレース自体の実行速度はそれほど問題ではない?
  • Moduler extension HMVC
    • 利用事例 調査中(見つからない)
  • テスト
    • CIUnitが1.7.2未対応
    • 1.7.2のUnit_testクラスを使うことにした
      • テストモジュール作った
      • フレームワーク自体をテストする必要ない
      • テスト結果画面で見える
  • 作った人にIRCで出会って質問いっぱいした
感想

PHP Source Code Search with PHP - id:sorarokさん

  • 検索エンジン
    • キーワードから文書探せる
  • 検索エンジンを作る
  • 転置インデックス
    • 逆引き
    • PHPでやるならarrayでしょ
  • クロールとキーワード抽出をPHP
    • token_get_all関数使う
      • T_STRING
      • T_VARIABLE
  • スコアリングと並び替え
  • 技術的な課題
    • デモったやつは全部 on memory
    • 並び替えの基準は出現頻度でいいの?
      • 属性情報とかいろいろとればさらに
    • And/Or検索
感想
  • 情報検索は、家計簿ったー(家計簿ったー(α)を作ってみた - yokkunsの日記)の時に勉強した事があったので、基本的には知ってることだったけど、すごく分かりやすい説明で、これをきっかけに興味を持った人とかいるんじゃないかなと思った。

つらくないコードを書こう - id:sanemat

  • PHPの読み書き
    • 大部分は過去の資産のメンテナンス
    • 機能の拡張
    • プロトタイプ作成
  • つらいコード
  • プロトタイプ
    • まともな環境でプロトタイプ作成するときこそ重量級フレームワークを使うべき
      • 機能が追加されるのは決まってる
    • とはいえ、MVCとかCoCやDRYとかは、いきなり言われても分からない
  • そこで、薄いフレームワークlimonade
  • まとめ
感想

全体的な感想

  • 全体的にフレームワークとテストの話が多く、参考になった。
  • 懇親会でid:sotarok さんと、PHPのコア部分の話が出来て楽しかった。
  • 懇親会では話するのに夢中でピザ一切れしか食べれなかった。。。

Toggeterでまとめてみた

せっかくなので、Toggeterを使って、当日のつぶやきをまとめてみました。


参加された皆さん、お疲れ様でした!