私は数年前からPHPカンファレンスに参加しはじめ、当日スタッフや実行委員を経験し、毎年のPHPカンファレンスが楽しみです!
先日登壇したPHPerKaigiも最高でした!
この二件以外のカンファレンスには行けてないですが、PHPカンファレンスは各地で開催されています。
ぜひ皆さんに魅力を伝えたいです!そして願わくば一緒にスタッフや登壇をしましょう!
という布教活動です。
最近、AIを使ったコーディングについての話題を耳にすることが多いのではないでしょうか。
すぐに頭に浮かんだものだけでもCursor, Github Copilot, Devin, Clineと数が多く、他に様々なツールが出てきています。
モデルも、gpt4.1, claude3.7, gemini2.5など続々と出てきています。
このトークでは、私のチームでAIを使ったコーディングをどのように行っているのか。
そこに至るまでに何を試したのかをお話します。
また、私自身が不慣れなCakePHPを触る際に助けられた点にも触れます。
普段からAIを活用している方には少し物足りない内容かもしれません。
これから使ってみたい、実際どうなのか聞きたいといった方へ向けたトークとなります。
CakePHPとGoで構築された社内ユーザー向けシステムのデータベースをMySQL5.6から8.4へアップグレードしました。
その旅路は非常に困難で苦難の連続でした。
このトークではMySQLのバージョンによる仕様的な話は多くは語りません。
代わりに、下記の点をお話します。
・なぜMySQL5.6から8.4へアップグレードしたのか
・リスク最小化のための方針
・対応した内容
・アップグレード当日の対応手順と失敗時の手順
社内向けとはいえ、基本的にはデータベースを止めることができない中でどう検証し、何が大変だったかをご紹介します。
Hypervel is a Laravel-style PHP framework with native coroutine support for ultra-high performance. It ports many core packages from Laravel while maintaining familiar usage patterns, making it instantly accessible to Laravel developers.
This framework combines the elegant and expressive development experience of Laravel with the powerful performance benefits of coroutine-based programming. If you're a Laravel developer, you'll feel right at home with this framework, requiring minimal learning curve.
In this talk, I will introduce the key features of Hypervel, demonstrate its practical applications, and explain how it significantly outperforms Laravel Octane in high-concurrency scenarios.
Note: I will provide AI-powered realtime translation in this talk.
注: この講演ではAIを活用したリアルタイム翻訳を提供します。
PHP 8.4「プロパティフック」からオブジェクト指向設計を紐解きます。
プロパティフックとは、プロパティの読み書きに任意の処理を挟み込む機能です。従来の退屈なgetter/setterメソッドを使うことなく、より自然かつ柔軟な記述でプロパティの読み書きを実装できます。初めて使う際の学習コストも低く、手軽に導入できる点も魅力です。
一方、少し複雑な使い方や他の機能と組み合わせた使い方をしようとすると、型に関する制限や思わぬ仕様の違いに戸惑うことがあります。コンストラクタプロモーションとset
フックでの型の違い、readonly
との併用不可、継承時の制限、これらは経験者でも混乱を招きがちです。
こうした仕様の背後には、オブジェクト指向設計の基本原則のひとつである「リスコフの置換原則(LSP)」が存在します。LSPは一見すると開発を窮屈にする制約のように感じるかもしれません。しかし、実はその制約が、アプリケーションの一貫性や信頼性を守るための重要な役割を果たしています。
本トークでは、プロパティフックの構文と振る舞いを整理しながら、なぜそのような制約が必要なのかを丁寧に紐解いていきます。また、LSPの考え方はオブジェクト指向の設計にとどまらず、より広い領域でも応用可能な「設計上のものの見方」であることにも触れていきます。
PHPの最新機能をきっかけに、日々の開発でも見落とされがちな設計原則の価値を改めて見直しましょう。
皆さん、「Laravelインターフェースの恩恵」を受けた!と感じたご経験はありますでしょうか?
自分はエンジニア歴3年で入社当初から、先輩エンジニアの方々から「インターフェースのありがたみ、いつかわかる日が来るよ!」「3年後かな〜5年後かな〜そのタイミングが来る時がある!」と教育して頂いてきました!
まだまだ自分自身、本当の意味での「恩恵」を感じられたか。と言うとまだまだですが
今回、3年程Laravel開発を経験した自分が感じた、「インターフェースのありがたみ」をご紹介出来たらと思います!
新人エンジニアの教育をされる方、またこれからエンジニアとして技術と向き合われる方皆様に少しでも有益なセッションになれれば幸いです!