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
55
DIPのことを知っておこう
YasuhiroKimesawa
August 29, 2020
Tweet
Share
More Decks by YasuhiroKimesawa
See All by YasuhiroKimesawa
社内請負スクラムから脱却する〜複雑性に適応するスクラムチームの作り方〜
yasuhirokimesawa
1
180
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
NIKKEI Tech Talk#38
cipepser
0
270
iOSでSVG画像を扱う
kishikawakatsumi
0
170
SODA - FACT BOOK(JP)
sodainc
1
8.9k
AkarengaLT vol.38
hashimoto_kei
1
130
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
430
Leading Effective Engineering Teams in the AI Era
addyosmani
7
640
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
510
マンガアプリViewerの大画面対応を考える
kk__777
0
330
AI 駆動開発におけるコミュニティと AWS CDK の価値
konokenj
5
270
はじめてのDSPy - 言語モデルを『プロンプト』ではなく『プログラミング』するための仕組み
masahiro_nishimi
4
16k
Claude Agent SDK を使ってみよう
hyshu
0
1.4k
Pythonに漸進的に型をつける
nealle
1
130
Featured
See All Featured
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
2
62
A Tale of Four Properties
chriscoyier
161
23k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Code Review Best Practice
trishagee
72
19k
Navigating Team Friction
lara
190
15k
Reflections from 52 weeks, 52 projects
jeffersonlam
354
21k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Producing Creativity
orderedlist
PRO
347
40k
Balancing Empowerment & Direction
lara
5
700
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 %#ૢ࡞ৄࡉ