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
March 30, 2019
Programming
3
6.8k
設計力を上げる!バリエーションの見極め術
Hiromi Hishida
March 30, 2019
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
1.1k
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
400
エンジニアのための 法規制への取り組み方 #healthtechmeetup
77web
8
2.7k
サービスクラスのありがたみを発見したときの思い出 #phpcon_odawara
77web
7
1.4k
「それはhowなんよ〜」のガイドライン #orestudy
77web
8
3.1k
空が堕ち、大地が割れ、海が涸れた日~もしも愛用しているフレームワークが開発停止したら?~ #phperkaigi 2025
77web
2
1.8k
Beyond ORM
77web
11
2.4k
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
9
8.8k
DoctrineとPostgreSQLの便利な機能、どっちも諦めたくない!
77web
0
320
Other Decks in Programming
See All in Programming
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
460
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
180
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
310
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
640
脳の「省エネモード」をデバッグする ~System 1(直感)と System 2(論理)の切り替え~
panda728
PRO
0
130
Graviton と Nitro と私
maroon1st
0
160
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3.3k
Patterns of Patterns
denyspoltorak
0
420
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
340
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.5k
CSC307 Lecture 01
javiergs
PRO
0
650
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
600
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
527
40k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
870
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
Being A Developer After 40
akosma
91
590k
Into the Great Unknown - MozCon
thekraken
40
2.2k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
160
GitHub's CSS Performance
jonrohan
1032
470k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Statistics for Hackers
jakevdp
799
230k
Getting science done with accelerated Python computing platforms
jacobtomlinson
0
89
Mobile First: as difficult as doing things right
swwweet
225
10k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
71k
Transcript
ઃܭྗΛ্͛Δʂ όϦΤʔγϣϯͷݟۃΊज़ !XFC 1)1FS,BJHJEBZ
ɾ!XFC ɾϑϦʔϥϯεʢ͙Β͍ʣˠΧϧςοτίϛϡχέʔγϣϯζʢʣ ɾ໊ݹ ɾࣇͷ ɾຊ4ZNGPOZϢʔβʔձ ɾ$PEFS%PKP໊ݹॳνϟϯϐΦϯʢॾࣄ͋ͬͯҾୀʜʣ ɾ*—1)1
ɾӡ༻ܕࠂۀքΛϗϫΠτʹ͢ΔΈΛ࡞ͬͯ·͢ ɾؒืूதʂʢϑϧϦϞʔτɺύʔτλΠϜɺͪΖΜϑϧλΠϜਖ਼ࣾһܴʣ
͜ͷτʔΫͷత w όϦΤʔγϣϯͷൃੜݯͱൃੜύλʔϯ͕Θ͔Δ w όϦΤʔγϣϯ͔Βอޢ͍͢͠ίʔυΛॻͨ͘Ίʹඞཁͳͷ͕Θ͔Δ w όϦΤʔγϣϯ͔Βอޢ͍͢͠ίʔυΛॻͨ͘Ίʹඞཁͳͷͷ͍ํΛମݧ͢Δ
͜Μͳܦݧ͋Γ·ͤΜ͔ʁ ݱࡏͷফඅ੫ͩͧɻ ݹ͍จจ࣌ʹΑͬͯ ੫ࠐΈֹۚΛਖ਼͘͠ग़͢Α͏ʹɻ ΞΠΞΠαʔ JG PSEFS%BUFGPSNBU b:NE` \
SFUVSOQSJDF ^FMTFJG ʜ \ ʜ ^FMTF\ SFUVSOQSJDF ^ ͬͱɻ࣮ྃʂ
͑ͬʂ৯͚ͩ੫ҧ͏ͷʁ ࣮ΊΜͲ͍͘͞ͳʔɻ ͦ͏͍͏͜ͱ࠷ॳ͔Βݴͬͯ͘ΕΑʔʢྦʣ શ෦࡞Γͩ͠Αʔʢౖʣ ࠓˋʹ্͕Δ͔ΒରԠΑΖ͘͠ɻ Ͱ৯ͷ··Ͷɻ ͪͳΈʹ֎৯͔ͩΒͪΌΜͱ۠ผ͠ΖΑɻ
r!IJEFOPSJHPUP lόϦΤʔγϣϯ͔ΒίʔυΛอޢͤΑz
όϦΤʔγϣϯͱʁ
όϦΤʔγϣϯͱʁ w มԽɺมಈɺసͯ͡छྨ w ྫ͑ɿεϐʔΧʔ5γϟπͷαΠζ4 . - -- w ϓϩάϥϛϯάʹ͓͍ͯɺॲཧ͕ذ͢Δ͖͔͚ͬʹͳΔ
w ྫ͑ɿจ࣌ʹΑͬͯফඅ੫͕ҟͳΔ
ͳͥόϦΤʔγϣϯ͕ൃੜ͢ Δͷ͔ʁ
ͳͥόϦΤʔγϣϯ͕ൃੜ͢ Δͷ͔ʁ Ϗδωε͕มԽ͢Δ͔Β
ͭ·Γ όϦΤʔγϣϯͷൃੜݯʹϏδωεͷมԽ όϦΤʔγϣϯͷൃੜύλʔϯʹϏδωεͷมԽͷύλʔϯ
ϏδωεͷมԽͷύλʔϯΛݟۃΊΕɺόϦΤʔγϣϯ͕ݟۃΊΒΕΔ
ϏδωεͷมԽͷύλʔϯ
w ԣͷมԽ w ॎͷมԽ ϏδωεͷมԽͷύλʔϯ
ԣͷมԽ w ຊͱτΠϨοτϖʔύʔ w IUUQTKBXJLJQFEJBPSHXJLJ"NB[PODPN w ϙʔγϣϯͱϋΠϙʔγϣϯ w (PPHMF"ETͱ:BIPP4QPOTPSFE4FBSDI
ԣͷมԽͷ༧ଌ w ಉछͷผͷͷΛѻ͏͜ͱͳ͍͔ʁ૾͢Δ w ಉۀଞࣾͱऔҾ͢Δ͜ͱͳ͍͔ʁ૾͢Δ
ॎͷมԽ w ໌࣏ˠେਖ਼ˠতˠฏˠʁ w ফඅ੫ˠˠˠˠʁ
ॎͷมԽͷ༧ଌ w աڈͷྺ࢙͔Β૾͢Δ w ೋ͋Δ͜ͱࡾ͋Δ w ଞࠃͷઌߦࣄྫ͔Β૾͢Δ w ࠃͷ੍๏Λѻ͏߹
ͭ·Γɺ૾ྗ͕ඞཁ
͜͜·Ͱͷ·ͱΊ w όϦΤʔγϣϯͷൃੜݯͱൃੜύλʔϯ͕Θ͔Δ✔ w ൃੜݯϏδωεͷมԽ w ൃੜύλʔϯϏδωεͷมԽͷύλʔϯʢॎ·ͨԣʣ w όϦΤʔγϣϯ͔Βอޢ͍͢͠ίʔυΛॻͨ͘Ίʹඞཁͳͷ͕Θ͔Δ✔ w
มԽͷύλʔϯΛ༧ଌ͢ΔͨΊͷɺ૾ྗ w όϦΤʔγϣϯ͔Βอޢ͍͢͠ίʔυΛॻͨ͘Ίʹඞཁͳͷͷ͍ํΛମݧ͢Δ
݅ذېࢭΪϓε
݅ذېࢭΪϓε
݅ذېࢭΪϓε όϦΤʔγϣϯͬΆ͍ͷ͕ݱΕͨͱ͖ʹ ҆қʹ݅ذΛͤͣʹ Ұาཱͪࢭ·ͬͯ ࠓޙͷมԽͷύλʔϯΛ૾͢Δ
օ͞ΜΪϓε͚ͭ·͔ͨ͠ʁ ҰॹʹͬͯΈ·͠ΐ͏
ྫྐྵ ʮ݄͔Βݩ߸͕มΘΔ͡ΌΜɺ݄Ҏ߱ͷٻॻʹ৽͍͠ݩ߸Ͱग़ͯ͠Α Ͷʯ
ྫྐྵ ѱ͍ྫ JG EBUFGPSNBU b:NE` \ SFUVSObত` ^FMTFJG EBUFGPSNBU
b:NE` \ SFUVSObฏ` ^FMTF\ SFUVSObʢԾʣ৽ݩ߸` ^ ࠓޙมԽͦ͠͏ͳͱ͜Ζͳ͍ ͔ʁ
ྫྐྵ ྑ͍ྫ SFUVSOXBSFLJ1SPWJEFS3FTPMWFSSFTPMWF EBUB QSPWJEF তPSฏPSʜ
ྫۀऀͷૹྉ ʮࠓ·ͰϠϚτ͚ͩͩͬͨΜ͚ͩͲɺࠓࠤͱܖ͢Δ͜ͱʹͨ͠ΜͩΑͶʔɻ αΠζͷͦΕͧΕͷૹྉࣗಈͰग़ͯ͠ʯ
ྫۀऀͷૹྉ ѱ͍ྫ JG EFMJWFSZ.FUIPEbTBHBXB` \ SFUVSOTBHBXB'FF5BCMF<`TJ[F`> ^FMTF\ SFUVSOZBNBUP'FF5BCMF<bTJ[F`> ^ ࠓޙมԽͦ͠͏ͳͱ͜Ζͳ͍
͔ʁ
ྑ͍ྫ SFUVSOEFMJWFSZ'FF5BCMF3FTPMWFSSFTPMWF EFMJWFSZ.FUIPE HFU'FF'PS4J[F bTJ[F` ྫۀऀͷૹྉ
ྫ࠙ձͷҿΈ ʮ࠙ձҿΈ์ͩΑɻେਓΞϧίʔϧͱιϑτυϦϯΫɺະιϑτυϦϯ ΫͷΈɻ֤ࢀՃऀʹͲͬͪͷυϦϯΫνέοτΛ͍͍͔ͤɺ͍͍ײ͡ʹ࣮ΑΖ͠ ͘ʯ
ྫ࠙ձͷҿΈ JG QBSUJDJQBOUJT"EVMU \ SFUVSOb#FFS5JDLFU` ^FMTF\ SFUVSOb+VJDF5JDLFU` ^ ࠓޙมԽͦ͠͏ͳͱ͜Ζͳ͍ ͔ʁ
ྫ࠙ձͷҿΈ JG QBSUJDJQBOUJT"EVMU \ SFUVSOb#FFS5JDLFU` ^FMTF\ SFUVSOb+VJDF5JDLFU` ^ ࠓޙมԽͦ͠͏ͳͱ͜Ζͳ͍ ͔ʁ
ͨͩ͠ɺۀࣝΛΘͳ͍૾ྗɺໝྗͱԽ͢͜ͱ͕͋ΔͷͰཁҙ
·ͱΊ w όϦΤʔγϣϯͷൃੜݯͱൃੜύλʔϯ͕Θ͔Δ✔ w ൃੜݯϏδωεͷมԽ w ൃੜύλʔϯϏδωεͷมԽͷύλʔϯʢॎ·ͨԣʣ w όϦΤʔγϣϯ͔Βอޢ͍͢͠ίʔυΛॻͨ͘Ίʹඞཁͳͷ͕Θ͔Δ✔ w
มԽͷύλʔϯΛ༧ଌ͢Δʢ૾ྗʣ w όϦΤʔγϣϯ͔Βอޢ͍͢͠ίʔυΛॻͨ͘Ίʹඞཁͳͷͷ͍ํΛମݧ͢Δ✔ w ݅ذېࢭΪϓε
5IBOLZPV