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.1k
設計力を上げる!バリエーションの見極め術
Hiromi Hishida
March 30, 2019
Tweet
Share
More Decks by Hiromi Hishida
See All by Hiromi Hishida
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
360
Doctrine ORMでValue Objectを扱う方法4選 #phpstudy / 4 ways to handle Value Objects with Doctrine ORM
77web
4
160
100%出しきれないのを許すスクラムチーム運営
77web
1
160
マイクロサービスがほしいと思ったときに本当に必要だったもの〜なぜ人は共通基盤の夢を見るのか〜 / why microservice
77web
5
1.4k
モデルとはなにか / what is model?
77web
6
2.6k
たとえば、唐揚げを揚げながらPHPコードを書く技術 #phpstudy
77web
1
340
ベテランのバグ調査の秘訣、こっそり教えちゃいます。
77web
23
9.6k
Symfony+Doctrine ORMで始める安全なモジュラモノリス
77web
3
4.1k
他人がはやく読めるコードを書く ために
77web
11
4.8k
Other Decks in Programming
See All in Programming
Prompt FlowによるLLMアプリケーション開発
yuto2000
1
1k
AWS CDKにおける「再利用性」を考える / aws-cdk-reusability
gotok365
6
1.3k
最古の関数型言語「Lisp」ことはじめ / lisp_in_kamiyama
uhooi
1
190
Cloudflare Workers x AWS Lambdaの組み合わせユースケース / Cloudflare Workers x AWS Lambda Combination Use Case
seike460
PRO
2
310
feature環境をGitHub ActionsとCloudFormationでいい感じに管理する
nealle
2
310
Product Management LT会_クアンド新家
shinshin
0
260
Modern Angular: Renovation for Your Applications
manfredsteyer
PRO
0
140
最近追加した型の紹介とその振り返り
aki19035vc
0
180
iOSアプリでクリップボードにコピーしたことをユーザーに伝えるちょうど良いフィードバックを探す
ski
0
100
12年前の『型システム入門』翻訳の思い出話
mame
11
1.2k
みんなのオブザーバビリティプラットフォームを作ってるんだがパフォーマンスがやばい #mackerelio #srenext
ne_sachirou
0
380
Jetpack for KMP
fornewid
1
290
Featured
See All Featured
Web Components: a chance to create the future
zenorocha
307
41k
No one is an island. Learnings from fostering a developers community.
thoeni
17
2.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
17
8.7k
The Invisible Side of Design
smashingmag
294
50k
Imperfection Machines: The Place of Print at Facebook
scottboms
262
13k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
12
3.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.3k
Bash Introduction
62gerente
607
210k
Art, The Web, and Tiny UX
lynnandtonic
291
20k
Automating Front-end Workflow
addyosmani
1362
200k
A better future with KSS
kneath
231
17k
The Straight Up "How To Draw Better" Workshop
denniskardys
229
130k
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