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
DIPのことを知っておこう
Search
YasuhiroKimesawa
August 29, 2020
Programming
0
52
DIPのことを知っておこう
YasuhiroKimesawa
August 29, 2020
Tweet
Share
More Decks by YasuhiroKimesawa
See All by YasuhiroKimesawa
社内請負スクラムから脱却する〜複雑性に適応するスクラムチームの作り方〜
yasuhirokimesawa
1
120
XP祭り2024 『アジャイルとは何か?なぜアジャイルなのか?』1年間のアジャイルコーチとの1on1を通してやっとわかったアジャイル
yasuhirokimesawa
0
650
VUCAの時代にプロダクト開発のためにできること
yasuhirokimesawa
1
510
ユニットテストとカバレッジの 本質をチーム内で共有する / Unit testing and coverage Share the essence within the team
yasuhirokimesawa
0
130
タスク管理術
yasuhirokimesawa
0
29
ドメイン駆動設計の実際(2020/4/20 DDD Online MeetUp)
yasuhirokimesawa
3
400
良いコードに正解はあるか
yasuhirokimesawa
0
500
数学とバッファ
yasuhirokimesawa
0
370
Other Decks in Programming
See All in Programming
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
180
開発者への寄付をアプリ内課金として実装する時の気の使いどころ
ski
0
350
LLMとPlaywright/reg-suitを活用した jQueryリファクタリングの実際
kinocoboy2
4
670
ネイティブ製ガントチャートUIを作って学ぶUICollectionViewLayoutの威力
jrsaruo
0
130
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
190
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
790
エンジニアとして高みを目指す、 利益を生み出す設計の考え方 / design-for-profit
minodriven
23
12k
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
3
370
ててべんす独演会〜Flowの全てを語ります〜
tbsten
1
220
Model Pollution
hschwentner
1
180
10年もののAPIサーバーにおけるCI/CDの改善の奮闘
mbook
0
780
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
490
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
224
10k
The Cost Of JavaScript in 2023
addyosmani
53
9k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Done Done
chrislema
185
16k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
The Invisible Side of Design
smashingmag
301
51k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
How to Think Like a Performance Engineer
csswizardry
27
2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
850
Transcript
%*1ͷ͜ͱΛ ͓ͬͯ͜͏ %FQFOEFODZ *OWFSTJPO 1SJODJQBM ґଘੑٯసͷ ๏ଇ
ࣗݾհɿ w גࣜձࣾ;0;0ςΫϊϩδʔζॴଐɹ ฐࣾαʔϏε'VMpMMNFOUCZ;0;0ઃܭओͷҰਓ w Ӭԕͷ̏̕ࡀ w ීஈόοΫΤϯυଆͷ։ൃ w ೝఆεΫϥϜϚελʔ
2JJUB!:BTVIJSP,JNFTBXB 5XJUUFSQJMHSJN@SFET #MPHIUUQTQJMHSJNMJGFTUZMFKQ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE IUUQTXXXZPVUVCFDPNXBUDI W":PJ6",H. ·ͣͪ͜ΒΛޚཡ͍ͩ͘͞
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ஊ͓͖ͯ͞ %*1Λཧղ͢ΔͨΊʹ͓͖͍ͬͯͨ͜ͱ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ҰൠతͳΞϓϦέʔγϣϯͷׂͱ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ܭࢉͱه
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ͨͱ͑ w ใΛ%#ʹอଘʢهʣ w Λݕࡧ͢Δʢه ͨ͠ͷΛऔΓग़͢ ʣ w ΛΧʔτʹೖΕΔʢߪೖՄೳ͔νΣοΫ͢Δʣ
ʢܭࢉʣ w ૹྉɾফඅ੫ͳͲΛߟྀ͠ߪೖֹۚΛܭࢉʢܭࢉʣ w ߪೖใΛ%#ʹอଘʢهʣ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ͜ͷΞϓϦέʔγϣϯΛͲ͏࡞Δ͔ʁ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ͜ͷॲཧͷྲྀΕʢϢʔεέʔεʣΛશͯಉ͡ϝιου ʹॻ͘ʹτϥϯβΫγϣϯεΫϦϓτ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ͜ͷॲཧͷྲྀΕʢϢʔεέʔεʣΛશͯಉ͡ϝιου ʹॻ͘ʹτϥϯβΫγϣϯεΫϦϓτ ґଘ̍̌̌ˋ ̍ͭͷमਖ਼͕ൃੜ͢Δͱશମͷݟ͕͠ඞཁ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ͜ͷॲཧͷྲྀΕʢϢʔεέʔεʣΛશͯϝιουʹ ׂʹʢมΘΒͣʣτϥϯβΫγϣϯεΫϦϓτ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ͜ͷॲཧͷྲྀΕʢϢʔεέʔεʣΛશͯϝιουʹ ׂʹʢมΘΒͣʣτϥϯβΫγϣϯεΫϦϓτ ґଘ̍̌̌ˋ ̍ͭͷमਖ਼͕ൃੜ͢Δͱશମͷݟ͕͠ඞཁ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ׂ͝ͱʹΫϥεٴͼύοέʔδ ʹΘ͚Δ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ͨͱ͑ w ใΛ%#ʹอଘʢهʣ w Λݕࡧ͢Δʢه ͨ͠ͷΛऔΓग़͢ ʣ w ΛΧʔτʹೖΕΔʢߪೖՄೳ͔νΣοΫ͢Δʣ
ʢܭࢉʣ w ૹྉɾফඅ੫ͳͲΛߟྀ͠ߪೖֹۚΛܭࢉʢܭࢉʣ w ߪೖใΛ%#ʹอଘʢهʣ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ׂΛྨͯ͠Έ͍ͯͩ͘͞
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE .P ߪೖใ ফඅ੫ ૹྉ .PEFM ใɾܭࢉ Λ%#ʹ อଘ͢Δ
Λݕࡧ͢ Δ ߪೖใΛ%# ʹอଘ͢Δ *OGSBTUSVDUVSF ه ˞ใଐੑɺܭࢉϝιου
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE .P ߪೖใ ফඅ੫ ૹྉ .PEFM ใɾܭࢉ Λ%#ʹ อଘ͢Δ
Λݕࡧ͢ Δ ߪೖใΛ%# ʹอଘ͢Δ *OGSBTUSVDUVSF ه ϢʔεέʔεΛ࣮ߦ͢Δ "QQMJDBUJPO Ϣʔεέʔε
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE .P ߪೖใ ফඅ੫ ૹྉ .PEFM ใɾܭࢉ Λ%#ʹ อଘ͢Δ
Λݕࡧ͢ Δ ߪೖใΛ%# ʹอଘ͢Δ *OGSBTUSVDUVSF ه ϢʔεέʔεΛ࣮ߦ͢Δ "QQMJDBUJPO Ϣʔεέʔε $POUSPMMFS 6* BQQMJDBUJPOͷೖΓޱ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE .PEFM ཁʂ w Ͳͷʹґଘ͍ͯ͠ͳ͍.PEFMҎ֎Ͱมߋ͕͋ͬͯؾʹ͠ͳ͘ ͍͍ͯ w ܭࢉʢʹϏδωεʣ͕Ұ൪ෳࡶͩ͠มߋ͕͋Δ w .PEFMͷґଘ͍͍ؔ͋ͬͯʹߏԽ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ਖ਼Ϟσϧ͕ಠཱͯ͠Ε ͦͦ͜͜ݎ࿚ͳΞϓϦέʔγϣϯ ࡞ΕΔ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ͱ͍͑ɺ ଞͷͩͬͯͦͦ͜͜ෳࡶ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ಛʹؒͷґଘؔʹ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ͨͱ͑ ϢʔεέʔεΛ࣮ߦ͢Δ "QQMJDBUJPO Ϣʔεέʔε Λ%#ʹ อଘ͢Δ Λݕࡧ͢ Δ ߪೖใΛ%#
ʹอଘ͢Δ *OGSBTUSVDUVSF ه .P ߪೖใ ফඅ੫ ૹྉ .PEFM ใɾܭࢉ "QQMJDBUJPO ৭ʑͳʹґଘ͍ͯ͠Δ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE Ϟσϧͱ͔͘ɺ *OGSBTUSVDUVSFͱ ͦͦԿͷؔ࿈ͳ͍ͷʹ ґଘ͍ͯ͠Δ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE *OGSBTUSVDUVSFʹ มߋ͕͋Ε "QQMJDBUJPO Өڹ͢ΔՄೳੑ͕͋Δɻ ґଘ͍ͯ͠Δ͔Βɻ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ͦ͜Ͱ%*1 %FQFOEFODZ *OWFSTJPO 1SJODJQBM ґଘੑٯసͷ ๏ଇ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE %FQFOEFODZ*OWFSTJPO1SJODJQBM ্ҐϞδϡʔϧԼҐϞδϡʔϧʹɺ ґଘͯ͠ͳΒͳ͍ɻ ্ҐϞδϡʔϧԼҐϞδϡʔϧɺ நʹґଘ͢Δ͖ɻ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ্ҐϞδϡʔϧԼҐϞδϡʔϧʹґଘͯ͠ͳΒͳ͍ ϢʔεέʔεΛ࣮ߦ͢Δ Λ%#ʹ อଘ͢Δ Λݕࡧ͢ Δ ߪೖใΛ%# ʹอଘ͢Δ *OGSBTUSVDUVSF
ه "QQMJDBUJPO Ϣʔεέʔε ্Ґ ԼҐ 9͜Ε͕ͩΊΑ9
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ্ҐϞδϡʔϧԼҐϞδϡʔϧʹґଘͯ͠ͳΒͳ͍ ϢʔεέʔεΛ࣮ߦ͢Δ Λ%#ʹ อଘ͢Δ Λݕࡧ͢ Δ ߪೖใΛ%# ʹอଘ͢Δ *OGSBTUSVDUVSF
ه "QQMJDBUJPO Ϣʔεέʔε ্Ґ ԼҐ 9͜Ε͕ͩΊΑ9 Ͳ͏ͬͯʁ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ্ҐϞδϡʔϧԼҐϞδϡʔϧநʹґଘ͖͢ ϢʔεέʔεΛ࣮ߦ͢Δ Λ%#ʹ อଘ͢Δ Λݕࡧ͢ Δ ߪೖใΛ%# ʹอଘ͢Δ *OGSBTUSVDUVSF
ه "QQMJDBUJPO Ϣʔεέʔε ্Ґ ԼҐ 9 ݕࡧ *OUFSGBDF
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ্ҐϞδϡʔϧԼҐϞδϡʔϧநʹґଘ͖͢ ϢʔεέʔεΛ࣮ߦ͢Δ Λ%#ʹ อଘ͢Δ Λݕࡧ͢ Δ ߪೖใΛ%# ʹอଘ͢Δ *OGSBTUSVDUVSF
ه "QQMJDBUJPO Ϣʔεέʔε ্Ґ ԼҐ 9 ݕࡧ *OUFSGBDF *OUFSGBDF நʣͷΈʹ ґଘ͍ͯ͠Δ͔ΒɺҾ ʹมߋ͕ͳ͍ݶΓ࣮ͷ ৄࡉʹมߋ্͕͋ͬͯ ҐϞδϡʔϧʹӨڹ͕ ͳ͍͜ͱΛ֬Ͱ͖Δɻ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ɿ*OUFSGBDFͲ͜ͷʹ͓͔͘ʁ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE *OUFSGBDFͲͷʹ͓͔͘ʁ ϢʔεέʔεΛ࣮ߦ͢Δ %#ૢ࡞ৄ ࡉ ߪೖใ%#ૢ ࡞ৄࡉ *OGSBTUSVDUVSF ه "QQMJDBUJPO
Ϣʔεέʔε ্Ґ ԼҐ 9 ه 3FQPTJUPSZ .PEFM ใɾܭࢉ Ϟδϡʔϧ Ͳ͏͍͏ϥΠϑαΠΫϧ ΛͨͲΔͷ͔ ੜɾӬଓԽɾ আɾมߋʣΛϞσϧͰදݱ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE .P ߪೖใ ফඅ੫ ૹྉ .PEFM ใɾܭࢉ Λ%#ʹ อଘ͢Δ
Λݕࡧ͢ Δ ߪೖใΛ%# ʹอଘ͢Δ *OGSBTUSVDUVSF ه ϢʔεέʔεΛ࣮ߦ͢Δ "QQMJDBUJPO Ϣʔεέʔε %*1ʹΑͬͯ͜Ε͕
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE .P ߪೖใ ফඅ੫ ૹྉ .PEFM ใɾܭࢉ *OGSBTUSVDUVSF ه
ϢʔεέʔεΛ࣮ߦ͢Δ "QQMJDBUJPO Ϣʔεέʔε ͜͏ͳΔ γϯϓϧͰཧత ͳߏ %#ૢ࡞ৄ ࡉ ߪೖใ%#ૢ ࡞ৄࡉ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ͏ͻͱͭ 0OF.PSF 5IJOH
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE "QQMJDBUJPOʹ*OGSBTUSBDUVSFͷ࣮୭͕Ͳ͏ͬ ͯ͢ͷʁ ϢʔεέʔεΛ࣮ߦ͢Δ *OGSBTUSVDUVSF ه "QQMJDBUJPO Ϣʔεέʔε ্Ґ ԼҐ
9 ݕࡧ *OUFSGBDF %#ૢ࡞ৄ ࡉ ߪೖใ%#ૢ ࡞ৄࡉ ݱ࣮తʹ "QQMJDBUJPOͰ ݕࡧΛ࣮ࡍʹ ͠ͳ͍ͱ͍͚ͳ͍
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE "QQMJDBUJPOʹ*OGSBTUSBDUVSFͷ࣮୭͕Ͳ͏ͬ ͯ͢ͷʁ Ҋ̍ɹ"QQMJDBUJPOͰ/FX͢Δ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE Ҋ̍ɹ"QQMJDBUJPOͰ/FX͢Δ ϢʔεέʔεΛ࣮ߦ͢Δ *OGSBTUSVDUVSF ه "QQMJDBUJPO Ϣʔεέʔε ্Ґ ԼҐ ݕࡧ
*OUFSGBDF ·ͨґଘͪ͠Ό͏ ͷͰ/( %#ૢ࡞ৄ ࡉ ߪೖใ%#ૢ ࡞ৄࡉ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE "QQMJDBUJPOʹ*OGSBTUSBDUVSFͷ࣮୭͕Ͳ͏ͬ ͯ͢ͷʁ Ҋ̎ɹ6*Ͱ/FXͯ͠"QQMJDBUJPOੜ ࣌ʹίϯετϥΫλͷҾͱͯ͢͠
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE Ҋ̎ɹ6*Ͱ/FXͯ͠"QQMJDBUJPOੜ࣌ʹίϯε τϥΫλͷҾͱͯ͢͠ ϢʔεέʔεΛ࣮ߦ͢Δ *OGSBTUSVDUVSF ه "QQMJDBUJPO Ϣʔεέʔε ݕࡧ *OUFSGBDF
$POUSPMMFS ࠓ$POUSPMMFS͕ ෳࡶʹͳͬͯ͠·͏ %#ૢ࡞ৄ ࡉ ߪೖใ%#ૢ ࡞ৄࡉ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE "QQMJDBUJPOʹ*OGSBTUSBDUVSFͷ࣮୭͕Ͳ͏ͬ ͯ͢ͷʁ %* %FQFOEFODZ*OKFDUJPO ͷग़൪ ґଘੑͷೖ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE "QQMJDBUJPOʹ*OGSBTUSBDUVSFͷ࣮୭͕Ͳ͏ͬ ͯ͢ͷʁ લఏɿ *OGSBTUSVDUVSFͷΫϥε ʢ$POUSPMMFS"QQMJDBUJPO͚ͩͲʣ ͳΜͯɺΞϓϦىಈ͔Βऴྃ·Ͱ̍ͭͷ Πϯελϯε͕͋Ε͍͍ɻ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE "QQMJDBUJPOʹ*OGSBTUSBDUVSFͷ࣮୭͕Ͳ͏ͬ ͯ͢ͷʁ Ҋ̏ɹΞϓϦέʔγϣϯͷىಈ࣌ʹΠϯ ελϯεΛ࡞ͬͯ͏ͱ͖ʹɺͦͷΠϯ ελϯεΛ͏Α͏ʹ͢Ε͍͍
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE Ҋ̏ɹΞϓϦέʔγϣϯͷىಈ࣌ʹΠϯελϯεΛ࡞ͬͯ ͏ͱ͖ʹɺͦͷΠϯελϯεΛ͏Α͏ʹ͢Ε͍͍ ϢʔεέʔεΛ࣮ߦ͢Δ *OGSBTUSVDUVSF ه "QQMJDBUJPO Ϣʔεέʔε $POUSPMMFS %#ૢ࡞ৄࡉ
ىಈϝιου %*ίϯςφʣ ੜ͢Δ ϢʔεέʔεΛ࣮ߦ͢Δʣ ੜ͢Δ ੜ͢Δ %#ૢ࡞ৄࡉ $POUSPMMFS࡞ಈ࣌ʹىಈ ࣌ʹ༧Ί࡞͓͍ͬͯͨΠϯ ελϯεΛ࣮ͬͯߦ͢ Δɻ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ࠷ऴతʹ͜͏ͳΔ ϢʔεέʔεΛ࣮ߦ͢Δ *OGSBTUSVDUVSF ه "QQMJDBUJPO Ϣʔεέʔε ݕࡧ *OUFSGBDF $POUSPMMFS
%#ૢ࡞ৄ ࡉ ߪೖใ%#ૢ ࡞ৄࡉ ͠ΜΔʂ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE %*1%*ΛͬͯมԽʹڧ͍ΞϓϦέʔ γϣϯΛ࡞Ζ͏ʂ
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ͓·͚
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE %*1%*Λ͏ͱςετ͍͢͠
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ຊ൪ ϢʔεέʔεΛ࣮ߦ͢Δ *OGSBTUSVDUVSF ه "QQMJDBUJPO Ϣʔεέʔε %#ૢ࡞ৄࡉ ىಈϝιου %*ίϯςφʣ
ੜ͢Δ ੜ͢Δ %#ૢ࡞ৄࡉ ݕࡧ *OUFSGBDF
$PQZSJHIU:BTVIJSP,JNFTBXB"MM3JHIUT3FTFSWFE ςετ ϢʔεέʔεΛ࣮ߦ͢Δ *OGSBTUSVDUVSF ه "QQMJDBUJPO Ϣʔεέʔε %#ૢ࡞ৄࡉ .PDL ςετ
ੜ͢Δ ੜ͢Δ %#ૢ࡞ৄࡉ.PDL ˣ ςετ ݕࡧ *OUFSGBDF %#ૢ࡞ৄࡉ