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
47
DIPのことを知っておこう
YasuhiroKimesawa
August 29, 2020
Tweet
Share
More Decks by YasuhiroKimesawa
See All by YasuhiroKimesawa
XP祭り2024 『アジャイルとは何か?なぜアジャイルなのか?』1年間のアジャイルコーチとの1on1を通してやっとわかったアジャイル
yasuhirokimesawa
0
590
VUCAの時代にプロダクト開発のためにできること
yasuhirokimesawa
1
500
ユニットテストとカバレッジの 本質をチーム内で共有する / Unit testing and coverage Share the essence within the team
yasuhirokimesawa
0
120
タスク管理術
yasuhirokimesawa
0
29
ドメイン駆動設計の実際(2020/4/20 DDD Online MeetUp)
yasuhirokimesawa
3
390
良いコードに正解はあるか
yasuhirokimesawa
0
490
数学とバッファ
yasuhirokimesawa
0
360
Other Decks in Programming
See All in Programming
Strands Agents で実現する名刺解析アーキテクチャ
omiya0555
1
110
11年かかって やっとVibe Codingに 時代が追いつきましたね
yimajo
1
230
変化を楽しむエンジニアリング ~ いままでとこれから ~
murajun1978
0
660
No Install CMS戦略 〜 5年先を見据えたフロントエンド開発を考える / no_install_cms
rdlabo
0
420
中級グラフィックス入門~効率的なメッシュレット描画~
projectasura
4
2.4k
Claude Code と OpenAI o3 で メタデータ情報を作る
laket
0
110
実践 Dev Containers × Claude Code
touyu
1
120
AWS Summit Japan 2024と2025の比較/はじめてのKiro、今あなたは岐路に立つ
satoshi256kbyte
1
260
JetBrainsのAI機能の紹介 #jjug
yusuke
0
180
Dart 参戦!!静的型付き言語界の隠れた実力者
kno3a87
0
160
構文解析器入門
ydah
7
2k
バイブコーディングの正体——AIエージェントはソフトウェア開発を変えるか?
stakaya
5
720
Featured
See All Featured
Music & Morning Musume
bryan
46
6.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
540
Thoughts on Productivity
jonyablonski
69
4.8k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
It's Worth the Effort
3n
185
28k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
790
GraphQLとの向き合い方2022年版
quramy
49
14k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
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 %#ૢ࡞ৄࡉ