今月の12日にPHPカンファレンスありましたね!
今年は、オンラインの開催で、リアルタイムにみる必要ないんじゃない?って思った方も多いかもしれませんが、私が思うこのセミナーのいいところはモチベの高いPGの集まりなので、刺激を受けて自分もモチベが高まるところですね。(去年も同じ話してますが💦)ちなみに去年↓
DiscordやYoutubeのコメントなどで、そういうのが感じられて、
「やっぱりIT業界はいいなぁ…。(^_^)」
と思いました!
また、このセミナーのいいところは、実際の実用的なアプリでどのように取り組んできて、どのような失敗があったかという話を聞けることですね。
知ってることとやったことは100倍ぐらい重みが違うので、ためになります。
PHPに関しては、悪く言われることも多い言語ですけど、私はもう10年ぐらいPHPやってきて、PHPやってきてよかったなー、と思っております。言語というのは、すたれない勝ち馬に乗ることも大切なので、今のところ、まだPHPがメジャーであるのは確かですし。Javaの次に好きな言語です。
弊社でもいつかこういうののスポンサーになって、誰か弊社のPGが壇上で話してくれるといいですね!( ˊᵕˋ )
では、内容ですけど、私が見たものだけ、まとめをさくっと書いておきますね。
1.PHPStan使う
・PHPの静的言語解析をするツール。できれば使っていきたいですね。
・PHPDocsちゃんと書きましょう。
・PHPStormでもuseで使う名前空間の並び替えとかやってくれるらしい。
2.テスト駆動開発の導入(シャドウバース)
・テストを書くための時間がないんじゃない、テストを書かないから時間がないんだ!(…刺さる…(>_<))
・決まった時間にテスト実行しよう
・アプリDBとテスト用のDBを切り離そう
・大規模なリファクタをする場合、大きなスコープでテストを書いてから、小さなスコープに切り出しておく。
それでIN/Outが変わっていないことを確認。そうすると、失敗が少ない。
3.事業のスケールアウトをプログラミングで支える★
・アプリはリリースしてからが本番
・書き込みが多いアプリケーションはCassandra、DynamoDBなどを使っていく
・CQRSに取り組む
例えば、ランキングの取得とか いちいちDBにアクセスして集計していたら大変…。
でも、誰かがイイネを押したら、更新されないといけない…。
→前日にランキングのデータを作っておいて、後はイイネが押されたらDBのトリガーを走らせて、DBを更新するなど
・2フェーズコミットは難しいからやめたほうがいい
・イベントソーシング ApacheKafkaがいいよ
・分散トランザクションも難しいのでやめたほうがいいよ
Sagaというソフトがあるらしいけど、難しいのでやめたほうがいいよ
・Kappaアーキテクチャがおすすめ
4.Composer2の話
Composer2がだいぶ早くなったよー
OSSのソース見るのは勉強になります。読んでみよう!
来年も、これ見れるといいな。
運営の皆様に感謝です!