もやぶろ

moyashidaisukeのブログだからもやぶろ。フリーランスのエンジニアのダイスケです。プログラム関連とかギター関連とか旅行関連とか色々。

【PHP】【勉強会】大改修!PHPレガシーコードビフォーアフターに参加してきた

🤲概要

PHPの勉強会「大改修!PHPレガシーコードビフォーアフター」に参加してきました。

タイトルから想像される内容とは少し違いましたが(何をもってレガシーとするか)、良い切り口で大変おもしろかったです。

phperkaigi.connpass.com

📚勉強会の概要

個人で開発しているwebサービス「fortee(ふぉるて)」の技術的負債を匠達が改善していく!

みたいな目論見だったのですが、実際には

  • 一般的に想像されるより思ったよりレガシーじゃない
    • PHP7系
    • Cake3系
    • docker使ってる
    • テストちょっとだけどある

という事で、

雑目に作られたサービスを、ちゃんとした設計・運用にのっけるために必要なノウハウ集!

だったと思います。

サービスを新規開発する時とか、雑に運用してたけどちゃんとしよう!みたいな時のチェックリストのとっかかり(これだけでは足りないので)として良い感じだと思います。

🤔発表ごとの感想

スポンサーセッション / @suzukiさん

価値を提供しているコードはレガシーじゃない、レジェンドコードだ!

レガシーだと技術的負債みたいなマイナスの言葉として捉えがちなので、中身はあれでもしっかりとユーザーに価値を提供しているコードはレジェンドコードとして尊敬しよう。

これはすごく良いですね。価値提供してないならサービス終了とか削除されちゃいますしね。

歴史的経由とかで今見るとあれだけど、ユーザーに価値を提供できているというのは偉大な事。

独立したコアレイヤパターンの適用 - fortee 編 - / @shin1x1さん

PHPStormの使いこなしがやばい。自分はまだまだだ、、、

speakerdeck.com

ライブコーディングしてくれたのですが、PHPStormの使いこなしっぷりが気持ちよくて、見てて楽しいライブコーディングでした。すごい。

PHPプロジェクトに静的解析を新規導入する / @tadsanさん

静的解析をプロジェクトにいれてみよ〜

www.pixiv.net

話として知ってはいたものの、「lintだけ入れとけばあとはレビューでなんとかなるっしょ」、という感覚で入れたことなかったですが、改心しました。

forteeに脆弱性検査をかけてみた VAddy編 / @cakephper(ichikaway)さん

今までZAPで雑にやってたけど、CIに組み込めるし使いやすそう

www.slideshare.net

セキュリティ大事ですよね、、、

ZAPに比べると、webエンジニアが使いやすそうでした。

レガシーなWebアプリケーションと向き合う / @blue_goheimochiさん

レガシー具合も「推測するな。計測せよ。」

www.slideshare.net

レガシーなコードって、感情的に「辛い」「触りたくない」みたいな感じになってしまうのですが、可視化できるところはすると、改修の指針としてすごく使いやすいなと思いました。エンジニア以外にも説明しやすいです。

Forteeをバージョンアップしてみた / @yakitori009さん

テストあるとバージョンアップの大変さが全然違うな〜

speakerdeck.com

バージョンアップ、こまめにやらないときついな〜と改めて思いました。テスト大事。

その他資料まとめ

togetter.com

togetter.com

🤝まとめ

ありがとうレジェンドコード。

  • 設計
  • 静的解析
  • 脆弱性診断
  • レガシーさの計測
  • バージョンアップ

と、運用してると向き合わないネタが色々な方面から取り上げられて、大変勉強になりました。

OSSだとすごい勢いで改善は進むだろうけど、全体で何が起きているかはわかりにくくなっちゃうので、あえてこのままプライベートなリポジトリにしておいた方が、ネタとしては面白いなと思いました。

第2回期待しています。