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
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
390
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
330
エンジニアのための 法規制への取り組み方 #healthtechmeetup
77web
6
2.4k
サービスクラスのありがたみを発見したときの思い出 #phpcon_odawara
77web
6
830
「それはhowなんよ〜」のガイドライン #orestudy
77web
9
2.8k
空が堕ち、大地が割れ、海が涸れた日~もしも愛用しているフレームワークが開発停止したら?~ #phperkaigi 2025
77web
2
1.3k
Beyond ORM
77web
11
2k
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
8
8.5k
DoctrineとPostgreSQLの便利な機能、どっちも諦めたくない!
77web
0
250
Other Decks in Technology
See All in Technology
PHP開発者のためのSOLID原則再入門 #phpcon / PHP Conference Japan 2025
shogogg
4
840
Абьюзим random_bytes(). Фёдор Кулаков, разработчик Lamoda Tech
lamodatech
0
350
AIのAIによるAIのための出力評価と改善
chocoyama
2
560
Delegating the chores of authenticating users to Keycloak
ahus1
0
120
AWS テクニカルサポートとエンドカスタマーの中間地点から見えるより良いサポートの活用方法
kazzpapa3
2
550
PostgreSQL 18 cancel request key長の変更とRailsへの関連
yahonda
0
120
Agentic Workflowという選択肢を考える
tkikuchi1002
1
530
【TiDB GAME DAY 2025】Shadowverse: Worlds Beyond にみる TiDB 活用術
cygames
0
1.1k
本が全く読めなかった過去の自分へ
genshun9
0
540
TechLION vol.41~MySQLユーザ会のほうから来ました / techlion41_mysql
sakaik
0
190
rubygem開発で鍛える設計力
joker1007
2
210
AIとともに進化するエンジニアリング / Engineering-Evolving-with-AI_final.pdf
lycorptech_jp
PRO
0
110
Featured
See All Featured
Site-Speed That Sticks
csswizardry
10
660
Product Roadmaps are Hard
iamctodd
PRO
54
11k
KATA
mclloyd
29
14k
For a Future-Friendly Web
brad_frost
179
9.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
How to train your dragon (web standard)
notwaldorf
94
6.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Side Projects
sachag
455
42k
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