tsyama記

プログラミングとそのほか

PHPカンファレンス福岡 2019 に参加してきました #phpconfuk

はじめに

すっごい足を伸ばして福岡まで参戦してきました。感想ブログです。

見たもの

PHP 型検査・夢と理想と現実

「PHP型検査・夢と理想と現実」 #phpconfuk|tadsan|pixivFANBOX

三度目のカンファレンスですが、@tadsanさんの登壇を毎回拝聴してます。
静的解析の人というイメージがあるんですが、今回はそれに関連してPHPの型検査についてのお話でした。

  • strict_types正直言って存在を忘れていた。使ってみないことにはわからないので、趣味PJで一度使ってみます[TODO]。
  • PHPStorm使ってるけど型検査有効活用できてる気がしないので、もうちょっとしっかり型宣言付けます。
  • と思ったらPHP7でもやたらめったら型宣言するのがいいというものでもないらしいです。
  • strがstringの別名じゃないの罠過ぎる。僕も今まで書いたコードで絶対一度はミスってそう。
  • 頑張ってPHPDoc書きます

Monitoring PHP

slide.seike460.com

PHPerKaigi2019のときも@seike460さんのPHP監視、サービスを守る為に行う不測の事態への努力を見ました。監視系の話すきです。

  • PHPのアプリケーションに監視を導入する際のポイントが体系的にまとまっていてわかりやすかったです。早速やってみたいと思った。
  • 具体的にこの監視ツールがおすすめ、という例をあげていたので助かりました。Prometheus使ってみたいです。
  • でもやっぱり監視ツールを導入するとなると何かしらのWebサービスを公開しないと始まりませんよね。

Webサービスの成長を止めずにリファクタリングする技術

Webサービスの成長を止めずに リファクタリングする技術 / web-refactoring - Speaker Deck

phpconsenやPHPerKaigi2019ではDB関連の話を聴きましたが、今回はみんな大好きリファクタリングの話題でした。リファクタリング大好き。

  • 僕の仕事は受託中心なのでリファクタリングは縁遠いと思ってましたが、最近ちょうどそういうPJが始まりそうで、他人事でなく聴いていました。
  • リファクタリングの話題でデザインパターンという言葉が出てきたのが意外でした。GoFとか一年目ぐらいのときにちょっと齧って齧りっぱなしなのでこれを記にちゃんと咀嚼したい。
  • 「実際にリファクタリングした例」がほんとにためになりました。
    • ドメイン層をAPIにするの、ちょうどいまやろうとしているところだったので参考にします
    • 「Viewにif文があるとテストがし辛いのでよくない」など、経験に基づくアンチパターンがありがたい

PHPでURLルーティングを実装する

PHPでURLルーティングを自作する - Speaker Deck

  • 普段フレームワークで提供されている機能を自作するのっていいですよね。PHPerKaigi2019のときにオレオレフレームワークの話がありましたが、それと近しいやりがいを感じます。
  • RoutingMapって木構造なのか…、と思いましたがディレクトリ構成とかもいわば木構造なのでわりとありふれているのかも。
  • LaravelとかもRoutingMapを連想配列で持ってるんでしょうか。今度調べてみよう。

ユニットテストの現場の問題を原則に立ち返って考える

ユニットテストの現場の問題を原則に立ち返って考える / think deep unit test practical problem - Speaker Deck

  • ユニットテストによるコスト削減 vs ユニットテストの作成・維持コスト」わかる。テストって作成コストばっかり見てるんですが、維持コストもバカにならないなーと最近思う。あとあえてテスト自動化しない選択肢も持っておくべきですよね。なるほど。
  • 全体を通してユニットテストアンチパターンみたいでわかりやすかったです。
  • 「よくわかんないけどたまに落ちるテスト」わかるー
  • 「相互依存するDBフィクスチャ」わかるー

Laravel クリーンアーキテクチャ

Laravel でやってみるクリーンアーキテクチャ #phpconfuk

  • 最近アーキテクチャという言葉に敏感なので楽しみにしてました
  • 「ソフトウェアアーキテクチャの目的は、求められるシステムを構築・保守するために必要な人材を最小限に抑えること」で、クリーンアーキテクチャはソフトウェアアーキテクチャのひとつのアプローチである、という理解でいいんだろうか。
  • まずはビジネスルールを自然言語でまとめ、POPOでエンティティ実装、という流れはよさそうなので実際にやってみたい。

PHPの関数実行とその計測

PHPの関数実行とその計測

  • さすが上級者向けセッションだけあって、phpconfukで一番付いていくのが大変でした
  • それでもなんとなーく、ふんわりとではありますが最後までついていけたので満足です
  • ここでも木構造が出てきました。PHP構文解析を行う過程で構文木を作るとか。
  • プロファイラはまだ意識的に使ったことがないので使ってみたいですね。xdebugはちょこちょこ齧ってるのでtidewaysをやってみたい。

まとめ

今回は思い切って懇親会まで参加したんですが、初参加の仙台のときよりも断然色んな人と話せました。全体的にアットホームで、新参でも話しやすい雰囲気だった気がします。 初福岡で仙台からの参加者もほとんどいなかったようなので開催前はアウェイ感半端なかったですが、最後には福岡の温かみを感じて帰ることになりました。ありがたい…。

最後に、PHPカンファレンス福岡2019のスピーカー、スポンサー、そして運営をしてくれたスタッフの皆様に感謝です。おかげ様で今回も良い勉強と思い出になりました。

f:id:tsyama-desu:20190701210201j:plain

これは福岡で食べた一番うまいラーメンです。

f:id:tsyama-desu:20190701210439j:plain

あと、関係はないんですが福岡から仙台の飛行機乗り継ぎで寄った大阪で食べたスーパーうまいたこ焼きの写真です。