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
抽象化って何? (What is abstraction?)
Search
hidenorigoto
February 16, 2019
Programming
7.5k
11
Share
抽象化って何? (What is abstraction?)
2019年2月16日 Laravel JP Conference
hidenorigoto
February 16, 2019
More Decks by hidenorigoto
See All by hidenorigoto
ドメインと向き合う - 旅行予約編
hidenorigoto
4
1.1k
「ソフトウェア設計」のドメイン - 「データモデリングでドメインを駆動する」を読んで
hidenorigoto
10
3.4k
メルカリ バックエンド領域のこれまでとこれから
hidenorigoto
1
590
メルカリのエンジニアリング組織の変化〜Engineering Managerの視点から〜
hidenorigoto
0
8.6k
The changes of the engineering organization in Mercari - from the view of an engineering manager -
hidenorigoto
0
340
PHPerKaigi 2019 ランチセッション (3/31)
hidenorigoto
1
4.4k
抽象化って何? (What is abstraction?)
hidenorigoto
9
4.8k
続・SOLIDの原則ってどんなふうに使うの? 〜オープン・クローズドの原則 センパイのコーディングノート編〜
hidenorigoto
14
6.4k
SOLIDの原則ってどんなふうに使うの? 〜オープン・クローズドの原則編(拡大版)〜
hidenorigoto
9
5.3k
Other Decks in Programming
See All in Programming
2026-03-27 #terminalnight 変数展開とコマンド展開でターミナル作業をスマートにする方法
masasuzu
0
270
20260315 AWSなんもわからん🥲
chiilog
2
180
見せてもらおうか、 OpenSearchの性能とやらを!
shunta27
1
170
Codex CLI でつくる、Issue から merge までの開発フロー
amata1219
0
280
RSAが破られる前に知っておきたい 耐量子計算機暗号(PQC)入門 / Intro to PQC: Preparing for the Post-RSA Era
mackey0225
3
110
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
230
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
390
夢の無限スパゲッティ製造機 -実装篇- #phpstudy
o0h
PRO
0
190
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
250
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.8k
Tamach-sre-3_ANDPAD-shimaison93
mane12yurks38
0
240
AI 開発合宿を通して得た学び
niftycorp
PRO
0
190
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
54k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
420
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
370
Abbi's Birthday
coloredviolet
2
6.2k
Discover your Explorer Soul
emna__ayadi
2
1.1k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
460
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Transcript
நԽͬͯԿʁ ޙ౻लએ IJEFOPSJHPUP!HNBJMDPN -BSBWFM+1$POGFSFODF 8IBUJTBCTUSBDUJPO
நԽ "CTUSBDUJPO
͜ͷτʔΫͷඪ
͜ͷτʔΫͷඪ w ݱ࣮ੈքʹ͓͚ΔநԽͱͲͷΑ͏ͳ͜ͱͳͷ͔ɺ ཧղ͢Δ
͜ͷτʔΫͷඪ w ݱ࣮ੈքʹ͓͚ΔநԽͱͲͷΑ͏ͳ͜ͱͳͷ͔ɺ ཧղ͢Δ w ϓϩάϥϛϯάʹ͓͚ΔநԽͱͲͷΑ͏ͳ͜ͱ ͳͷ͔ɺཧղ͢Δ
͜ͷτʔΫͷඪ w ݱ࣮ੈքʹ͓͚ΔநԽͱͲͷΑ͏ͳ͜ͱͳͷ͔ɺ ཧղ͢Δ w ϓϩάϥϛϯάʹ͓͚ΔநԽͱͲͷΑ͏ͳ͜ͱ ͳͷ͔ɺཧղ͢Δ w நԽͷࢦΛΓɺநԽͷྑ͠ѱ͠ΛஅͰ͖ ΔΑ͏ʹͳΔ
͓આ໌
γνϡΤʔγϣϯ w ʮಠʢφϯϓϨɺ/VNCFS1MBDFʣʯͷΞϓϦΛ։ ൃ͢Δ
ಠʢφϯϓϨʣͱʁ
ಠʢφϯϓϨʣͱʁ ݸͷϚεʹ͓͍ͯɺ ̍ʙ̕ͷࣈ͕ ॏෳ͍ͯ͠ͳ͍͜ͱ
γνϡΤʔγϣϯ w ʮಠʢφϯϓϨɺ/VNCFS1MBDFʣʯͷΞϓϦΛ։ൃ ͢Δ w ಠͷʮਖ਼ղνΣοΫػೳʯͷ࣮Λ୲͢Δ w ϧʔϧΛຬ͍ͨͯ͠Δ͔Ͳ͏͔ʁ w લఏ
w ಠͷͯ͢ͷϚεʹࣈ͕ೖ͍ͬͯΔ w ̍ʙ̕ͷࣈҎ֎ͷೖྗͳ͍
࠷ॳͷίʔυ֓ཁ ಠͷϚεͷใΛ ̎࣍ݩྻͰอ࣋ ਖ਼ղ͔Ͳ͏͔Λ νΣοΫ͢Δ
None
None
B<J><K> Jଆ͕ߦ Kଆ͕ྻ
None
None
վળϙΠϯτͳ͍͔ʁ w ϩδοΫͰ͖͍ͯΔɻਖ਼͘͠νΣοΫͰ͖Δɻ w ίʔυΛཧͰ͖Δؾ͕͢Δɻ͔͠͠ɺͲΜͳΞϓ ϩʔνͰΔͷ͔ʁ w $IFDLFS͕.BUSJYʹґଘ͍ͯ͠Δͱ͜Ζ͔Βʁ
ґଘͱ͍͑ɾɾɾ ґଘؔٯసͷݪଇʢ%*1ʣ ͬͯϠπΛ͏ͷ͔ͳɾɾɾ ্ҐϨϕϧͷϞδϡʔϧԼҐϨϕϧͷϞδϡʔ ϧʹґଘ͖͢Ͱͳ͍ɻ྆ํͱந ʢBCTUSBDUJPOT ʹґଘ͖͢Ͱ͋Δɻ
ґଘؔٯసͷݪଇͬͯɺ ؒʹJOUFSGBDFΛ͞Ήܗʹ ͢Εྑ͍ΜͩΑͳɻ ˞ҙɿԋग़ͷ߹্ͷɺۃͳཧղྫͰ͢
ґଘؔٯసʂґଘͯ͠·ͤΜʂ
Կ͔ؒҧ͍ͬͯΔ ؾ͕͢Δ
Ͳ͕ؒ͜ҧ͍ͬͯΔͷ͔ આ໌͍ͯͩ͘͠͞ʂ
Ͳ͕ؒ͜ҧ͍ͬͯΔͷ͔ʁ
நԽͱ
ࣙॻతఆٛ நʢͪΎ͏͠ΐ͏ʣ ࣄදΛɺ͋Δੑ࣭ɾ ڞ௨ੑɾຊ࣭ʹண͠ɺ ͦΕΛந͖ग़ͯ͠Ѳ͢Δ ͜ͱɻ ࣺʢ͠Ό͠ΐ͏ʣ ֓೦Λந͢Δࡍʹɺந ͞ΕͨॾදҎ֎ͷද Λߟͷର͔ΒΓ
ࣺͯΔ͜ͱɻ
4ɾ*ɾϋϠΧϫʮநͷϋγΰʯ ʰࢥߟͱߦಈʹ͓͚ΔݴޠʱQ ܦݧͷରʢ໒ڇʣ Պֶతঢ়ଶʢ໒ڇʣ ϕογʔ ޠʮ໒ڇʯ Ոச ࢿ࢈ ࢿ࢈
ݴޠ நԽ நԽ நԽ
நԽʹ͓͚ΔมԽ ϕογʔ ޠʮ໒ڇʯ நԽ ಛͷྔ ଟ͍ গͳ͍ ରͷ
গͳ͍ ଟ͍
நϨϕϧ͕͓͔͍͠จ ܦݧͷରʢ໒ڇʣ Պֶతঢ়ଶʢ໒ڇʣ ϕογʔ ޠʮ໒ڇʯ Ոச ࢿ࢈ ࢿ࢈
ࢲ໌ͷேɺࢲୡͷࢿ࢈ʹ 㕒Λ༩͑ͳ͚Ε͍͚ͳ͍ ࢿ࢈ 㕒 ผͷநϨϕ ϧ͕ࠞࡏͯ͠ ͍Δʂ
நԽͷ·ͱΊ w நʹϨϕϧ͕͋Δʢநͷϋγΰʣ w ϋγΰΛ্ΔʹɺಛΛΓࣺͯͯநԽ͢Δ ಛྔݮΔ͕ɺΑΓଟ͕͘ରʹೖΔ w நͷϨϕϧ͕ἧ͍ͬͯͳ͍ͱɺίϛϡχέʔγϣ ϯͰ͖ͳ͍
ϓϩάϥϛϯάʹ͓͚Δ நԽͱ
ݱ࣮ੈքɺϓϩάϥϛϯάͷੈք
ݱ࣮ੈքɺϓϩάϥϛϯάͷੈք ࢿ࢈ 㕒 ͓ۚ ϕογʔ
ݱ࣮ੈքɺϓϩάϥϛϯάͷੈք ࢿ࢈ 㕒 ͓ۚ ϕογʔ ࠃޠɺߏจɺޠኮ ಓ ۩
ݱ࣮ੈքɺϓϩάϥϛϯάͷੈք ࢿ࢈ 㕒 ͓ۚ ϕογʔ .BUSJY νΣοΫ Ϛε ϧʔϧ ࠃޠɺߏจɺޠኮ
ಓ ۩
ݱ࣮ੈքɺϓϩάϥϛϯάͷੈք ࢿ࢈ 㕒 ͓ۚ ϕογʔ .BUSJY νΣοΫ Ϛε ϧʔϧ ࠃޠɺߏจɺޠኮ
ϓϩάϥϛϯάݴޠɺߏจɺޠኮ ಓ ۩
ϓϩάϥϛϯάʹ͓͚ΔநԽͱ ѻ͍ͬͯΔ֓೦ͷநԽ *OUFSGBDF"CTUSBDUDMBTTΛ͏͜ͱ ͜ΕΛୡ͢ΔͨΊʹɺݴޠʹ༻ҙ͞Ε͍ͯΔ༷ʑͳ ػೳΛ͏ʢ*OUFSGBDFɺ"CTUSBDUɺFUDʣ
ࢦʁ
ϓϩάϥϛϯάʹ͓͚ΔͷநԽͷࢦ Ծ దͳ໋໊ ໊લͱ༰͕Ұக͠ ͍ͯΔ͜ͱ நͷ౷Ұ ͋Δଆ໘͕औΓग़͞ Εͨͷ͚ͩͰ⁋᧒ ͕߹͏͜ͱ ڱ͍ൣғ
ߟྀ͢Δಛͷ͕ খ͘͞ͳ͍ͬͯΔ͜ ͱ ˞ҙɿIJEFOPSJHPUPʹΑΔࡶͳఏҊͰ͢
͜ͷநԽԿ͕ؒҧ͍ͬͯͨʁ
͜ͷநԽԿ͕ؒҧ͍ͬͯͨʁ దͳ໋໊
͜ͷநԽԿ͕ؒҧ͍ͬͯͨʁ நͷ౷Ұ
͜ͷநԽԿ͕ؒҧ͍ͬͯͨʁ ڱ͍ൣғ
͜ͷநԽԿ͕ؒҧ͍ͬͯͨʁ ڱ͍ൣғ ଞʹϝιου͕͋Δ ͚̍ͭͩ
͜ͷநԽԿ͕ؒҧ͍ͬͯͨʁ ڱ͍ൣғ
վળྫ
ґଘؔͷຊ࣭ΛݟۃΊΔ
ґଘؔͷຊ࣭ΛݟۃΊΔ w $IFDLFSͱ.BUSJYͷຊ࣭తͳؔɺׂΛߟ͑Δ $IFDLFSɺ࠷ݶԿ͕͋ΕΛՌͨͤΔ͔
ґଘؔͷຊ࣭ΛݟۃΊΔ w $IFDLFSͱ.BUSJYͷຊ࣭తͳؔɺׂΛߟ͑Δ $IFDLFSɺ࠷ݶԿ͕͋ΕΛՌͨͤΔ͔ w $IFDLFSɺݸͷࣈΛड͚औΕɺͦΕ͕0,͔/( ͔ΛఆͰ͖Δ
ґଘؔͷຊ࣭ΛݟۃΊΔ w $IFDLFSͱ.BUSJYͷຊ࣭తͳؔɺׂΛߟ͑Δ $IFDLFSɺ࠷ݶԿ͕͋ΕΛՌͨͤΔ͔ w $IFDLFSɺݸͷࣈΛड͚औΕɺͦΕ͕0,͔/( ͔ΛఆͰ͖Δ w ݸͷࣈͷஔɺఆʹ͕ؔͳ͍
$IFDLFSࣈͷྻ͚ͩΛѻ͏
ࣈͷྻͷੜΞμϓλʔͰٵऩ͢Δ
None
None
None
վળલͷ$IFDLFSͱൺֱ
ڱ͍ൣғநԽ ந౷Ұ .BUSJYΛѻ͏ $IFDLFS /VNCFS$PMMFDUJPO Λѻ͏$IFDLFS .BUSJYશମ ࣈͷྻ
6.- $IFDLFS.BUSJY͔ΒΓ͞Εͨ
நԽͷԸܙ w $IFDLFSΫϥεͷίʔυ͕ݮͬͨ w $IFDLFSΫϥεͷґଘର͕খ͘͞ͳͬͨ
·ͱΊ
͜ͷτʔΫͷඪ
͜ͷτʔΫͷඪ w ݱ࣮ੈքʹ͓͚ΔநԽͱͲͷΑ͏ͳ͜ͱͳͷ͔ɺ ཧղ͢Δ
͜ͷτʔΫͷඪ w ݱ࣮ੈքʹ͓͚ΔநԽͱͲͷΑ͏ͳ͜ͱͳͷ͔ɺ ཧղ͢Δ w ϓϩάϥϛϯάʹ͓͚ΔநԽͱͲͷΑ͏ͳ͜ͱ ͳͷ͔ɺཧղ͢Δ
͜ͷτʔΫͷඪ w ݱ࣮ੈքʹ͓͚ΔநԽͱͲͷΑ͏ͳ͜ͱͳͷ͔ɺ ཧղ͢Δ w ϓϩάϥϛϯάʹ͓͚ΔநԽͱͲͷΑ͏ͳ͜ͱ ͳͷ͔ɺཧղ͢Δ w நԽͷࢦΛΓɺநԽͷྑ͠ѱ͠ΛஅͰ͖ ΔΑ͏ʹͳΔ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠
ࢀߟ w 4ɾ*ɾϋϠΧϫʰࢥߟͱߦಈʹ͓͚Δݴޠʱݪॻୈ ࢛൛ؠॻళ