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.6k
設計力を上げる!バリエーションの見極め術
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
840
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
370
エンジニアのための 法規制への取り組み方 #healthtechmeetup
77web
8
2.6k
サービスクラスのありがたみを発見したときの思い出 #phpcon_odawara
77web
7
1.1k
「それはhowなんよ〜」のガイドライン #orestudy
77web
8
3k
空が堕ち、大地が割れ、海が涸れた日~もしも愛用しているフレームワークが開発停止したら?~ #phperkaigi 2025
77web
2
1.5k
Beyond ORM
77web
11
2.3k
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
9
8.6k
DoctrineとPostgreSQLの便利な機能、どっちも諦めたくない!
77web
0
290
Other Decks in Programming
See All in Programming
Serena MCPのすすめ
wadakatu
4
910
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
930
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
3
800
Le côté obscur des IA génératives
pascallemerrer
0
130
ネイティブ製ガントチャートUIを作って学ぶUICollectionViewLayoutの威力
jrsaruo
0
140
CSC305 Lecture 04
javiergs
PRO
0
260
CI_CD「健康診断」のススメ。現場でのボトルネック特定から、健康診断を通じた組織的な改善手法
teamlab
PRO
0
190
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
240
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
480
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
560
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
140
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
950
Featured
See All Featured
Writing Fast Ruby
sferik
629
62k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
850
Six Lessons from altMBA
skipperchong
28
4k
YesSQL, Process and Tooling at Scale
rocio
173
14k
A Tale of Four Properties
chriscoyier
160
23k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
BBQ
matthewcrist
89
9.8k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Site-Speed That Sticks
csswizardry
11
880
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