cakephperの日記(CakePHP, Laravel, PHP)


継続的WebセキュリティテストサービスVAddyを始めました!

2012-03-24

CakePHP勉強会 2012春 @東京で発表できませんでした!

CakePHP勉強会 2012春 @東京 〜ヤザマキ春のCake祭り〜

主催者&メインセッションの発表者だったのに、インフルエンザで欠席しました。

当日は@mon_satさんと@hiromi2424さんが私の発表資料をつかって即興プレゼンしてくれました。ありがとうございました!

発表資料を置いておきます(当日やってもらった資料にいくつか情報が足してあります)


しばらく福岡に住むことになったので、その前にCakePHP勉強会やっておきたいなと思って主催したのに・・・

とはいえ、月に1回ペースで東京出張するので、勉強会参加や飲み会参加には影響がありません! #cake_beer

2011-06-27

CakePHP2.0勉強会で発表しました ローディングの話

2011/6/25に開催されたCakePHP2.0勉強会セッション発表を行いました。

私の発表動画はこちら。

http://www.ustream.tv/recorded/15605906


簡単に要点だけ言うと、CakePHP2.0からはAutoLoad, LazyLoadの仕組みが導入されるため、不要なファイルの読み込みが発生せずCake1と比較してパフォーマンスアップします。

どれだけアップするかという比較は今後やっていきます。


CakePHP2.0勉強会Ustreamアーカイブ

今回のUsteam動画は下記にあります。

■CakePHP2.0勉強会@Tokyo Workshop(1) : 単純なアプリケーションの作成

http://www.ustream.tv/recorded/15603473

■CakePHP2.0勉強会@Tokyo Workshop(1) の内容のふりかえり

http://www.ustream.tv/recorded/15604787

■CakePHP2.0勉強会@Tokyo CakePHP2.0 ではじめてのテスト

http://www.ustream.tv/recorded/15605488

■CakePHP2.0勉強会@Tokyo ロード第1章

http://www.ustream.tv/recorded/15605906



CakePHP2.0勉強会の感想ブログ

感想ブログは下記にまとめていってます。

http://b.hatena.ne.jp/cakephper/cake2study1/


CakePHP2.0勉強会の感想

今回はスタッフとして参加し、司会とセッションの発表を行いました。

今回は事前にATND::Paymentで懇親会のチケットを販売し、当日購入とちょっと金額差をつけてみました。事前発注があるのでやはりチケット制が安心です。

http://atndpay.eizoku.com/

チケットは購入期限ギリギリで多く買われるという傾向がわかって勉強になりました。今後の参考にしたいと思います。


今回は半日使ったワークショップ&セッションをメインに勉強会を行いました。ワークショップはhiromi2424さんがやり、セッションは私とmon_satさんが行いました。

時間に余裕を持たせたスケジュールにしたので、当日時間が押してるとかドキドキしなくて良かったです。全体の1/4ぐらいは休憩や調整時間にしておいたほうがいいですね。

あと、ワークショップは環境構築で時間が取られたり、hiromiさんの解説を見ながら自分で手を動かすのがちょっと厳しかったりで、途中からmon_satさんがワークショップのコードに対する質問を行い、hiromiさんが答えるというスタイルに切り替わりました。

これがすごく良くて、コードリーディングをみんなで共有してるみたいな感じ。今後もこのパターンは取り入れていけると面白いと思いました。


懇親会は・・・いつもどおりに盛り上がりました!

今回は会場提供のトライコーンさんのご好意で会場での懇親会ができて、時間も18時から22時ぐらいまで使えました。

酔った勢いで初LTとか、すごく雰囲気のよい感じで時間が過ぎていきました。いつもながら懇親会が楽しいのは重要ですね。あと人数が30人ぐらいだったのでアットホームな雰囲気で出来たのも良かったです。


会場提供のトライコーンさん、Ustream配信の@suzukiさん、スタッフのみなさん、休日に来てくださった参加者のみなさん、ありがとうございました。楽しい土曜日になりました。


CakePHP2勉強会は何回かやっていく予定なので、今後とも宜しくお願い致します。

あと、今週水曜日(2011/6/29)の22時ごろから、CakePHPラジオ CakeRadioGaGaを放送しますので、是非ご参加ください。skype経由でみんなしゃべるので、しゃべりたい方を絶賛募集中。

http://www.facebook.com/CakeRadioGaGa

2010-11-05

第1回 ITEigo にて全員が英語のプレゼン、質疑応答をして壁を一つ超えました!

PHPMatusriの熱気が冷めやらぬうちに、ITEigoという会を作りました。

PHPMatsuriでみんな結構英語に積極的になってたので、この勢いで英語でエンジニア全員がプレゼンする場を作ったら面白いんじゃないかと思ったのがきっかけです。

最初、ITEnglishにしようと思って検索したら色々と出てきてハッシュタグも競合しそうだったので、ITEigoにしました。

ITEigoに関する説明として、今回オープニングで使ったスライドをアップしました。

この資料は次回も使い続ける予定です。

ITEigoの試みが成功したので、同じようなことが各地で開催されれば良いなと思ってます。その際はこの資料をご自由にお使い下さい。


この会は、今後定期的に開催していく予定です。次は11月末の金曜日の予定。詳細は下記のGoogleGroupに参加してください。

今後は関東以外でもやったら良いと思ってるので、関東以外の方も是非ご参加下さい。

http://groups.google.co.jp/group/iteigo



第1回をやってみるまでどうなるかドキドキしてたのですが、結果は大成功。

自分が司会をやりましたが、質問を常に考えておかないとなと準備してたら、質疑応答が英語で活発にあってびっくり。たぶん英語でのプレゼンは、日本語よりも情報が少なくなる傾向があるので、聞いてる人は質問をすることによって理解を深めようという意識が働いたのかも。日本語でのプレゼンよりも質疑応答が活発だったのは意外でした。(もしかしたら10人という人数がちょうど質問しやすい雰囲気で良かったのかも。)

参加者からは、初めて英語でやってみたけど面白かった、次回も是非!という意見があり、嬉しかったです。

全員が同じ発表者という立場になり、シャイにならず、同じ時間、経験を共有していたので、日本人同士で英語をしゃべってても違和感がありませんでした。



今回は発表時間を5分、質疑応答を3分にしましたが、発表中はあえて質問せず、発表時間が延びても止めませんでした。これは初回だったので発表に集中してほしかったのと、時間の区切りを強くしすぎるとあせって発表も不十分になるんじゃないかと思ってそうしました。ただし、相槌を打ったり、I think soと言ってみたり、プレゼン中に反応を返すようにはしてました。反応ないと不安になると思ったので。


告知の際に言い忘れてたのですが、第1回目から完璧なプレゼンをしてもらいたい訳じゃなく、とりあえず英語でのプレゼンを経験してもらって、雰囲気をつかみ、その中から次回に繋がる課題を各自見つけてブラッシュアップしてもらえればと思ってます。(完璧にしよう思うといつまで経ってもプレゼンできないから。完璧な英語でプレゼンしないとバッシングするわけじゃないのでご安心を、むしろそんな人はお断り)。

発表への不安が強いとみんな敵に見えてくるけど、そんなことはない!みんな仲間なので暖かく見守ってくれます、ご安心ください。

重要なのは、自分の言いたいことを英語で伝える、という意志を持つこと。

今回出られなかった方、次の会には是非お気軽に参加ください。


今後は、何回かプレゼン練習の会をやってみて、慣れてきたらUstreamで中継したり、海外のゲストを呼んだりしてみたいと思っています。将来は誰かが海外のカンファレンスで発表してみるなどの事例が出来れば最高だなと思ってます。


今回はオープニングと最後のまとめを日本語で、プレゼン中は司会者(自分)も含めて全て英語にしました。(緊急の場合のみ日本語OKにした)

司会は最初に、「Next is XXX-san, please start your presentation」と言って、最後に「Thank you. Anybody has comment or question?」と言っただけ。

日本語がちょっとでも聞こえると、そっちに引きずられるので原則英語のみとしたほうが良いと思います。

オープニングを日本語でやったのは、自分の意図を100%理解してもらいたかったからです。緊張もときたかったし。


自分はCakeFest@Chicagoの発表経験をプレゼンしました。資料は下記にあります。



次回へのメモ, 反省点

  • 時間は明確に区切ったほうが良い(ケースバイケースで)
  • ビールは飲みすぎない(ほどほどに)
  • 人数が増えそうな場合は土日の開催も視野に入れる
  • 楽しめて、開催の負担を軽減して、長期安定運用を。たくさんの人を集めることが目的じゃない
  • 指摘したほうが良い間違いは積極的に指摘する(Themeの発音とか)
  • 2時間だと10人ぐらいが限界
  • 居酒屋の個室で3時間ぐらい使ってやるのも良いかもしれない

2010-10-15

PHPMatsuriで熱い夜を過ごしました(参加報告)

10/2(土)-10/3(日)に東京の晴海グランドホテルにてPHPMatsuri(PHP祭)が開催されました。

初日は吉岡さんの英語大事だよの話から始まり、PHP5.3やLithium, Symfony, ユニットホスティング、リクルートさんの話など夜まで豪華な内容が続きました。次の日の昼に、ハッカソンで開発したものをプレゼンしてもらい、何人かの方に賞が授与されました。お疲れ様でした。

詳細は、他の方の感想ブログや写真を見てもらえればと思います。

http://2010.phpmatsuri.net/page/blog-and-picture-of-participants


自分は初日夜に事例ナイトというセッションで、PhpmatsuriのサイトをCakephpベースのCMS Croogoで作った話をしました。


この発表資料は当日セッションを聞いてる合間に作っていて、発表後の達成感からハッカソンで何も作らず。雰囲気を楽しんだり、海外ゲストや参加者の方と話したりしてました。

次の日の朝11時ごろに作りたいものがひらめいたのですが、海外サービスとの連携箇所でアメリカ国内の電話番号が必須と分かり断念しました。。。下準備は大事ですね。(Skypeを使えばアメリカ国内の番号も簡単に取得できたのですが、そこまで気力と時間がなく断念しました)。

ただ、ユニットホスティング上で実装しようと思ってユニットホスティングサーバのセットアップ、ログイン、php5.3セットアップまでは出来たので、そのお手軽さがつかめたのが良かったです。

泊まりのハッカソンでどうなるかドキドキしてたのですが、みんな本気で夜中まで開発してて、圧倒されました。参加者の方は積極的に英語を使って海外ゲストの方と話したり、プレゼン資料を英語で書いたりと、吉岡さんの講演で英語熱が一気に加速してた印象です。


今回、海外から、Graham(CakePHP)、Joel,Nate(Lithium), Kris(Symfony)の4人を招いて発表とワークショップをしてもらいました。セッションを聞き、ワークショップでそのコードの洗礼を浴びるという豪華なもの。自分はGrahamさんのワークショップのサポートで通訳っぽいことをしました。途中から自分の思うCakePHPの利点なども注入しながらやってたので、Grahamさんが言ってないこともたくさんありました(ご注意ください)。

メインの開発者の人にダイレクトに聞けて、サポートしてもらえるなんて、夢のような時間だなぁと思ってみてました。


今回参加してみて、ブログ見てますと言ってくれた方がいらしゃって嬉しかったです。軽い気持ちで始めたこのブログですが、継続していて良かったなと思いました。


Phpmatsuriの翌日は燃え尽きてるかと思ったのですが、心地よい疲労感がありながら、俺もやったるでーという気合がみなぎっていて、ワクワクした感じがしばらく残ってました(他の方もそんな感じだったみたいです)。

これだけ豪華なイベントをこの値段で出来たことが良かったです。安藤さん、スタッフのみなさん、スポンサー企業様、参加者の皆さん、ありがとうございました。


次回はスタッフとして参加した報告を書きたいと思います。


最後に、写真で振り返ります。

resize0674

P1040723

今年はTシャツ、ステッカー、エコバックなど。


真剣そげ

外での開発も気持ち良さそう。


Practical PHP5.3(実践PHP5.3)

NateさんのPHP5.3の話


Re-imagining CakePHP: The path to 2.0

GrahamさんのCakePHP2.0の話


resize0700

Joelさん、NateさんによるLithiumの話。仲が良さそう :D


resize0706

KrisさんのSymfony2の話。


resize0708

ワークショップはこんな感じで、コアデベロッパーと距離がぐっと近くなります。素晴らしい。リチャードさんの翻訳付き!



resize0722

ケーキ

職人魂!!!ここまでのクオリティで再現するのは日本だけだろう。


ケーキを前に各フレームワークの開発者

これぞベストショット!!


resize0733

事例ナイトの賞品(ワイン)をその場で振舞っております。


resize0736

夜は各自もくもくとやったり、コアデベロッパーの横に陣取って聞きながらやったりと、みんなそれぞれに真剣に取り組んでいました。



夜が更けるにつれて、疲れを見せるどころかなぜかバンドで盛り上がりを見せている今年の#phpmatsuriの猛者達

夜中にはもくもくと開発する人をバックに、バンドのゲームで白熱してました。朝4時ぐらいまでやってたはず。。


resize0753

2日目の発表手前。LTのカウントダウンの表示チェックなど。


resize0750

みんなのハック内容を張り出してます


resize0758

NEWドラ娘誕生!


resize0760

発表風景。直前になって発表時間が3分程度と知らされどよめきが・・・でも33人LTだからそうなるよね。審査するほうも大変。


resize0783

感動のフィナーレ。そして伝説へ・・・

2010-09-16

CakeFest2010@シカゴで発表してきました。

あれから1週間経ってしまいましたが、CakeFest2010@Chicagoで発表してきました。

なぜ発表しようと思ったかは、「CakeFest2010で発表してきます」に書きました。


f:id:cakephper:20100905012316j:image


今回はカンファレンス1日目の午前中に1時間のセッション枠を貰って、MongoDBをCakePHPから使う方法というタイトルで発表。

内容は前半にMongoDBとは何か、何がよいのか、ドキュメント指向とは、という内容を話し、後半にPHPのPecl Mongoの話と、CakePHPからMongoDBを扱うデータソースの話をしました。このデータソースは以前自分が開発したもので、今はAndyさんと一緒に開発してます。

CakePHPからMongoDBを扱うという話の前に、軽くデータソースの利点や必要なメソッドを話し、最後にデモを2つやりました。デモは簡単なCRUDを実現する画面のデモと、削除履歴を管理するデモ。

削除履歴のデモは、beforeDeleteでMySQLから対象削除レコードを取得して、MongoDBの1コレクション(テーブル)に保存するというもの。同一コレクションに何でも保存できるMongoDBのドキュメントDBの特性を生かして、管理は1コレクションでOK、あとから複雑な検索をして該当削除レコードの履歴を参照できるという利点を説明。

これをMySQLでやろうとすると、全テーブルのスキーマをコピーして削除履歴を保存していくか、一つの削除履歴テーブルを用意して1カラムにシリアライズした削除対象レコードデータを入れるかの方法があるけど、どちらも問題を抱えている(スキーマ管理の煩雑性、シリアライズデータの検索の難しさ)という話をしました。


最初の時点で何人MongoDBを使ってるかという質問をしたら、70人中6人ぐらいだったので、今回の資料は丁度良かったです。質問も2つほどきましたが、何を質問しているかは理解できたのでほっとしました。ただ受け答えがうまくできなかったけど(model::_schema使わない理由を質問されたけど、その理由を忘れてしまってたからw)。


今回思ったのは、1時間のセッションだと1時間の発表練習が必要だということ。これが思った以上に大変。日本語なら別に練習しなくてもいいんだけど。それとデモをやるので時間が足りない可能性も考慮しないといけない。さらに当日は僕の前に10分ぐらい色々なものをプレゼントする企画が入ってて、結局発表時間は50分ぐらいになった。前日の夜中に練習したときはデモを含めて1時間かかってたので、優先度の低いデモははずしておいて良かったです。あと本番は余裕がなくなるためか、思った以上に早く進行したのもあって時間内に終われました。

本番直前の1時間が一番緊張して、本番が始まったらそこまで緊張しなくなりました。もう覚えたことをひたすら話すだけのロボットのようになってました。もうちょっと感情を込めて発表できたら素晴らしかったんだけど、そこまでの余裕はなかった。ビデオはそのうち完全版がアップされる予定なので、その時にまた追記します。

f:id:cakephper:20100907220417j:image



感想

今回は安藤さん、岸田さんも参加してて安心感が違いました。さらに去年のCakeFestで会った人がいたことや、ワークショップ初日の夜の飲み会に参加してMarkStoryさんや他の参加者の人と面識を持てたこともあって、アウェー感があまりなかったのが良かったです(次の日は二日酔いで午前中をつぶしたけどw)

僕の発表に期待してるよと言ってくれたCakeFestスタッフの方にも感謝。ただ有料のイベントなのでその期待に答えなければというプレッシャーが半端じゃなかったです。

発表前に逃げ出したくなって、Twitterで呟いたら、日本のみんなから「がんばれ!」コールが・・・これにはかなり助けられました、ありがとう。サマーウォーズの気分が味わえましたw

発表が終わったあと、「良いプレゼンだったよ」とみんなが気軽に声をかけてくれたことに感動して泣きそうになりました。IRCでも良かったよと言ってもらえて、ここまで来て良かったと思った。僕の席まで質問しに来てくれる人もいたし、このデータソースを使って、http://www.cakefesttweets.com/

こんなサイトまで立ち上げている人がいることを知って感動した。


まだまだ英語が出来ないのを痛感してます。自分の言いたいことはある程度言えるようになったけど、相手が何を言ってるか分からないことが多い。聞いてるフリをするのだけはうまくなったけど・・・orz

ただ、世界の壁は高いと思ってたけど、そんなに英語での発表は敷居が高くない。スライド作って、何を言うか考えてざっくり暗記してひたすら練習するだけ(アクセントと発音は気をつけました、ちょっとずれるだけで理解してもらえないので)

発表するものがあるなら、それが旬のうちに発表したほうが良いです。チャンスはすぐに逃げていきます。発表者登録のサブミットボタンを押すのを躊躇することもありますが、最後は何も考えずに細かいことはいいんだよと思って、とりあえず押してみると世界が変わるかもしれません。その前に、この記事を読むことをオススメします。僕はこの記事に勇気付けられました。

「酷い英語をもっとお願いします」

http://gihyo.jp/lifestyle/column/01/language/2010/0419



安藤さんから暖かいお言葉を頂いて感激してます。

http://blog.candycane.jp/archives/351

僕がカンファレンスに出ているさなか、同時に海外に討って出て、
見事に殻を破ったのがcakephperさんです。
僕も彼も帰国子女とか国際結婚とかそういう海外に縁があるわけでもなく、ふつうのエンジニアでしたが
去年と今年のCakeFestはものすごくエンジョイできました。
そしてcakephper さんは見事スピーカーとしてデビューする快挙を果たしました!
僕の知る範囲では海外のPHPのイベントで日本人がスピーカーになったのは初めての事だと思います。
(僕に出来るのは動画を編集する事くらいです。これも楽しいですけど。) 

実はここまで来れたのもCakePHPと出会って安藤さんと知り合いになれたことが大きかった。彼は常に世界とのコネクションを意識していて、僕はそこについていっただけ。去年のCakeFestも安藤さんが行かなかったら行ってなかったかもしれない。僕の中で勝手にメンターになってます。ありがとうございます!



CakeFestは海外で行くのが大変だけど、そんな気分が気軽に味わえるPHPMatsuriがあるので、興味のある方は是非参加ください!

http://2010.phpmatsuri.net/



下記にCakeFest2010の発表資料などがまとまっています。

http://bakery.cakephp.org/articles/view/cakefest-2010-thats-a-wrap

http://josediazgonzalez.com/2010/09/04/cakefest-conference-notes/


写真など

http://www.flickr.com/photos/cakefest2010_ichikaway/