やまごや

皆で Minecraft か Diablo3 (PC版) をやろう

PHPカンファレンス2015にいってきた

先週の土曜日に、PHPカンファレンス2015に午前の途中から参加してきた。 だいぶ遅くなったけど、参加して聞いた発表ごとの感想を自分なりに纏める。

岸田さん - Composerではじめるアプリケーション開発

資料

https://speakerdeck.com/player/6747f5a70f5444188f8db70b4492736a?#

きいてみて

普段何気なく使用しているcomposerだが、未だまだ解っていない箇所が多いと感じた。 あと、途中から参加したため前席へ座りづらく後ろの席に座ってしまい、せっかくのライブコーディングが殆ど見えなかった。遅刻はよくない。

composer を使うとインストールが遅いのが悩みだったので、発表が終わったあとに岸田さんにcomposerのインストールを早くする方法が無いかお尋ねしたところ、資料のアップロード等でお忙しい中色々と教えていただきました。 有難う御座います。

まずは、composerのconfigにgithub oauth token を設定した。 また、vv オプションでボトルネックになっている箇所を見極めてから、 --prefere-dist や --prefere-sourceを指定してみて、packagist.jp の利用や自社ミラーサーバーを建てるかなど検討したいと思う。

Rasmus さん - 基調講演

資料

見当たらなかった。

きいてみて

PHP7の話だった。通訳があって本当に良かった。 また、事前にuzullaさんのYAPC2015での発表を視聴していたので理解できる箇所が増えてよかった。 それでも良く分からないものが多かった。

とりあえず間違っているかもだけどメモで残しとく。

  • opcache(メモリにキャッシュ) のための cache をディスク上にもつことでさらに早くなるとか。
  • composer の動作が 4 倍早くなるとか
  • 抽象構文木の実装(Rasmusさん自体はこの導入が一番気に入ってるとのこと)
  • java のように fucntion が return する型を指定できるようになった
  • スカラ値でも指定ができる
  • ストリクトタイプの指定により厳密な型判断をおこなえる
  • null corabless operatorの追加 ??
  • spaceship operatorの追加 <=>
  • Fatalをtry-catchできるようになった
  • 多くの互換性のためのコードを削除した
  • 新しい予約後の追加
  • 数値の扱いについて色々と酒精
  • コードを左から右へ評価するように統一した
  • Unicode Code point syntax
  • php7 には今jitはない
  • Drupal8, wordpress 4.1.1 など色々なソフトウェアに対してベンチしていた
  • zendとhhvm。どちらの陣営もwordpressをベンチの軸として争っている
  • GCC Feedback-Directed Optomozatoo (FDO)
  • コードの最適化を行なうもの
  • wordpressのコードで、PHP-FDO 100回したものとHHVMだと同等のスコアになったらしい
  • php7の正式なリリースの前に、今から皆にしてほしい
  • vagrant や docker イメージも準備しているとのこと
  • その環境では php 5.3 - php7 の20までのプリコンパイルされたバージョンが入っているらしい

php7のvagrantは今日のお昼休みにでも試したいと思う。 環境構築が終わったら、演算子や細かい挙動を実際に自分で試そう。

arimoさん - DMMのハイパーメディアオタサーの姫 arimoが語る Phalcon

資料

https://speakerdeck.com/player/9a1cde2289bb434d81425d4c85f46ba0?#

きいてみて

冒頭の10分間はPhalconと全く関係のない痔の話とか色々と愉快な雑談で楽しかった...w でも、もう少しPhalconの話を聞きたかった気持ちもある。

Phalcon を選んだ理由は、インフラから覆るような大きな仕様変更が発生。 より速度を重視した結果 FuelPHP から Phalcon に乗り換えたらしい。 経験者が居たことも採用理由の一つとしてあげられていた。

途中でPHP脆弱性のためにPHPを5.6にしたことで、 Phalconのバージョンも1から2に上げないといけなくなり大変だった。

大変な理由は Phalcon 1 系は C で。 2 系は Zephar で出来ているらしい。 Zephar はビルド時に C言語コンパイルされるものらしい。Zephar自体を知らなかった。。。

あと、Zephairでエラーがでると .zep ファイルがサーバー上に出力されるらしく、エラーの確認が凄く大変そうだと思った。 正直、自身の技量では保守するのがとても難しいフレームワークだと感じた。

質問出来なかったが、個人的に気になったことはphp7を使うとなった場合、 特に問題動作するのかというところと、エラーの確認もう少し簡単に行なう方法ないのかというところだった。

市川さん - 脆弱性もバグ、だからテストしよう PHPカンファンレス2015

資料

http://www.slideshare.net/ichikaway/php2015-53484885?ref=https://techstars.jp/blog/php2015-1/

きいてみて

会場には、自身が携わっているプロダクトに対して、セキュリティテストを実施されている人が自分が思っていたよりも多かった。

今後のトレンドとしては、CIにセキュリティテストも組み込んでいくのが理想とのこと。

市川さんが携わられているVaddyは、セキュリティテスト用のWEBサービスで、 FreePlanで使い続けることが可能。ただし、スキャン時間の上限が5分なため、 大規模なプロダクトで使用する場合は課金する必要がある。

デモでは、XSS脆弱性が含まれるログイン画面をベースに行われていた。 Vaddyの画面自体は各種CIの画面と似ている形で見やすい感じがした。

スキャン時に送信したリクエストが確認できるので、手動での再現も簡単そうに見えた。

質問タイムでは、プロダクトへVaddyを導入する際に、お客様へ信頼してもらいやすくなるような資料等は用意されていたりするのか?や、検査結果をWEB上だけでなく出力するこは出来ないか?と言った質問が出た。 検査結果の件については結構要望多いらしく検討されているとのことだった。

LT 大会

資料

https://speakerdeck.com/player/3eea01f6480c4c5996cc0c988435a63a?#

きていみて

岸田さんとマスクドPHPさんの話を聞いたところで退場した。 岸田さんが上げられていたFakerは自分も知っていたが、Fabricateについては知らなかったので利用してみようと思う。マスクドPHPさんのRubyだと力出せないからPHPに作り変えて、PHPで解くというのは凄く聞いていて面白かったwロシア語に対応したり、ついでに日本語にも対応するところがサービス精神旺盛で良いな〜と思った。

全体を通して

質問タイムが設けられていないトラックもあったので、次回もし可能であれば質問タイムを設けて欲しい。 中々、自分から突撃して質問しにいくのは初対面だとしづらい。。。

最後になりましたが、スタッフの皆様、カンファレンスのネットワークを支えてくれた CONBU の皆様。 こんなに楽しい会を本当に有難う御座いました!