はじめに
配配メール開発課moryosukeです。 2024/02/11(日)にPHPカンファレンス関西 2024が開催されました。 ラクスはブロンズスポンサーとして協賛させていただいています。 2024.kphpug.jp
ラクスからは5人が登壇した他、多くのメンバーが参加しました。 そこで今回は参加者によるレポート、そしてラクスからの登壇者本人によるレポートを紹介させていただきます。
- はじめに
- 参加レポート
- はじめてのOSSコントリビュート
- Laravelでミニマム開発からスタートして個人サービスを利益化するまでの経験談!
- RDBアンチパターンと戦う - 削除フラグ 完全攻略ガイド
- 令和最新版 PHP メモリ管理術
- 「"品質"が高いコード」って何?
- CodeRevieweeが求められること
- アプリケーションエンジニアこそ「監視」だよね!と私が考える訳
- コードを自在に操るためのPHP文法入門
- 20年の歴史を持つプロダクトの開発チームの変革:技術広報の本質と効果
- なんで、ファイル名とクラス名を揃えるの? 知っておきたいautoloadのはなし
- その条件分岐って本当に必要?
- 実践、Interface
- Mutation Testingとはなにか? 〜Laravel(Pest)でInfectionを利用したライブデモ〜
- モデルとは何か
- PHPで学ぶ、セッションの基本と応用
- ほげ言語にあってPHPにない機能
- 擬人化で完全に理解するクリーンアーキテクチャ
- アンカンファレンス
- ラクスからの登壇セッションのご紹介
- まとめ
- PHPerのためのコミュニティ PHPTechCafe
参加レポート
はじめてのOSSコントリビュート
report by id:takaram
PHPのコントリビューターでもある、てきめん (@youkidearitai) さんによる発表です。 speakerdeck.com
PHPを含むOSS(オープンソースソフトウェア)へのコントリビュートというと、ハードルが高いと感じる人も少なくないと思いますが、実際は思ったほど難しくない、だから積極的にコントリビュートしよう!という内容です。
参加者の方の感想にもありましたが、簡単なドキュメント修正や誤字修正でもありがたい、と聞くと意外と気軽にできそうな気がしてきますね!
typoの修正、ドキュメントの修正、「コア開発者がコアの開発に集中できるから嬉しい」というのがコントリビューターの口から聞けるの嬉しいな...だいぶ自分の中でハードル下がった #phpkansai #a pic.twitter.com/C60CIrhXcJ
— あすみ (@asumikam) 2024年2月11日
Laravelでミニマム開発からスタートして個人サービスを利益化するまでの経験談!
report by id:hirobex
mukae さんによる発表です fortee.jp
レンタルサーバでも対応していることが多いというPHPの特性を活かして、
うまくコストカットをして運用したアイデアに感心しました。
広報活動についても紹介してくださり、御堂筋線に利用した広告効果の落ちが面白かったです。
RDBアンチパターンと戦う - 削除フラグ 完全攻略ガイド
report by id:shinzeeyhtb
株式会社リンケージCTOの、曽根 壮大 さんによる発表です speakerdeck.com
アンチパターンである削除フラグについて、その具体的なデメリットと、目の前にある削除フラグに対する向き合い方を解説していただきました。
削除フラグを削除するための具体的な移行方法は、膨大な情報を1レコードに持つテーブルを分割する際にも活用できるものであり、明日からデータベースのリファクタリングもやってみたくなる内容でした。
(そして会社にも本があるから読みたくなりました!)
令和最新版 PHP メモリ管理術
report by id:hirobex
めもり〜☆ さんによる発表です speakerdeck.com
PHPのメモリ管理の仕組みから始まり、メモリ消費が多くなりやすいパターンについて解説していただきました。
日頃の開発で、Zend Memory Managerの仕組みを意識して開発したことがなかったので、非常に参考になりました!
「"品質"が高いコード」って何?
report by id:os188
若葉 章 さんによる発表です speakerdeck.com
品質とは何か?というところから、品質が高いコードの達成方法についてお話いただきました。
- "品質が高い"とは、"要求を満たしている"状態
実装やテストをしている時、「バグがなければOK」「コーディング規約を守っていればOK」のような考え方に陥りがちでした。
この機能の要求ってなんだっけ?と都度立ち返ることを意識していきたいです。
CodeRevieweeが求められること
report by id:ymyhero7
おのぽん さんによる発表です speakerdeck.com
CodeReviewerが求めていることを実際のインタビュー調査から分析し、CodeRevieweeが実践するべきことを分かりやすくお話していただきました。
どのようにコードレビューを出すのが正解なのか分からず悩んでいたので大変勉強になりました。
質問されそうな部分は先回りしてコメントをしておくこと、事前に認識のすり合わせをしておくことなど、これから実践していきたいと思います。
何より、同じチームで働く者としてコードレビューを出す際にも思いやりを持つことを忘れないようにしたいと思いました。
アプリケーションエンジニアこそ「監視」だよね!と私が考える訳
report by id:hirobex
きんじょうひでき さんによる発表です speakerdeck.com
まさにタイトル通り、なぜアプリケーションエンジニアが「監視」に興味を持つべきかということをお話していただきました。
私は、あまり現在のプロダクトの監視には携わっていないのですが、この登壇を聞いて監視も面白そうだなぁと思いました。
たしかに、監視したときに、「なぜそのようなメトリクスになっているのか」のストーリーを組み立てやすいのは
インフラエンジニアではなく開発エンジニアだよなぁと頷きながら聞いていました。
コードを自在に操るためのPHP文法入門
report by id:takaram
うさみけんた (@tadsan) さんによる発表です fortee.jp
PHPStanやPsalmといった静的解析ツールはPHP系のカンファレンスでよく紹介されますが、今回はそれらが利用している構文解析ライブラリPHP-Parserについてのトークでした。
普段コードを書いているだけではあまり意識しない「構文木」や「文と式の違い」、またリファクタリングツールRectorでの構文木を使ったコードの書き換え方を知ることができ面白い発表でした!
20年の歴史を持つプロダクトの開発チームの変革:技術広報の本質と効果
report by id:hirobex
Yasuharu Sakai さんによる発表です www.docswell.com
20年もののプロダクトが陥っていた暗黒自体から、どのような改革を行い、
チームがどう良くなっていったかが、非常にわかりやすく解説されていました!
弊社もレガシープロダクトが多く、私もレガシープロダクト担当なので、
非常に共感できる箇所が多く、またその改革方法についても興味深くお話を聞かせていただきました。
なんで、ファイル名とクラス名を揃えるの? 知っておきたいautoloadのはなし
report by id:dd_fotran
赤塚啓紀 (@aki_artisan) さんによる発表です。
クラスのオートロードについての話です。普段気にせず使っているのでクラスのオートロードの仕組みを知らない方も多いのではないでしょうか?
PSR-4
のautoloadのどのような仕組みでクラスがロードされるのかを、丁寧に説明されているので、初学者の方にもオススメです。
その条件分岐って本当に必要?
report by id:hirobex
伊神 誠人 さんによる発表です speakerdeck.com
条件分岐禁止のリストバンドとともに、いかにしてif文をわかりやすくするかというお話をしていただきました。
初心者の方にぜひ聞いていただきたい登壇内容でした。
実践、Interface
report by id:yamamuuu
おぎ さんによる発表です speakerdeck.com
Interfaceを使うと何ができるのか、何がうれしいのか。またどのような場面では使うべきで、どのような場面では使わないべきかがわかりやすく説明されていました。
「Interfaceってイマイチ理解できてない」や「どういうときに使ったらいいか分からない」という方にぜひ聞いていただきたい内容でした。
Mutation Testingとはなにか? 〜Laravel(Pest)でInfectionを利用したライブデモ〜
report by id:hirobex
Kanon さんによる発表です speakerdeck.com
カバレッジメトリクスの欠点を上げ、「正しいテストケース」であるかどうか調べるための手法である
「Mutation Test」についての話をしていただきました。
私の開発しているプロダクトにも、一度やってみたいなと思える手法でした。
モデルとは何か
report by id:rakusMorita
菱田裕美 さんによる発表です speakerdeck.com 「モデルって何ですか?」と聞かれたときに、わかりやすく伝えられますか?
この発表ではプログラミングにおける「モデル」の役割と重要性を、 現実世界の地図やプラモデルを例に、明快にお話されていました。
特に印象的だったのは、「モデルが現実世界の複雑さを抽象化し、重要な部分のみ残して低コストで試行錯誤ができるようにする」ということです。
データベースも、現実世界の記録をモデルにしたもので、菱田さんが出会った最初のデータベースは図書室の貸し出し表だったようです。
発表を通して、複雑な概念であると思い込んでいた「モデル」がイメージしやすい身近なものに変わりました。
PHPで学ぶ、セッションの基本と応用
report by id:hirobex
富所 亮 さんによる発表です speakerdeck.com
なぜHTTP(ブラウザ)がCookieやセッションを持つようになったかという歴史的な経緯から、
どのようにしてCookieやセッションを扱うべきかというお話をしていただきました。
最近はCookieやセッション管理をフレームワークに任せることが多いからこそ、
なにをしているのかを理解するべきだよなぁと感じました。
ほげ言語にあってPHPにない機能
report by id:hirobex
田中ひさてる さんによる発表です speakerdeck.com
『ほげ言語のパラドックス』の紹介から始まり、ほげ言語にあってPHPにない機能を紹介していただきました。
PHPに”ない”機能の話なので当然なのですが、なぜPHPに無いんだ……!と心のなかで叫びながら聞いていました。
また、肩システム(原文ママ)の落ちも非常に面白かったです!
めちゃめちゃ個人的な話なのですが、年末年始休暇に勉強して挫折したNimが紹介されており、妙に納得感がありました。
擬人化で完全に理解するクリーンアーキテクチャ
report by id:uemura_rks
しまぶ さんによる発表です speakerdeck.com
書籍「Clean Architecture 達人に学ぶソフトウェアの構造と設計」の内容をかみ砕いて、クリーンアーキテクチャとは何かを説明されていました。
名前は聞いたことあるけどよく知らない、という私にとっては良いとっかかりとなりました。
「ビジネスルール(方針)に向かって依存の向きを整える。」これは意識していきたいです。
おぎ さんが発表されていた「実践、Interface」も合わせて聞くことで、依存の整理についてより理解を進めることができました。
アンカンファレンス
report by id:takaram
PHPカンファレンス関西2024ではアンカンファレンスも開催されました!
事前にプロポーザルを募集して選ばれた通常のトークと違い、アンカンファレンスは当日の会場で喋りたい人が自由にトークを行うものです。
↓ホワイトボードに各々が話したい内容を書いて枠を取っていきます
#phpkansai
— きしもと (@getKishimoto) 2024年2月11日
アンカンファレンスも盛り上がってるよ! pic.twitter.com/CoSCS2Vxjy
Webアクセシビリティに関する真面目な話もあれば、各々の趣味を紹介する自己紹介LT、さらにはクイズ大会(?)まで、多種多様で自由な内容のトークが繰り広げられていました!
個人的には、symfony/console の紹介を symfony/console 自体をスライド代わりにして話すトークが印象的でした。
コンソールで発表いいなwww #phpkansai pic.twitter.com/dHMwpR3Z2q
— やまと | ☕️ | 🐈 (@yamato_sorariku) 2024年2月11日
ラクスからの登壇セッションのご紹介
レガシーシステムへのPHPStan導入から半年での課題と効果
report by id:dd_fortran speakerdeck.com
過去にPHPerKaigiなどのイベントで登壇したことはあったのですが、(コロナ期間中だったこともあり)オンライン開催だったためオフラインでの登壇は初めてかつ、
今回のカンファレンスの中でトップバッターだったので緊張しました。
レガシーシステムにPHPStanを導入した事例についてお話させていただきました。
レガシーシステムを抱えるサービスでは同様の課題をかかえているようで、多くの方に興味を持っていただけたようでした。
数人の方から質問をいただき、導入の際の課題などを共有できたので良かったです。
レガシーとモダンなシステムが混在する開発環境を改善しよう
report by id:rakuinoue speakerdeck.com
初めて登壇する機会を頂きました。ありがとうございます。
担当するプロダクトチーム内で行った開発環境改善に関するお話をさせていただきました。
途中、おいしい?音声トラブルもありましたが、無事に時間内で発表を終えることができて良かったなと思います。
もう少しPHPの話を濃くしたほうが良かったのかもと反省しております。
PHP8.2にバージョンアップしたら文字化けが発生して道頓堀に飛び込みたくなった話
report by id:nerobluebros fortee.jp
初登壇です。タイトルは採択されるために作ったもので、実際には飛び込んでいません w
それはさておき、ゴリゴリの技術系のカンファレンスである一方、私の発表は運用・サポートの話が中心なので、
セッションに来てくださった人たちに「聴きたいのと違う」と刺さるか不安でした。
どれくらい刺さったかはわからないけれど、センションにたくさんの人が来てくださったし、
発表して一定の手応え、ウケもあったので、良かったかなと思っています。
また、セッション後の「Ask the speaker」でPHPのコミッタの方とお話する機会があり、
私たちがおこなった修正方法の是非やなぜ文字化けするか?が聞くことができたので、
登壇して貴重な体験ができたと思います。ありがとうございました!
レガシーコードに潜む奇妙なコメント ~信じるか信じないかはあなた次第~
report by id:yamamuuu speakerdeck.com
私が普段開発をしているメール共有サービス メールディーラーはリリースから20年以上が経つサービスであり、奇妙なコメントが多数存在します。
本LTでは私が実際に遭遇した奇妙なコメントをご紹介し、コメントを信じることが如何に危険なことであるかを知っていただきました。
暇な人は見てみてください。
PHP8.1で、リソースがオブジェクトに!? ~マイナーリリースの変更がレガシープロダクトに与えた影響~
report by id:hirobex speakerdeck.com
登壇しました。
PHP8.0→8.1へバージョンアップした時、下位互換性のない変更により修正が発生した話をしました。
個人的にはウケていたと感じたのでよかったです。
まとめ
6年ぶりとなったPHPカンファレンス関西でしたが参加者数431人と非常に大盛況でした!
来年の開催も今から楽しみですね!
PHPerのためのコミュニティ PHPTechCafe
ラクスではPHPに特化したイベントを毎月開催しております。
その名も「PHPTechCafe」!!
次回は02/28(水)に『PHPカンファレンス関西2024を振り返る』 をテーマに開催します!
まだまだ参加者を募集していますので、ぜひお気軽にご参加ください。
👉PHPerのための「PHPカンファレンス関西2024を振り返る」PHP TechCafe rakus.connpass.com
最後までお読みいただきありがとうございました!