PHPer Kaigiに行ってきた

Mar 10, 2018 00:00 · 2050 words · 5 minute read php PHPer Kaigi カンファレンス

昨日一昨日と2日に渡ってPHPerKaigiに行ってきました。

  • どんなことはなしてたかの頭の整理がしたかった
  • 自分の中で熱がほとばしってるうちに書いておきたかった

のもあってブログ書きました。
まだ上がっていないスライドは後々更新しようかなと思ってます。

1日目

PHPでテスティングフレームワークを実装する前に知っておきたい勘所

  • 何よりもテスティングフレームワークつ一からペチペチして作って勘付きところを見つけていく過程が楽しかった
  • ReflectionFunctionのgetDocCommentでdataProviderっぽくやってたとこを見たところである種の執念のようなものを感じた
  • phpのpower-assertは初めて見た

PHP と SAPI と ZendEngine3 と

  • 自分のスキルとして、PHPの裏側を全く見たことがない&興味の嗜好がまだ向いていないところだった
  • なるほどそうなってるんだっというところで埋め尽くされていました
  • スライドも説明も丁寧でかなり理解が深まった印象
  • SAPI = さっぴー

大統一PHP

  • 他言語からやってきた人がPHPをDisらないために統一する野望
  • phpがhttpdになったり、phpでイベント駆動を実装したりとかなり
  • swooleが面白い!
  • coroutine, channelができちゃうとかまさにgoのいいとことっちゃったやん!phperに光差したか!?と個人的に興奮した
  • phpの可能性広がった

2日目

今からでもできる!Webサービスモニタリング!!

  • なんでモニタリング必要か?
    • 素早く障害に気付くため
    • 素早く障害原因を究明するため
    • システムの振る舞いを予測し、未然に障害を防ぐため
    • そのためにも精度の高い監視が必要
  • サーバーサイドだけじゃなくって、クライアントもインターネットも可視化してモニタリングをしよう
  • アプリケーションモニタリング
    • New Relic
    • パフォーマンスモニタリング
      • システムの振る舞いから
  • PHPが使うメモリ量や実行量が気になる
  • PHPとサービスの振る舞いは表裏一体
  • まず可視化
  • 推測より計測、計測より観測
  • 事実をより多く正しく知って未来を予測する
  • エンジニアには根拠が必要
  • システムの振る舞いとかはアプリケーションを作成するエンジニアも関わる部分だし知っていてお特な部分満載

SOLIDの原則ってどんなふうに使うの?

  • スライドが見つかってない
  • オープンクローズドの原則について説明
  • 原則を理解してコードを描こうぜという話
  • オープン
    • 機能を拡張
  • クローズド
    • 修正を行わない
  • 新人と先輩の掛け合いでコードができていくストーリー形式ですこく理解しやすかった。(シス管系女子っぽかった)
  • なんとなくレガシーコード改善ガイドとかリファクタリングとかのなんとかコードを綺麗にしていくための手法な感じがあった。
  • 新人優秀説濃厚

サーバーが完膚なきまでに死んでもMySQLのデータを失わないための表技

  • 途中から参加したため、内容が頭に入りきっていない。
  • 後から見直して知識を蓄えたい。

PHPの現場

  • CIの話
    • ビルドの時間について
    • 静的解析について
  • 負債もあるが資産でもある
  • 言語がどうとかではなく、サービスを支える基盤の一つだという認識
  • PHPでもやればいい。言語がどうとかではなく使いやすさがどうなのかを意識する
  • 個人的に今回一番楽しみにしていたPHPの現場の公開収録だった
  • CAのゲーム事業がどういう形でPHPを採用して実運用に載せているのかとか、言語ということを意識せずサービスを支えるものとしてPHPを資産として育てて行こうという感じがすごくよかった。

BEAR.Sunday

  • DI, AOP, Rest
  • さらっと流れたがオブジェクトのビジュアライザーが良さそうだったprinto
  • アプリケーションは1つの大きなオブジェクトとして扱う
  • ModelをControllerからしか呼べないんじゃなくてどこからでも呼べるようになる
  • できる限りお互いのオブジェクト同士の関係を疎結合にするためにインターフェースを利用する
  • 新しい概念の考え方の提唱のような感じで目新しかった

PHPStanで始める継続的静的解析

  • いいコードを見極める方法の2つのアプローチdynamic / static
    • dynamic
      • テスト
    • static
      • コードレビュー, 静的検査
  • PHPStormではない静的解析ツール
    • phpstan
    • 静的解析ツールを走らせてコードを動かさずにコードを検査
      • CIと連携してreviewdogなどで厳しめのルールはPull Requestにコメント
  • 100%静的に頼るのではなく動的も織り交ぜる
    • 不安ならユニットテスト
  • 動的なテストだけで品質を担保するんじゃなくて静的にもコードを保護するのも未然にバグを防ぐには有用だよなぁ
  • reviewdogをbitbucketみたいに他のサービスでも反映されるようになったら使いやすそう

まとめ

全体的にかなり密度の濃い内容ばかりでとても楽しかった!!!
他のPHPerの空気感とか新しく自分の中で検索ワードが増えたのはデカかった。
仕事でぺちぺちすることも多いのでためになったこともあったし、改めてなんか使ってみたいなーとか思うものを出てきていたので、github潜ってコード追ってみようかな。

tweet Share