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
モダン・ソフトウェアエンジニアリングのエッセンス / Essence of Modern So...
Search
Masanori Kado
July 21, 2020
Programming
7
10k
モダン・ソフトウェアエンジニアリングのエッセンス / Essence of Modern Software Engineering
https://smartse.connpass.com/event/178626/
Masanori Kado
July 21, 2020
Tweet
Share
More Decks by Masanori Kado
See All by Masanori Kado
tokyo-tech-dtf-2019-storytelling
kdmsnr
0
720
tokyo-tech-dtf-2019-define-pov
kdmsnr
0
610
tokyo-tech-dtf-2019-ideation
kdmsnr
0
560
tokyo-tech-dtf-2019-guidance
kdmsnr
0
2.3k
tokyo-tech-dtf-2019-introduction
kdmsnr
0
520
tokyo-tech-dtf-2019-user-research
kdmsnr
0
600
大学におけるイマドキのエンジニア教育―東京工業大学EDPの事例(デブサミ2019 14-D-4)/ Modern Engineering Education at University
kdmsnr
4
3.5k
2018_EDP-BC_Final_Report_Announcement.pdf
kdmsnr
0
280
edp-toolkit on SIGED
kdmsnr
0
930
Other Decks in Programming
See All in Programming
Doma で目指す ORM 最適解
nakamura_to
1
160
『Python → TypeScript』オンボーディング奮闘記
takumi_tatsuno
1
130
OpenTelemetry + LLM = OpenLLMetry!?
yunosukey
2
390
💎 My RubyKaigi Effect in 2025: Top Ruby Companies 🌐
yasulab
PRO
1
130
OpenTelemetryで始めるベンダーフリーなobservability / Vendor-free observability starting with OpenTelemetry
seike460
PRO
0
160
TypeScript を活かしてデザインシステム MCP を作る / #tskaigi_after_night
izumin5210
4
470
當開發遇上包裝:AI 如何讓產品從想法變成商品
clonn
0
2.5k
抽象データ型について学んだ
ryounasso
0
200
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
3
220
推論された型の移植性エラーTS2742に挑む
teamlab
PRO
0
150
Practical Domain-Driven Design - Workshop at NDC 2025
mufrid
0
130
型安全なDrag and Dropの設計を考える
yudppp
5
650
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
The Language of Interfaces
destraynor
158
25k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Site-Speed That Sticks
csswizardry
7
590
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
123
52k
Navigating Team Friction
lara
186
15k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
460
Making Projects Easy
brettharned
116
6.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Transcript
ϞμϯɾιϑτΣΞΤϯδχΞϦϯά ͷΤοηϯε ݄ ϫΠΫϧגࣜձࣾ ֯యʢ!LENTOSʣ
.BSUJO'PXMFSTBZTʢʣ w ݫ֨͗ͯ͢ɺՁ͕ݶΒΕΔ w "MJTUBJS$PDLCVSO͕ɺιϑτΣΞ։ൃͰਓ͕த৺తͳཁ ૉͰ͋Γɺਓຊ࣭తʹඇઢܗతͰ༧ଌෆೳͳͷͰ͋Δͱ આ໌ͯ͘͠Εͨ https://bliki-ja.github.io/Semat/
.BSUJO'PXMFSTBZTʢʣ w ݫ֨͗ͯ͢ɺՁ͕ݶΒΕΔ w "MJTUBJS$PDLCVSO͕ɺιϑτΣΞ։ൃͰਓ͕த৺తͳཁ ૉͰ͋Γɺਓຊ࣭తʹඇઢܗతͰ༧ଌෆೳͳͷͰ͋Δͱ આ໌ͯ͘͠Εͨ w ਓ͕ѻ͍͍͢ܭࢉࣜͰهड़Ͱ͖Δ༧ଌՄೳͳΤʔδΣϯτʹ ͳΕՄೳੑ͋Δ͔͠Εͳ͍
https://bliki-ja.github.io/Semat/
ཧͷ༻ w ཧͱʁ w J ݱΛʮهड़ʯ͢Δͷ w JJ ݱΛʮ༧ଌʯ͢Δͷ w
ʮ༧ଌʯ͢ΔͨΊʹʮهड़ʯ͕ඞཁͰ͋Γɺ ʮهड़ʯ͢ΔͨΊʹʮݴޠʯ͕ඞཁͰ͋Δ
ཧͷ༻ w ཧͱʁ w J ݱΛʮهड़ʯ͢Δͷ w JJ ݱΛʮ༧ଌʯ͢Δͷ w
ʮ༧ଌʯ͢ΔͨΊʹʮهड़ʯ͕ඞཁͰ͋Γɺ ʮهड़ʯ͢ΔͨΊʹʮݴޠʯ͕ඞཁͰ͋Δ w কདྷΛ༧ଌ͍͕ͨ͠ɺ·ͣͦͷͨΊͷݴޠ͕ඞཁ
&TTFODFͷΞʔΩςΫνϟ
&TTFODFͷΞʔΩςΫνϟ ᶃ ᶄ ᶅ
ᶃΤοηϯγϟϧԽ͞Εͨख๏
ͬ͘͟Γͱʮख๏ʯͱԿ͔ w ʮιϑτΣΞΛ։ൃɾҡ࣋͢Δͱ͖ʹඞཁͱͳΔͯ͢ͷ͜ͱʹରͯ͠ɺ ΞυόΠεΛఏڙ͢Δͷʯ w ʮͯ͢ͷ͜ͱʯΥʔλʔϑΥʔϧख๏͕ཧղ͍͢͠ w ͏·͍͔͘ͳ͍͜ͱΛআ͚ʢʂʣͦΜͳʹѱ͘ͳ͍ w ݱ࣮తʹɺΞδϟΠϧΛؚΉ෮తख๏ͰΔ͖
w ͱ͍͑ɺࣗݾ৫Խ͕લఏͩͱʮͯ͢ͷ͜ͱʯΛݟಀ͍͢͠ w 㱤શମͷݟऔΓਤΛผ్༻ҙ͓ͯ͘͠ͱΑ͍
ख๏ͷେ͖ͭ͋͘Δ w ཚཱʹΑΔͷҾͬுΓ߹͍ʢख๏ͷઓ૪ʣ w ࣅͨΑ͏ͳ͜ͱΛͬͯΔͷʹ໊લ͕ҧ͏ w ෦ʢϓϥΫςΟεʣ͕ϞδϡʔϧԽ͞Ε͍ͯͨΒ࠶ར༻Մೳͳͷʹʂ w ख๏ͷ࡞ऀ͕ܾΊΔઈରతͳϧʔϧ͕͋Δʢख๏ͷࠈʣ w
ʮͦΜͳͷͰࢭΊΛͤΜʯ w ॻ੶Ͱ৮Ε͍ͯͳ͍͕ɺೝఆࢿ੍֨ͷ͋Γͦ͏
ʮιϑτΣΞ͕ੈքΛ৯Δʯ࣌ʢʣ ιϑτΣΞͷख๏͚ͩΛޠͬͯΔ߹͡ΌͶ͑
৯ޙͷख๏͜͏͋Γ͍ͨ wطΛ͏ͷͰͳ͘ɺঢ়گʹ͋ΘͤͯࣗͨͪͰख๏Λ࡞Γ͍ͨ w ͨͩ͠ɺθϩ͔Βख๏Λ࡞Δͷେม͗͢Δ w 㱤طଘͷϓϥΫςΟεΛʮ߹ʯ͢Ε͍͍ʢʮख๏ϓϥΫςΟεͷ߹ʣ w ͦΕʹɺࣗͨͪͰख๏Λ࡞ͬͯ୭ཧղͯ͘͠Εͳ͍ w 㱤ʮهड़͢ΔݴޠʯΛ౷Ұͯ͠୭ͰಡΊΔΑ͏ʹ͢Ε͍͍
w ϓϩμΫτͷ6.-ʹର͢Δϓϩηεͷ&TTFODFͱ͍͏Ґஔ͚ͮͬΆ͍ʁ ʢ6.-ͱಉ͘͡Β͍ͷرͱઈΛ࣋ͭͱ͍͍ͱࢥ͏ʜʜʣ
ᶄΤοηϯγϟϧԽ͞Εͨ ϓϥΫςΟε
ϓϥΫςΟεͱԿ͔ w ख๏Λߏ͢Δ۩ମతͳ࡞ۀํ๏ͷ͜ͱ w ख๏ͱҧͬͯʮ͜ΜͳΜͳΜ΅͍͍͋ͬͯͰ͔͢ΒͶʯ w ͭͷྖҬʹӨڹΛ༩͑ΔʢΞϧϑΝͷঢ়ଶΛมԽͤ͞Δʣɿ w ސ٬ w
ιϦϡʔγϣϯʢٕज़ʣ w ׆ಈʢϓϩδΣΫτʣ
ϓϥΫςΟεΛهड़͢Δݴޠ
ϓϥΫςΟεΛهड़͢Δݴޠ ͏͖ʮͷʯ Δ͖ʮ͜ͱʯ ඞཁͳʮೳྗʯ ʢѻ͏ͷ΄͏͕Α͔ͬͨʁʣ
ʮϖΞϓϩάϥϛϯάʯΛهड़ͯ͠Έͨ
ʮϖΞϓϩάϥϛϯάʯΛهड़ͯ͠Έͨ Δ͖ʮ͜ͱʯ ඞཁͳʮೳྗʯ ͏͖ʮͷʯ
ૉͳײ w ͜ΕͬͯɺຊʹΘ͔Γ͍͢ʜʜͷ͔ʁ w 6.-ͱಉ͘͡Β͍ͷرͱઈΛ࣋ͭͱ͍͍ͱࢥ͏ʢճʣ w ͏ͪΐͬͱઆ໌Λଓ͚·͢
Δ͖ʮ͜ͱʯ͕ϓϥΫςΟεͷத৺ Δ͖ʮ͜ͱʯ
ʮ͜ͱʯͷৄࡉΛΧʔυʹهड़͢Δ
ʮ͜ͱʯʮͷʯͷঢ়ଶΛม͑Δ
༻ҙ͞ΕͨछྨͷΞϧϑΝʢͷʣ
ΞϧϑΝΧʔυԽ͞Ε͍ͯΔ
ΞϧϑΝෳͷঢ়ଶΛ࣋ͭ
ૉͳײ w ϓϥΫςΟεʹΑͬͯঢ়ଶΛมԽͤ͞ΔͷΘ͔Γ͍͢ w ঢ়ଶͳͲΛΧʔυʹ͢Δͷ͍͍ΞΠσΞͩͱࢥ͏ʂ w ్த͔Β&TTFODFͷઆ໌ʹ౿ΈࠐΜͰ͠·ͬͯͨʜʜɻ
ᶅ&TTFODF ʢΧʔωϧ ݴޠʣ
&TTFODFͱʁ &TTFODF Χʔωϧ ݴޠ ʮख๏ͷج൫ʯͱͳΔͷ
&TTFODFݴޠ
&TTFODFΧʔωϧ ͍ͭ͜Β۩ମత͗͢ΔͷͰ Χʔωϧʹೖ͍ͬͯͳ͍ ʢදݱܕ͚ͩఆٛ͞Ε͍ͯΔʣ ͕͜͜Χʔωϧ ɾͷ ɾ͜ͱ ɾೳྗ
Χʔωϧͷ ΞϧϑΝʢͷʣ
ΧʔωϧͷΞϧϑΝʢͷʣ
ΞϧϑΝෳͷঢ়ଶΛ࣋ͭ
ঢ়ଶΛਐḿͤ͞ΔͨΊʹߟ͑Δ ʮεςʔΫϗϧμʔΛר͖ࠐΉͨΊͷϛʔςΟϯάΛ։࠵ͯ͠ΈΔʁʯ
ʮঢ়ଶΛ͑ʯήʔϜ
ʮঢ়ଶΛ͑ʯήʔϜ
ঢ়ଶͷਐḿͷՄࢹԽ
ʢิʣຊޠͷΞϧϑΝঢ়ଶΧʔυͭ͘Γ·ͨ͠ IUUQTHJUIVCDPNLENTOSFTTFODFBMQIBTUBUFDBSETKB
Χʔωϧͷ ΞΫςΟϏςΟεϖʔεʢ͜ͱʣ
ΞΫςΟϏςΟεϖʔεʢ͜ͱʣ ਖ਼֬ʹϓϥΫςΟεͷΞΫςΟϏςΟʢ͜ͱʣΛೖΕΔʮ͜ͱͷೖΕʯ
ϓϥΫςΟε͕Γͳ͍ͱ͜Ζ͕Θ͔Δ
ʢิʣΧʔωϧͰΓͳ͍ͱ͖ w Χʔωϧʹ͋ΔΞϧϑΝʢͷʣΞΫςΟϏςΟεϖʔεʢ͜ ͱʣͰෆेͳ͜ͱ͕͋Δ w ϓϥΫςΟεͷ࡞࣌ʹΧʔωϧΛܧঝ֦ͯ͠ு͢Ε͍͍ w FHʦཁٻʧΛܧঝͨ͠ʦϓϩμΫτόοΫϩάΞΠςϜʧ w FHʦ࡞ۀΛ४උ͢ΔʧΛܧঝͨ͠ʦνʔϜͷΩοΫΦϑʧ
εΫϥϜͱ&TTFODF
εΫϥϜͷશମ૾
&TTFODFݴޠʹϚοϐϯά
&TTFODFݴޠͰදݱͨ͠ͷ
ૉͳײ w ͑ͬɺΊͬͪΌΘ͔Γʹ͘͘ͳͬͯʜʜͳ͍ʁ w 6.-ͱಉ͘͡Β͍ͷرͱઈΛ࣋ͭͱ͍͍ͱࢥ͏ʢճʣ w ͏ͪΐͬͱઆ໌Λଓ͚·͢
ΧʔυԽ͞Εͨͷ
ঢ়ଶ͕໌ࣔతʹͳͬͨͷ
εΫϥϜ͚ͩ͡Όෆेͳ͜ͱΘ͔Δ ʢʦ׆ಈʧྖҬ͚ͩ͡Όͳ͍ؾ͢Δ͚Ͳɺෆेͳͷಉҙʣ
εΫϥϜͷࣦഊͯ͠Δ w &TTFODFͷΧʔυΛ͑ɺͲ͜Ͱࣦഊ͍ͯ͠Δ͔͕Θ͔Δ w ࣍ͷʮঢ়ଶʯʹਐΉͨΊʹԿΛ͖͔͢ʁΛߟ͑ΒΕΔ IUUQTQBHFTTFSWJDFTTTJWBSKBDPCTPODPNFTTFOUJBMTDSVN
ʢิʣ"HJMF&TTFOUJBMT͋Δ IUUQTQSBDUJDFMJCSBSZJWBSKBDPCTPODPN
શମతͳҹ w ΞδϟΠϧ։ൃͷʮָ͠͞ʯେ෯μϯͯ͠Δؾ͕͢ΔͶ w ʮ͢ͰʹྲྀߦͬͯΔʯͦ͏͕ͩɺશવͦΜͳؾ͕͠ͳ͍ w ͋Ε΄Ͳආ͚͍ͯͨʮख๏ͷࠈʯײ͕ग़ͯͳ͍ʂʁ w 6.-ͱಉ͘͡Β͍ͷرͱઈΛ࣋ͭͱ͍͍ͱࢥ͏ʢճʣ w
Ͱɺ։ൃ͕͏·͍ͬͯ͘ͳ͍ͱ͖ʹ͏ͷΑͦ͞͏ w ʮख๏ͷج൫ʯͱͳΔ҆ఆײͳΜͱͳ͘ײ͡ΒΕΔ w Ϡίϒιϯ͕ݩؾͦ͏ͰΑ͔ͬͨͰ͢
։ൃ͕͏·͍ͬͯ͘ͳ͍ํੋඇͲ͏ͧʂ