Posts Tagged ‘cakephp’

    はてなブックマーク - PHPMatsuri参加レポート(2/3)
    このエントリーをはてなブックマークに追加

    はじめまして、Fusicエンジニア)櫻川です。
    今回がブログ初投稿になります。よろしくお願いします。

    時間がたつのは速く、PHPMatsuriから1か月が経過しようとしています。
    「いい加減早くPHPMatsuriのブログを書け」と弊社の小山が怒り始めましたので、
    今回は遅くなりましたが、10/2、10/3に参加したPHPMatsuriの参加レポートを書かせていただきます。

    Lithium ワークショップ

    今回自分のハックはLithiumを使って何かを作ろうと決めていたので、
    一番の目的がこれでした。

    Lithium ワークショップ!!

    CakePHP使いの自分としてはLithiumは非常に気になります。
    ここでLithiumを覚えてその後ハック開始!
    予定はばっちりです。

    Lithium ワークショップが開始され流れにそって「li3コマンド」を実行。
    ※li3コマンドは、CakePHPのbakeコマンドのようなものです。

    li3 create Photos 実行
    PHP Fatal error: Class name must be a valid object or a string

    エラーです。
    LithiumコアデベロッパーのJoëlに助けを求めたのですが、
    15分程度Lithiumのデバッグをした後に
    Joëlに流調な日本語で「ごめんなさい。」と謝られました。
    バグ修正できませんでした。。。

    Lithiumワークショプ失敗です。
    予定は予定通りに行かないものです。

    ちなみにJoëlは右から2番目です。

    あきらめずにLithiumでハック

    僕は負けません!
    li3コマンドが実行できないなら0からソースを書けばいい。
    わからないなら、Lithiumのソースを読めばいい。
    ソース読めの精神でハック開始です。

    今回、自分のハックは
    「PHPMatsuriのサイトにある参加者全員のTwitter一覧をScrapingでTwitter IDを取得して一気にフォローする」
    というものにしました。

    CakePHPと比較して、Lithiumを触った感じはnamespace等PHP5.3の新機能がたくさん使われてはいるが、
    $this->redirect(”);$this->render();
    いったCakePHPお馴染みのメソッド等もたくさんあるので、ストレスなくLithiumに入っていけるのではと感じました。

    成果物発表

    成果物デモ発表中に会場にいる全員をフォローしようと考えていたので発表方法は決まっていたのですが、問題が自分のハックはスクレイピングしてフォローするという仕様上、1回しか実行できないということです。
    ※全員フォローして、ごめんなさい言いながら全員アンフォローを繰り返せばテスト可能ですが。。。

    というわけでテストなしのぶっつけ本番デモで発表しました。
    ※さすがに単体テストはクリア済みです。

    結果、デモは何の問題もなく全員をフォローすることが出来たのですが、
    デモを実行して最初に「フォローされてる」という声を聞くまでは非常にドキドキでした。

    結果発表

    自分の発表が
    Lithium賞 次点
    という評価を受けました!!
    自分に投票してくれたみなさんありがとうございます!
    運営のみなさんありがとうございます!
    心から感謝です!!

    ニフティクラウド無料利用券 + iTunes Music Gift Cardを頂きました。

    PHPMatsuri参加レポート 第3回へ続きます。

      はてなブックマーク - PHPMatsuri参加レポート(1/3) JIREI NIGHTで発表しました
      このエントリーをはてなブックマークに追加

      最近MacのEmacs環境がいつの間にか快適になってうれしい小山です。神様ありがとう。

      遅ればせながらPHPMatsuri参加レポートをしたいと思います。
      たぶん、全3回になると思います。

      既に多くのエントリーや写真が上がっていますが、第1回はFusicとしてJIREI NIGHTで発表した「JIREI」の裏話などをしたいと思います。

      発表はまさかの深夜

      PHPMatsurIは、ハッカソン形式のオールナイト開発がメインとなるイベントでしたが、これは本当に「ガチ」でオールナイトイベントでした。

      JIREI NIGHTもその流れで、発表時間はまさかの深夜

      私の発表はその中でも最後で、日付を超えるか超えないかのタイミングでした。
      もしかしたら数あるカンファレンスの公式セッションでの最遅の部類に入っているのではないかと思います。

      それにも関わらず会場には参加者のほとんどの方がいて、JIREI NIGHTにも半分以上の方が耳を傾けてくれていました。

      発表後もそのまま開発に移行し、私が寝たのが深夜4時過ぎ。コアデベロッパの皆さんも夜遅くまでコーディングをしていました。
      みんながもくもくと夜を通して開発をしている雰囲気、この空気感の経験は他ではなかなかできないことだと思います。
      自分も思う存分コーディングすることができました。

      JIREIと開発連携とPHPMatsuri

      私は「CakePHP + Gearman」というタイトルで発表させてもらいました。

      発表時刻も遅かったので(さらに時間も押していました)、当日は早足で話してしまいました。

      今回はこのJIREIの裏話でもしようかと思います。

      このJIREIで技術的に面白かったのはもちろんCakePHPとGearmanとの連携でしたが、それ以外に刺激的なことがあったので紹介したいと思います。

      このJIREIはアイフリークさんとのJIREIだったのですが、単なる受託案件というよりも、お互いが連携して開発を進めることができました。

      このJIREIで導入するシステムはいくつかの内部システムと連携をする必要があったのですが、
      それらに関係する仕様調整や、さらには業務と密に連携する細かな箇所の開発まで、アイフリークさんの技術チームと連携することで非常にスムーズに開発ができたと思っています。

      この経験は個人的にはとてもエキサイティングなものでした。普段は一緒にしない方とチームを組むというのは本当に刺激的です。
      JIREI NIGHTでもここらへんについても話したかったのですが、当日はできませんでした。
      こういう機会があったら今後も積極的に関わっていきたいなと思いました。

      で、思ったのですが、これってPHPMatsuriの状況と同じですよね。
      PHPMatsuriも、全国から開発者が集まって開発をしている一日中ずっと刺激的な環境でした。
      すごい環境だったんだなーと改めて思います。

      1つ反省点を上げるならば、もっといろいろな技術者と連携して開発ができたらもっと良かったのかなと思いました。
      次回またあったら是非チームを組みたいと思います。

      第2回に続きます。

        はてなブックマーク - 複雑なCakePHPテンプレートのファイルパスが一目瞭然。Viewpath Pluginの紹介
        このエントリーをはてなブックマークに追加

        ひょんなことからiPod Touchを手に入れて、ガラケーとのUIの違いに戸惑っている小山です。
        iPod Touch薄すぎて、なくしかけたのは内緒です。
        (iPod TouchをもらうきっかけとなったPHP Matsuriの話はまたのちほどまとめてしたいと思っています。)

        CakePHPの複雑なテンプレートファイル構造

        CakePHPで1つのページを表示するにはデフォルトでは2つのctpファイル(テンプレートファイル)で構成されます。
        また、element化などをして部分を切り出した場合はそれ以上の数のctpファイルで構成されます。
        さらにPrefixルーティング機能やTheme機能などを使った場合は、通常と異なるctpファイルが呼び出されることがあります。

        CakePHPにどっぷりつかった自分には全くもって問題ないのですが、これが協業していただくデザイナーさんにとってはかなり面倒なことになってしまうのが現状です。

        ただでさえ(Smartyなどではなく)PHPスクリプトが混在したファイルを触ってもらっているのに、さらにどのファイルが今のページを構成しているのかまで、理解してもらうのはかなり負担をかけてしまいます。

        Viewpath Plugin

        というわけで、作ってみたのがViewpathプラグインです。

        k1LoW’s viewpath at master – GitHub -

        これは現在のページを構成しているctpファイルのリストを作成してくれるプラグインです。
        DebugKitプラグインのように、常に左上に表示されているアイコンをクリックすると「現在のページを構成しているctpファイルのリスト」を表示してくれます。

        設置方法などはREADMEをみてください。
        たったそれだけのプラグインです。たぶんプログラマにはいらないでしょう。
        でも、きっとデザイナーの人は喜んでくれる(はず)。
        若干一部対応しきれていない箇所があるのですが、十分参考になると思います。

        いづれはDebugKitへの統合ができたらいいなと思っています。

        追記:slywalkerさんがDebugKitへの対応をしてくれました!これにより、単独利用だけでなくDebugKitへの統合も可能になります。

        よかった是非使ってみてください。