Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
生成AIと読み解くLaravelの進化史:コミットメッセージからの洞察
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
cha1ra
March 21, 2025
620
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
生成AIと読み解くLaravelの進化史: コミットメッセージからの洞察
cha1ra
March 21, 2025
More Decks by cha1ra
See All by cha1ra
githubハンズオン_vscodeから作成_.pdf
cha1ra
0
340
githubハンズオン_リポジトリclone_.pdf
cha1ra
0
530
Puppeteer Introduction and my original command "dk"
cha1ra
0
130
Introduction of Babel
cha1ra
0
110
ProgWrap 企画書 v1.2.1
cha1ra
0
100
web_speech_api.pdf
cha1ra
0
410
はじめてのスクレイピング!- bs4 と Selenium を 使ってみよう! -
cha1ra
0
1.7k
Web Service Hackathon @Dec. 6, 2018
cha1ra
0
36
Featured
See All Featured
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
330
Bash Introduction
62gerente
615
220k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
370
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
210
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
470
Google's AI Overviews - The New Search
badams
0
1k
The agentic SEO stack - context over prompts
schlessera
0
820
Navigating Team Friction
lara
192
16k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
170
Side Projects
sachag
455
43k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Transcript
生成AIと読み解くLaravelの進化史: コミットメッセージからの洞察 2025/03/22 株式会社YuBASE 坂尻愛明
はじめまして! ©️2025 YuBASE Inc. 2 坂尻 愛明 さかじり あいら 千葉県出身
株式会社YuBASE CEO G’s ACADEMY TOKYO 主任講師 楽天株式会社ECコンサルタント 株式会社BluePlanet-works システムエンジニア 主な担当領域: Web開発、プログラミング教育 好きなもの: 歌(アカペラ)、バラエティ番組鑑賞
©️2025 YuBASE Inc. 3 会社概要 会社名 株式会社YuBASE (ユーベース) 代表者氏名 代表取締役
坂尻 愛明 顧問 技術顧問 中村 太一 事業内容 Webアプリケーション開発 DX支援コンサルティング プログラミング教育 設立年月日 2022年3月9日 所在地 〒 140-0015 東京都品川区西大井1丁目1-2Jタワー西大井 イーストタワー2階
今回のトークテーマ ©️2025 YuBASE Inc. 4
CONTENTS ©️2025 YuBASE Inc. 5 目次 #01 #02 Laravelの誕生と黎明期(2011-2012) #03
モジュール化への進化(2013-2014) #04 現代的アーキテクチャへの転換(2015-2019) #05 パフォーマンスとスケーラビリティの追求(2020-現在) まとめ
ところで、 ©️2025 YuBASE Inc. 6 Laravelはいつ誕生したでしょう?
Laravel リリースの歴史 ©️2025 YuBASE Inc. 7 バージョン リリース日 1.0 beta1
2011年6月8日 2.0 2011年11月23日 3.0 2012年2月22日 4.0 2013年5月28日 5.0 2015年2月4日 6.0 2019年9月3日 7.0 2020年3月3日 8.0 2020年9月8日 9.0 2022年2月8日 10.0 2023年2月14日 11.0 2024年3月12日 12.0 2025年2月24日
今回この辺を手厚く話します ©️2025 YuBASE Inc. 8 バージョン リリース日 1.0 beta1 2011年6月8日
2.0 2011年11月23日 3.0 2012年2月22日 4.0 2013年5月28日 5.0 2015年2月4日 6.0 2019年9月3日 7.0 2020年3月3日 8.0 2020年9月8日 9.0 2022年2月8日 10.0 2023年2月14日 11.0 2024年3月12日 12.0 2025年2月24日
調査手法 ©️2025 YuBASE Inc. 9 1. 各バージョン間の diff 情報・コミット情報を取得 3.
GPT4.5 DeepResearch による インサイトの裏付け git diff 3d984ba30fbd02c6250018b504ef7198a3f03a20 257d917e196eef20fcd27eb91697dc3b5c75429f > ../data/diff_2.0.0_3.0.0.txt git log 3d984ba30fbd02c6250018b504ef7198a3f03a20 257d917e196eef20fcd27eb91697dc3b5c75429f -- format="%an: %s" > ../data/log_2.0.0_3.0.0.txt 2. Gemini 2.0 Flash を用いたインサイト抽出
Devinにも調査してもらいました ©️2025 YuBASE Inc. 10
©️2025 YuBASE Inc. 11 Laravelの誕生と黎明期 (2011-2012)
全てはここから始まった ©️2025 YuBASE Inc. 12 Taylor Otwell,2011-06-08 23:45:08 -0500,initial commit
of laravel!
Laravelの名前由来 ©️2025 YuBASE Inc. 13
では、 ©️2025 YuBASE Inc. 14 Laravel 1.1.1の中身をみてみましょう
バージョン1時代のページ表示フロー ©️2025 YuBASE Inc. 15 初期設定フェーズ フレームワークの基本設定を行う リクエスト処理フェーズ ルーティングと処理実行を行う レスポンス送信フェーズ
生成したレスポンスを返す
各フェーズの詳細 ©️2025 YuBASE Inc. 16 初期設定 リクエスト処理 レスポンス生成
バージョン1はMVCフレームワークではなかった ©️2025 YuBASE Inc. 17 コントローラが存在しない シンプルなルーティングとビューのみの提供
バージョン2が誕生! ©️2025 YuBASE Inc. 18
バージョン2への変化 ©️2025 YuBASE Inc. 19 アーキテクチャの抜本的な刷新 依存性注入(DI)とIoCコンテナの導入、Facadeパターンの実装、Bladeテン プレートエンジンの採用 現代的なWeb開発機能の拡充 Redisサポート、Cookie
セッションドライバ、データベース表現、MVC完全対 応(コントローラの実装) 開発体験の大幅な向上 ビューコンポーザー、入力フラッシュの改善、リダイレクトの強化
バージョン3への変化 ©️2025 YuBASE Inc. 20 モジュール化によるコード整理 バンドルシステムの導入により、機能単位での分割・再利用が可能に CLI機能の強化 Artisanコマンドラインインターフェースの拡充が開発ワークフローを効率化 依存性注入とFacadeの進化
より洗練されたIoCコンテナとFacadeパターンの発展 ルーティングとデータベース機能の刷新 複雑なアプリ要件に対応するための抜本的な改善
©️2025 YuBASE Inc. 21 モジュール化への進化 (2013-2014)
大事件が起こります ©️2025 YuBASE Inc. 22 Laravel4 は 完全書き直し!
バージョン4への変化(1/2) ©️2025 YuBASE Inc. 23 コンポーザーベースの依存管理 Composerを完全採用し、パッケージ管理を近代化 プラグインやモジュールの導入が容易になり、再利用性が向上 フレームワークの完全な再構築 各コンポーネントが独立したパッケージとして開発され、分離度が向上
テスト容易性の大幅な改善とユニットテストのカバレッジ拡大 キュー機能の導入 バックグラウンド処理とジョブキューの導入 非同期処理による重たい処理の効率
バージョン4への変化(2/2) ©️2025 YuBASE Inc. 24 データベース操作の強化 シーディングとマイグレーションシステムの大幅な改良 Eloquent ORMの機能拡張と改善されたクエリビルダー セキュリティの強化
より堅牢な認証システムとCSRF保護の実装 入力バリデーションの仕組みの刷新
Project “Illuminate” ©️2025 YuBASE Inc. 25
©️2025 YuBASE Inc. 26 現代的アーキテクチャへの転換 (2015-2019)
バージョン5への変化 ©️2025 YuBASE Inc. 27 設計哲学の刷新 PSR-4オートローディングの採用によるコード構造の改善 契約インターフェースの導入による依存性の低減と柔軟性の向上 ミドルウェアの導入 HTTPリクエストフィルタリングの新アプローチ
認証、CSRF保護などの共通処理を簡潔に実装可能に フォームリクエストの実装 バリデーションロジックをコントローラから分離 リクエスト単位での認証と承認の処理が可能に
バージョン5への変化 ©️2025 YuBASE Inc. 28 スケジューラの導入 Cronジョブの管理をLaravel内で実装可能に タスクスケジューリングの柔軟な設定オプション Socialiteパッケージ OAuthプロバイダを用いたソーシャル認証の簡素化
Facebook、Twitter、Google、GitHubなどとの連携が容易に 設定のキャッシュ機能 本番環境でのパフォーマンス向上 環境ごとの設定管理の改善
「何をするか」と「どのように実装するか」の分離 ©️2025 YuBASE Inc. 29 • 手動でのファイル読み込み • 特定の実装に直接依存 •
密結合なコンポーネント • 機能の再利用が困難 • ハードコーディングの多用 • テストが複雑になりがち • PSR-4による自動読み込み • 契約インターフェースの活用 • 疎結合なコンポーネント • コード再利用性の向上 • 依存性注入の積極的な活用 • テスタビリティの向上 As-Is To-Be
サービスコンテナの進化 ©️2025 YuBASE Inc. 30 Laravel 1 静的クラスとシングルトンパターンを主に使用 Laravel 2
初期のIoCコンテナの導入でテスト容易性が向上 Laravel 4 バインディング概念の明確化と、より柔軟な依存性注入の仕組み Laravel 5以降 サービスプロバイダーを中心とした設計と自動依存解決の進化
静的クラスとシングルトンパターンでの実装 ©️2025 YuBASE Inc. 31
初期IoCコンテナの導入 ©️2025 YuBASE Inc. 32
バインディングの概念導入 ©️2025 YuBASE Inc. 33
サービスプロバイダを活用した登録システム ©️2025 YuBASE Inc. 34
Laravelのフロントエンド統合の変遷 ©️2025 YuBASE Inc. 35
API認証システムの変遷 ©️2025 YuBASE Inc. 36
©️2025 YuBASE Inc. 37 パフォーマンスと スケーラビリティの追求 (2020-現在)
Laravel Octane による 処理高速化 ©️2025 YuBASE Inc. 38 • リクエストごとに
アプリケーションをフル起動 (ブートストラップ) • 設定読み込み、サービス初期化、 ルート登録などを毎回実行 • リクエスト終了後は全リソースを 破棄 • 安全性は高いが、パフォーマンス に大きなボトルネック • Swoole or RoadRunner による 常駐型アプリケーションサーバー • アプリケーションを一度だけ起動 → メモリに常駐 • リクエスト間で起動コストを削減 → 高速レスポンス • 最大10倍の速度向上、Node.jsや Goと肩を並べるレベルへ As-Is To-Be
インフラレス開発の可能性 ©️2025 YuBASE Inc. 39
フロントエンドフレームワークに負けない機能性 ©️2025 YuBASE Inc. 40
エコシステムの成熟へ ©️2025 YuBASE Inc. 41
©️2025 YuBASE Inc. 42 まとめ
©️2025 YuBASE Inc. 43 Have a nice Laravel Life!
Thank you.