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
900
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
380
エンジニアのための 法規制への取り組み方 #healthtechmeetup
77web
8
2.7k
サービスクラスのありがたみを発見したときの思い出 #phpcon_odawara
77web
7
1.1k
「それはhowなんよ〜」のガイドライン #orestudy
77web
8
3k
空が堕ち、大地が割れ、海が涸れた日~もしも愛用しているフレームワークが開発停止したら?~ #phperkaigi 2025
77web
2
1.6k
Beyond ORM
77web
11
2.3k
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
9
8.6k
DoctrineとPostgreSQLの便利な機能、どっちも諦めたくない!
77web
0
300
Other Decks in Technology
See All in Technology
Dify on AWS 環境構築手順
yosse95ai
0
170
現場の壁を乗り越えて、 「計装注入」が拓く オブザーバビリティ / Beyond the Field Barriers: Instrumentation Injection and the Future of Observability
aoto
PRO
1
710
20251024_TROCCO/COMETAアップデート紹介といくつかデモもやります!_#p_UG 東京:データ活用が進む組織の作り方
soysoysoyb
0
140
文字列操作の達人になる ~ Kotlinの文字列の便利な世界 ~ - Kotlin fest 2025
tomorrowkey
2
230
パフォーマンスチューニングのために普段からできること/Performance Tuning: Daily Practices
fujiwara3
2
170
Amazon Q Developer CLIをClaude Codeから使うためのベストプラクティスを考えてみた
dar_kuma_san
0
130
AIの個性を理解し、指揮する
shoota
3
520
可観測性は開発環境から、開発環境にもオブザーバビリティ導入のススメ
layerx
PRO
4
2.2k
Kotlinで型安全にバイテンポラルデータを扱いたい! ReladomoラッパーをAIと実装してみた話
itohiro73
3
110
20251027_findyさん_音声エージェントLT
almondo_event
2
500
マルチエージェントのチームビルディング_2025-10-25
shinoyamada
0
220
ラスベガスの歩き方 2025年版(re:Invent 事前勉強会)
junjikoide
0
620
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
49
14k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
We Have a Design System, Now What?
morganepeng
53
7.8k
Optimizing for Happiness
mojombo
379
70k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
Writing Fast Ruby
sferik
630
62k
Mobile First: as difficult as doing things right
swwweet
225
10k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.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