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.7k
すばやく実装するための戦略とテクニック
Hiromi Hishida
July 14, 2018
Tweet
Share
More Decks by Hiromi Hishida
See All by Hiromi Hishida
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
780
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
360
エンジニアのための 法規制への取り組み方 #healthtechmeetup
77web
8
2.6k
サービスクラスのありがたみを発見したときの思い出 #phpcon_odawara
77web
7
980
「それはhowなんよ〜」のガイドライン #orestudy
77web
8
2.9k
空が堕ち、大地が割れ、海が涸れた日~もしも愛用しているフレームワークが開発停止したら?~ #phperkaigi 2025
77web
2
1.5k
Beyond ORM
77web
11
2.2k
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
9
8.6k
DoctrineとPostgreSQLの便利な機能、どっちも諦めたくない!
77web
0
290
Other Decks in Technology
See All in Technology
dbt開発 with Claude Codeのためのガードレール設計
10xinc
2
1.3k
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1.1k
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
1
960
テストを軸にした生き残り術
kworkdev
PRO
0
220
データ分析エージェント Socrates の育て方
na0
7
2.5k
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
340
OCI Oracle Database Services新機能アップデート(2025/06-2025/08)
oracle4engineer
PRO
0
180
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
2
1.2k
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
890
「Linux」という言葉が指すもの
sat
PRO
4
140
JTCにおける内製×スクラム開発への挑戦〜内製化率95%達成の舞台裏/JTC's challenge of in-house development with Scrum
aeonpeople
0
270
LLM時代のパフォーマンスチューニング:MongoDB運用で試したコンテキスト活用の工夫
ishikawa_pro
0
170
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Raft: Consensus for Rubyists
vanstee
140
7.1k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Large-scale JavaScript Application Architecture
addyosmani
513
110k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
850
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Fireside Chat
paigeccino
39
3.6k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
3k
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