忘備録がてら簡単な感想と資料リンク
PHPの今とこれから
PHP 8.0: A new version, a new era
PHP 8.0の新機能や変更点の紹介。
JITはWeb開発でIOがボトルネックなので影響は小さそうだが、適用分野の拡大に役立ちそう。
目先ではUnion型とヌルセーフ演算子、match()でかなり仕事が楽になるため何とか8.0にアップグレードしていきたい。
(breaking changesもあるけどこれで引っかかるコードはまず反省したほうが良い)
一番はPHP開発陣の紹介で、あまり知る機会が無いので新鮮で良かった。
https://fortee.jp/phpcon-2020/proposal/d61c47b7-04b5-4f07-8203-039796f09c32
https://www.slideshare.net/hirokawa/php2020-240022360
https://fortee.jp/phpcon-2020/proposal/c2e84390-83a9-43b5-8f6f-8ed806400891
https://slides.com/carusogabriel/php8-en
DNS改ざん検知ツールの実装とDNSパケットの世界
DNSハイジャックと、対策が難しいので監視するNScheckerを作られたというセッション。
また後半はDNSの仕組みやパケット構造について。
何となくで理解していたところがあるが、しっかり説明頂いて大変勉強になった。
完全に防ぐのはかなり難しく、NScheckerは実際使ったほうが良さそう。
https://fortee.jp/phpcon-2020/proposal/42374b41-e742-4c79-be9d-42cfb1763c89
https://docs.google.com/presentation/d/1DvrP9tOLvgSeoGynkNt0U8hRqvfZxBtxa0a6wRA8XuE/edit#slide=id.p
CakePHPで学ぶDIコンテナ
DI、DIコンテナおよびCakePHPでの取り込み方についてのセッション。
大変わかりやすく、CakePHPでも簡単に採用できそう。
問題はCakeのアップデートだけど、後述のRectorで進めて行きたい。
https://fortee.jp/phpcon-2020/proposal/48c5bea5-2b1d-43bd-b8dd-50c4724cf787
https://speakerdeck.com/itosho525/learn-a-di-container-through-cakephp
Service communication re:Born
APIでのメッセージングについて。個別に送るよりStreamingでのpub/subモデルのほうが良いというお話(apache kafka等)。
メッセージ数も減るし、再開やデバッグも楽。確かに真面目に作るならこのモデルのほうが良さそう。
現状API開発やってないものの、そろそろ必要かと考えていた所なので大変役に立った。
https://fortee.jp/phpcon-2020/proposal/4cd41f42-219c-4653-a862-6b372df1e52e
https://drive.google.com/file/d/1E9ywciK0mmfBIbC22znjN4JrEuSjx2Py/view
Functional Programming in PHP
関数型プログラミングをPHPでやるという話。
全然知らないので大変勉強になった。Monadとか用語レベルで知識足りないが
immutableにするため毎回cloneするというのは特別関数型と言わない世界でも採用されている訳で、
直接使わなくとも基本的な知識として知っておいた方が良さそう。
https://fortee.jp/phpcon-2020/proposal/4cd41f42-219c-4653-a862-6b372df1e52e
https://speakerdeck.com/ace411/functional-programming-in-php-php-conference-japan-2020
その他 Rector
資料探しにディスコ覗いてたら見つけた良い情報。
Rector がコードのアップグレードに役に立ちそう。
PHPのバージョンアップ、FWのバージョンアップで修正必要な箇所を洗い出し、修正してくれる。
勿論主導で直した方が良い所もあるだろうが、スクリーニングを一気にできるのはそれだけでも価値がある。