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
リンケージにおけるアプリケーションコードとの付き合い方とそれを支えるコミュニケーション ...
Search
blue_goheimochi
September 05, 2023
Technology
1
580
リンケージにおけるアプリケーションコードとの付き合い方とそれを支えるコミュニケーション / drobe_pixiv_linkage-20230905
DROBE Engineer Night #5 質とスピードを追求する開発チームでの取り組みの登壇資料です。
https://drobe.connpass.com/event/292061/
blue_goheimochi
September 05, 2023
Tweet
Share
More Decks by blue_goheimochi
See All by blue_goheimochi
ISUCONにPHPで挑み続けてできるようになっ(てき)たこと / phperkaigi2025
blue_goheimochi
0
170
依存パッケージの更新はコツコツが勝つコツ! / phpcon_nagoya2025
blue_goheimochi
3
310
コミュニケーションを「パス」のやりとりと捉え大切にしていること / dai-kichijojipm-2024
blue_goheimochi
2
3.1k
「手動オペレーションに定評がある」と言われた私が心がけていること / phpcon_odawara2024
blue_goheimochi
4
1.8k
芝生の障害対応・メンテナンスについて語る / ya8-2024
blue_goheimochi
1
79
「わたしたちのコード」を安定させるためにフレームワークとの距離を保つ / phperkaigi2024
blue_goheimochi
5
2.2k
コードを計測することで捉える問題点 / phpcondo2024
blue_goheimochi
5
1.2k
Laravelのコードとわたしたちのコードとの距離を保つ / phpcon2023
blue_goheimochi
1
2.2k
推測しないで、計測し、判断する! 〜カイゼンのためのステップ考察〜 / phpconfuk2023
blue_goheimochi
4
2.3k
Other Decks in Technology
See All in Technology
MCPが変えるAIとの協働
knishioka
1
140
2025-04-24 "Manga AI Understanding & Localization" Furukawa Arata (CyberAgent, Inc)
ornew
2
400
MySQL Indexes and Histograms – How they really speed up your queries
lefred
0
150
AI-in-the-Enterprise|OpenAIが公開した「AI導入7つの教訓」——ChatGPTで変わる企業の未来とは?
customercloud
PRO
0
160
MCP でモノが動くとおもしろい/It is interesting when things move with MCP
bitkey
2
240
猫でもわかるS3 Tables【Apache Iceberg編】
kentapapa
0
130
LLMの開発と社会実装の今と未来 / AI Builders' Community (ABC) vol.2
pfn
PRO
1
110
AIエージェント開発手法と業務導入のプラクティス
ykosaka
9
2.8k
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2025年版)
infiniteloop_inc
1
5.1k
Previewでもここまで追える! Azure AI Foundryで始めるLLMトレース
tomodo_ysys
2
590
Cursorを全エンジニアに配布 その先に見据えるAI駆動開発の未来 / 2025-05-13-forkwell-ai-study-1-cursor-at-loglass
itohiro73
0
260
20 Years of Domain-Driven Design: What I’ve Learned About DDD
ewolff
1
280
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
The Language of Interfaces
destraynor
158
25k
The Cult of Friendly URLs
andyhume
78
6.3k
Six Lessons from altMBA
skipperchong
28
3.8k
How to Ace a Technical Interview
jacobian
276
23k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
120
52k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
A designer walks into a library…
pauljervisheath
205
24k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Transcript
2023.09.05 Yuta Ohashi DROBE Engineer Night #5
/ @blue_goheimochi PHP(Laravel), JavaScript(Vue.js/Nuxt.js), , , , , PUBG MOBILE,
Mission
4 • CTO • : 7 • : 7 •
: 15 • PHPer
5 • Laravel • React • PostgreSQL • AWS
None
7 • • Laravel • • • •
None
9 Laravel • Eloquent • Facede • • Artisan •
10 Laravel • • Laravel Way 1 • • •
•
11 Laravel • • Laravel • Laravel • Laravel •
• • Interface
12 Laravel Laravel Laravel
13 Laravel class Register { public function __construct( private readonly
Mailer $mailer, ) {} public function create(string $name): void { // 何らか登録などする処理 // メールの送信 $this->mailer->send(new SayHello($name)); } } app/Services/Register.php
14 Laravel class Register { public function __construct( private readonly
Mailer $mailer, ) {} public function create(string $name): void { // 何らか登録などする処理 // メールの送信 $this->mailer->send(new SayHello($name)); } } Mailer app/Services/Register.php
15 Laravel class Register { public function __construct( private readonly
Mailer $mailer, ) {} public function create(string $name): void { // 何らか登録などする処理 // メールの送信 $this->mailer->send(new SayHello($name)); } } Mailer Laravel app/Services/Register.php
16 class Register { public function __construct( private readonly SayHelloSenderInterface
$sender, ) {} public function create(string $name): void { // 何らか登録などする処理 // メールの送信 $this->sender>send($name); } } lib/User/Register.php Laravel class SayHelloSenderInterface { public function send(string $name): void } lib/Mail/SayHelloSenderInterface.php
17 class Register { public function __construct( private readonly SayHelloSenderInterface
$sender, ) {} public function create(string $name): void { // 何らか登録などする処理 // メールの送信 $this->sender>send($name); } } Laravel class SayHelloSenderInterface { public function send(string $name): void } Interface Mailer lib/User/Register.php lib/Mail/SayHelloSenderInterface.php
18 Laravel class SayHelloConcrete implements SayHelloSenderInterface { public function __construct(
private readonly Mailer $mailer, ) {} public function send(string $name): void { // メールの送信 $this->mailer->send(new SayHello($name)); } } app/Mail/SayHelloConcrete.php class SayHelloSenderInterface { public array $bindings = [ ¥Package¥Mail¥SayHelloInterface::class => ¥App¥Services¥SayHelloConclete::class, ]; } app/Providers/AppServiceProvider.php
19 Laravel class SayHelloConcrete implements SayHelloSenderInterface { public function __construct(
private readonly Mailer $mailer, ) {} public function send(string $name): void { // メールの送信 $this->mailer->send(new SayHello($name)); } } class SayHelloSenderInterface { public array $bindings = [ ¥Package¥Mail¥SayHelloInterface::class => ¥App¥Services¥SayHelloConclete::class, ]; } Laravel app ServiceProvider Interface app/Mail/SayHelloConcrete.php app/Providers/AppServiceProvider.php
20 Laravel Interface • • app Laravel • lib Laravel
• Laravel app • lib •
None
22 • •
23 • • • • 1 • • or •
• • • Issue
24 • • • • • • • • •
Issue •
25 • around • • • • •
None
27 • • Laravel • • •
28 • • Laravel • • • How
29 How • Why • Why • •