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
Hiromi Hishida
July 14, 2018
Technology
0
1.6k
すばやく実装するための戦略とテクニック
Hiromi Hishida
July 14, 2018
Tweet
Share
More Decks by Hiromi Hishida
See All by Hiromi Hishida
Beyond ORM
77web
11
1.6k
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
8
8.2k
DoctrineとPostgreSQLの便利な機能、どっちも諦めたくない!
77web
0
190
すばやく実装するための戦略とテクニック2024 / speed is power! 2024 #techramen24conf #shoyu
77web
9
4.6k
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
880
Doctrine ORMでValue Objectを扱う方法4選 #phpstudy / 4 ways to handle Value Objects with Doctrine ORM
77web
4
280
100%出しきれないのを許すスクラムチーム運営
77web
1
320
マイクロサービスがほしいと思ったときに本当に必要だったもの〜なぜ人は共通基盤の夢を見るのか〜 / why microservice
77web
5
1.7k
モデルとはなにか / what is model?
77web
7
3.1k
Other Decks in Technology
See All in Technology
アンチパターンのアーキテクチャと組織 / Anti-Pattern Software Architecture and Organization
oztick139
0
120
GitLab SelfManagedをCodePipelineのソースに設定する/SetGitLabSelfManagedtoCodePipeline
norihiroishiyama
1
120
テストアーキテクチャ設計で実現する高品質で高スピードな開発の実践 / Test Architecture Design in Practice
ropqa
2
110
Autify Company Deck
autifyhq
2
41k
Ask! NIKKEI RAG検索技術の深層
hotchpotch
10
1.7k
[2025クラウドガバナンスはこう変わる!マルチアカウント運用のre:Invent最新情報と活用例] re:Invent 2024 から見る AWS マルチアカウントガバナンスのこれまでとこれから
0nihajim
0
100
GraphRAG: What I Thought I Knew (But Didn’t)
sashimimochi
1
240
Power BI は、レポート テーマにこだわろう!テーマのティア表付き
ohata_ds
0
130
CNAPPから考えるAWSガバナンスの実践と最適化
yuobayashi
5
690
カスタムインストラクションでGitHub Copilotをカスタマイズ!
07jp27
8
1.3k
Redshiftを中心としたAWSでのデータ基盤
mashiike
0
110
talk_about_wasmwasi
junkishigaki
0
100
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
40
2.5k
Practical Orchestrator
shlominoach
186
10k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
The Invisible Side of Design
smashingmag
299
50k
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
Side Projects
sachag
452
42k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
11
900
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
30
2.1k
Transcript
࣮͘͢͢ΔͨΊͷઓུͱ ςΫχοΫ 1)1ΧϯϑΝϨϯεؔ !XFC
ɾ!XFC ɾϑϦʔϥϯεʢ͙Β͍ʣˠΧϧςοτίϛϡχέʔγϣϯζʢʣ ɾ໊ݹ ɾࣇͷ ɾຊ4ZNGPOZϢʔβʔձ ɾ$PEFS%PKP໊ݹॳνϟϯϐΦϯʢॾࣄ͋ͬͯҾୀʜʣ ɾ*—1)1
ɾӡ༻ܕࠂۀքΛϗϫΠτʹ͢ΔΈΛ࡞ͬͯ·͢ ɾؒืूதʂʢϑϧϦϞʔτɺύʔτλΠϜɺͪΖΜϑ ϧλΠϜਖ਼ࣾһܴʣ
͞ྗ
None
͍ͱԿ͕خ͍͠ʁ
͍ͱԿ͕خ͍͠ʁ w ؒҧͬͯमਖ਼͢Δ͕࣌ؒ͋Δ
͍ͱԿ͕خ͍͠ʁ w ؒҧͬͯमਖ਼͢Δ͕࣌ؒ͋Δ w ৺ͱମͷ༨༟
͍ͱԿ͕خ͍͠ʁ w ؒҧͬͯमਖ਼͢Δ͕࣌ؒ͋Δ w ৺ͱମͷ༨༟ w ࣍ͷ͜ͱΛษڧ͢Δ͕࣌ؒͰ͖Δ
͍ͱԿ͕خ͍͠ʁ w ؒҧͬͯमਖ਼͢Δ͕࣌ؒ͋Δ w ৺ͱମͷ༨༟ w ࣍ͷ͜ͱΛษڧ͢Δ͕࣌ؒͰ͖Δ w ʢ͓·͚ʣ৽ػೳʹΞαΠϯ͞Ε͍͢
͞Λ͛Δͷͳʹ͔ʁ
͞Λ͛Δͷͳʹ͔ʁ
͞Λ͛ΔͷΘ͔Βͳ͞ w ϑϨʔϜϫʔΫϥΠϒϥϦͷ͍ํ͕Θ͔Βͳ͍ w Ͳ͏͍͏ॲཧΛॻ͍ͨΒ༷Λ࣮ݱͰ͖Δ͔Θ͔Βͳ͍ w ࣮ʹͲΕ͙Β͍͕͔͔࣌ؒΔ͔Θ͔Βͳ͍ w ॲཧͷϘτϧωοΫ͕Ͳ͜ʹͳΔ͔Θ͔Βͳ͍ w
ٻΊΒΕΔ༷͕Θ͔Βͳ͍ɾܾ·ͬͯͳ͍
Θ͔Βͳ͞ΛݮΒ͍ͤ͢͠ʹ͘Ͱ͖Δ
ઓུɿׂ౷࣏๏
ׂ౷࣏๏ͱʁ w EJWJEFBOEDPORVFSNFUIPE w ͦͷ··Ͱ࣮͕͍͠େ͖ͳΛখ͞ͳʹׂ͢Δ͜ͱͰ࣮͘͢͢͠Δํ๏ʢϓ ϩάϥϜ༻ޠʣ w Θ͔Βͳ͞ΛΓͳ͕Β࣮͍ͯ͘͠
ׂ౷࣏๏࣮ફςΫχοΫ w දΛΠϝʔδͯ͠ཪ͔Β࡞Δ w ૪͍ͷͳ͍ͷ͔Β࡞Δ
දΛΠϝʔδͯ͠ཪ͔Β࡞Δ
දΛΠϝʔδͯ͠ཪ͔Β࡞Δ w JOUFSGBDFΛ׆༻ w ද͔Βཪʹରͯͬͯ͠΄͍͜͠ͱʢԿΛड͚औͬͯԿΛฦͯ͠΄͍͔͠ʣ͚ͩΛఆٛ͢Δ 6* BQQ EPNBJO JOGSB %#&YUFSOBM"1*
૪͍ͷͳ͍෦͔Β࡞Δ
૪͍ͷͳ͍෦͔Β࡞Δ w ϓϩδΣΫτશମͱͯ͠Θ͔Βͳ͍෦Λগ͠ͰݮΒ͍ͯͨ͘͠ΊʹɺΘ͔͍ͬͯΔ෦͔ Βίʔυʹ͍ͯ͘͠ w ࣮։࢝࣌Ͱ༷͕ܾ·͍ͬͯͳ͍෦ɺޙͰΨϥοͱมΘΔ͔͠Εͳ͍ w ֎తཁҼ w తཁҼ
w ͋ͱͰมΘΔ͔͠Εͳ͍ͷΛϕʔεʹ͠ͳ͍
࣮ࡍʹͬͯΈ·͠ΐ͏
ཁ݅ w ސ٬ిாΞϓϦ w ߲ి൪߸ɺձ໊ࣾɺ୲ऀ໊ɺࣗࣾͷ୲ऀ໊ɺҊ໊݅ɺϝϞ w ి൪߸ͱΩʔϫʔυͰݕࡧ w ి൪߸લํҰக w
Ωʔϫʔυ෦Ұக w ϝϞҎ֎ͷςΩετ߲Λݕࡧ w σʔλอଘܗଶະఆʢͲΕͰରԠͰ͖ΔΑ͏ʹʣ
ཁ݅ w ސ٬ిாΞϓϦ w ߲ి൪߸ɺձ໊ࣾɺ୲ऀ໊ɺࣗࣾͷ୲ऀ໊ɺҊ໊݅ɺϝϞ w ి൪߸ͱΩʔϫʔυͰݕࡧ w ి൪߸લํҰக w
Ωʔϫʔυ෦Ұக w ϝϞҎ֎ͷςΩετ߲Λݕࡧ w σʔλอଘܗଶະఆʢͲΕͰରԠͰ͖ΔΑ͏ʹʣ
TUFQදͷΠϝʔδ දΛΠϝʔδͯ͠ཪ͔Β࡞Δ
TUFQ͚ํΛߟ͑Δ ݕࡧ݅Ϗϧμ ސ٬ݕࡧ දΛΠϝʔδͯ͠ཪ͔Β࡞Δ
TUFQදΠϝʔδΛ͋Δ͖࢟मਖ਼ ސ٬ݕࡧΞϓϦ දΛΠϝʔδͯ͠ཪ͔Β࡞Δ
TUFQ֎ଆͷΠϝʔδΛ͋Δ͖࢟मਖ਼ ͭͷϑΝΠϧͷΛͭʹͨ͠Β͍͍ͩͨ0, දΛΠϝʔδͯ͠ཪ͔Β࡞Δ
TUFQJOUFSGBDFͰද͔Βͷར༻ΠϝʔδΛͦͷ··ॻ͍ͯΈΔ ྑͦ͞͏Ͱ͢Ͷ දΛΠϝʔδͯ͠ཪ͔Β࡞Δ
ࠓճͷ߹༳Εಈ͖ͦ͏ͳͷݕࡧͷ༷ɻ ͳΒɺ@(&5͔ΒDVTUPNFS$SJUFSJBΛ࡞Δ$SJUFSJB#VJMEFS͔Β࡞Δɻ ૪͍ͷͳ͍ͷ͔Β࡞Δ TUFQ૪͍ͷͳ͍෦Λ࡞Δ
TUFQ૪͍ͷ͋Δ෦Λ࡞Δ $VTUPNFS4FBSDITFBSDI ͷΠϝʔδΛߟ͑Δɻ 3%#ͩͱ42-ݸॻ͍ͯ1%0ʹͭͬ͜Ή͚͔ͩͩΒָͰ͢Ͷɻ Ͱର͕ྻ$47ͩͱʜʁ ސ٬σʔλιʔε දΛΠϝʔδͯ͠ཪ͔Β࡞Δ
TUFQ૪͍ͷ͋Δ෦ͷΠϝʔδΛJOUFSGBDFͰॻ͍ͯΈΔ ݕࡧͷ༷͕มΘͬͨΒ͚ͩ͜͜ม͑Εྑ͍ ˞ຊ͜ͷล͏ͪΐͬͱׂ͍ͨ͠ දΛΠϝʔδͯ͠ཪ͔Β࡞Δ
TUFQ૪͍ͷ͋Δ෦Ͱ͏ͨΊͷ෦Λ࡞Δ ͱΓ͋͑ͣ"SSBZͷ%BUB4PVSDFΛॻ͍ͨ
TUFQ෦͕ἧͬͨͷͰΈཱͯͯಈ͔ͯ͠ΈΔ
TFBSDIQIQ $VTUPNFS4FBSDI"QQ $VTUPNFS4FBSDI JOGSB %#&YUFSOBM"1* $VTUPNFS%BUB4PVSDF $VTUPNFS$SJUFSJB#VJMEFS $VTUPNFS$SJUFSJB ද ཪ
EFNP
TUFQԠ༻ฤσʔλอଘઌ͕3%#ʹมΘͬͨͱ͖ ͋Ε͚ͩҰੜݒ໋ॻ͍ͨ$VTUPNFS4FBSDIͷߜΓࠐΈॲཧࣺͯ·ͨ͠
ͦͷଞΛ্͛ΔςΫχοΫ ྑ͍ಓ۩Λ͏ ɹ͜ΘΕʹ͍͘ ɹؒҧ͑ʹ͍͘ ɹख͕গͳ͍ ɹಈ࡞͕͍ ࣗͷΛ্͛Δ ܾஅΛ͘ ࢥߟΛ͘ ϕϯνλΠϜͷ༗
ޮ׆༻
ྑ͍ಓ۩Λ͏ w ྑ͍ʹ։ൃ্͕͕Δ
͜ΘΕʹ͍͘ಓ۩
͜ΘΕʹ͍͘ಓ۩ w ٸ͍Ͱɺࡶʹѻͬͯେৎ w ΩʔϘʔυ w ਊͷંΕ͍͢γϟʔϖϯΑΓԖච w ΦϓγϣϯΛͭؒҧͬͯյΕͳ͍ίϚϯυ w
ϘλϯΛͭԡؒ͠ҧͬͯͱʹͤΔ
ؒҧ͑ʹ͍͘ಓ۩
ؒҧ͑ʹ͍͘ಓ۩ w ૢ࡞Λؒҧ͍ʹ͍͘ w γϣʔτΧοτΩʔΑΓײతͳϘλϯૢ࡞͕༏Ε͍ͯΔ͜ͱ͕͋Δ w ίʔσΟϯάࣗମΛؒҧ͍ʹ͍͘ w ΤσΟλͷίʔυิΛͪΌΜͱ͏ w
UZQPࢦఠͯ͘͠Εͯઐ༻ޠͷࣙॻΛઃఆͰ͖ΔΤσΟλΛ͏
ख͕গͳ͍ಓ۩ ɾͨ͘͞Μ͋Ε͜Εௐ͢Δ ɾ్தͰચ͍ˠਫˠ͗͢͢ˠਫͱखͰҠಈͤ͞Δ ɾʮελʔτʯϘλϯݸԡͤચ୕Ͱ͖Δ ɾϘλϯͭͰס૩·ͰͰ͖Δ
ख͕গͳ͍ಓ۩ w ਓ͕ؒΒͳ͍ͱ͍͚ͳ͍͜ͱΛݮΒͯ͠ɺࣗಈԽͰ͖ΔͷΛબͿ w ख͕ݮΔͱϛεݮΔ w $* w DTpYFS
ಈ͖͕͍ಓ۩
ಈ͖͕͍ಓ۩ w ྑ͍$*ʢࡳଋͰԥΔʣ w ྑ͍εϖοΫͷ1$ w ΩʔϘʔυ w ແઢΑΓ༗ઢ w
Ϛε w ήʔϛϯάϚεԠ͕ྑ͍ͷͰΦεεϝ
ࣗͷΛ্͛Δ
ܾஅΛ͘
ܾஅΛ͘ w ΜͩΓௐࠪͨ͠Γ͢ΔʢίʔσΟϯάҎ֎ͷʣ࣌ؒͷݶΛܾΊΔ w (PPHMFؒϧʔϧʢ˞ཁग़యʣ w ࢲ࣌ؒϧʔϧ w ࢮͳͳ͍ͷͳΒ·ͣͬͯΈΔ w
ҊͣΔΑΓ࢈Ή͕қ͠
ࢥߟΛ͘
ࢥߟΛ͘ w τϨʔχϯά͢ΔɻखͬऔΓૣ͍ͷௌ w ߴՁͳػث͍Βͳ͍ɺΧηοτςʔϓ࠶ੜػZPVUVCFͷഒ࠶ੜͱ͔ͰेޮՌ͕͋Δ w Γ͗͢Δͱ͠ݴ༿ૣޱʹͳͬͪΌ͏ͷͰਓؒؔʹҙʜ
ϕϯνλΠϜͷ༗ޮ׆༻ ͋ͱ
ϕϯνλΠϜͷ༗ޮ׆༻ w ςετ࣮ߦதɺ$*࣮ߦதɺϨϏϡʔͪ w λεΫʢҎ্ʣฒྻͤΑ w ·ͬͨ͘ผͷϓϩδΣΫτΛฒྻ͢Δͷ͕ཧ w ϓϩδΣΫτ͕͔ͭ͠ͳ͍߹HJUͷϒϥϯνΛͬͯλεΫ͝ͱʹશʹ͚Δ w
࣍ʹԿΛ͢Δ͔ίϛοτϩάʹ֮͑ͤ͞Δʢʹ֮͑Δ͜ͱͰ͖Δ͚ͩগͳ͘ʣ w ϓϧϦΫׂ౷࣏͓ͯ͘͠ w ޙఔ͕͋ΔͷΛઌʹ࡞ۀ "࣮ #࣮ ͠ ςετ ςετ $* ϨϏϡʔ ςετ ϨϏϡʔ $* ϨϏϡʔ ༷֬ೝ ϨϏϡʔ 9͞Μ࡞ۀ ༷֬ೝ
·ͱΊ w ઓུɿׂ౷࣏๏ʹΘ͔Βͳ͞ΛΓͳ͕Β࣮͢Δ w දΛΠϝʔδͯ͠ཪ͔Β࡞Δ w ૪͍ͷͳ͍ͷ͔Β࡞Δ w ྑ͍ಓ۩Λ͏ w
ࣗࣗͷΛ্͛Δ
)BQQZDPEJOH͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ
αϯϓϧίʔυɿIUUQTHJUIVCDPNXFCQIQLBOTBJIFMMPQBHF