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.7k
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
8
8.3k
DoctrineとPostgreSQLの便利な機能、どっちも諦めたくない!
77web
0
200
すばやく実装するための戦略とテクニック2024 / speed is power! 2024 #techramen24conf #shoyu
77web
9
4.7k
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
900
Doctrine ORMでValue Objectを扱う方法4選 #phpstudy / 4 ways to handle Value Objects with Doctrine ORM
77web
4
300
100%出しきれないのを許すスクラムチーム運営
77web
1
330
マイクロサービスがほしいと思ったときに本当に必要だったもの〜なぜ人は共通基盤の夢を見るのか〜 / why microservice
77web
5
1.7k
モデルとはなにか / what is model?
77web
7
3.2k
Other Decks in Technology
See All in Technology
Potential EM 制度を始めた理由、そして2年後にやめた理由 - EMConf JP 2025
hoyo
2
2.9k
データモデルYANGの処理系を再発明した話
tjmtrhs
0
210
急成長する企業で作った、エンジニアが輝ける制度/ 20250227 Rinto Ikenoue
shift_evolve
0
190
AIエージェント開発のノウハウと課題
pharma_x_tech
8
4.4k
Snowflakeの開発・運用コストをApache Icebergで効率化しよう!~機能と活用例のご紹介~
sagara
1
510
Snowflake ML モデルを dbt データパイプラインに組み込む
estie
0
110
アジャイルな開発チームでテスト戦略の話は誰がする? / Who Talks About Test Strategy?
ak1210
1
690
DeepSeekとは?何がいいの? - Databricksと学ぶDeepSeek! 〜これからのLLMに備えよ!〜
taka_aki
1
170
プルリクエストレビューを終わらせるためのチーム体制 / The Team for Completing Pull Request Reviews
nekonenene
1
240
どちらかだけじゃもったいないかも? ECSとEKSを適材適所で併用するメリット、運用課題とそれらの対応について
tk3fftk
2
240
Ruby on Railsで持続可能な開発を行うために取り組んでいること
am1157154
3
160
IAMのマニアックな話2025
nrinetcom
PRO
6
1.4k
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
328
21k
Being A Developer After 40
akosma
89
590k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Visualization
eitanlees
146
15k
Product Roadmaps are Hard
iamctodd
PRO
51
11k
A better future with KSS
kneath
238
17k
Writing Fast Ruby
sferik
628
61k
Facilitating Awesome Meetings
lara
53
6.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
GraphQLとの向き合い方2022年版
quramy
44
14k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
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