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
9.7k
モダン・ソフトウェアエンジニアリングのエッセンス / 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
670
tokyo-tech-dtf-2019-define-pov
kdmsnr
0
570
tokyo-tech-dtf-2019-ideation
kdmsnr
0
480
tokyo-tech-dtf-2019-guidance
kdmsnr
0
2.2k
tokyo-tech-dtf-2019-introduction
kdmsnr
0
460
tokyo-tech-dtf-2019-user-research
kdmsnr
0
530
大学におけるイマドキのエンジニア教育―東京工業大学EDPの事例(デブサミ2019 14-D-4)/ Modern Engineering Education at University
kdmsnr
4
3.4k
2018_EDP-BC_Final_Report_Announcement.pdf
kdmsnr
0
270
edp-toolkit on SIGED
kdmsnr
0
870
Other Decks in Programming
See All in Programming
App Router 悲喜交々
quramy
7
380
2024-10-02 dev2next - Application Observability like you've never heard before
jonatan_ivanov
0
170
perl for shell, awk and sed programmers
mackee
1
670
◯◯エンジニアになった理由
gessy0129
PRO
0
640
Remix × Cloudflare Pages × Sentry 奮闘記 / remix-pages-sentry
nkzn
1
400
CSC509 Lecture 03
javiergs
PRO
0
140
Vue :: Better Testing 2024
up1
1
390
ECS向けのドリフト検知機構を実装してみた
tkikuc
0
280
VS Code extension: ドラッグ&ドロップでファイルを並び替える
ttrace
0
170
フロントエンドの現在地とこれから
koba04
10
4.4k
利用者視点で考える、イテレータとの上手な付き合い方
syumai
4
230
モジュラモノリス、その前に / Modular monolith, before that
euglena1215
6
670
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
93
13k
It's Worth the Effort
3n
183
27k
A better future with KSS
kneath
237
17k
Building a Scalable Design System with Sketch
lauravandoore
459
32k
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.1k
WebSockets: Embracing the real-time Web
robhawkes
59
7.3k
In The Pink: A Labor of Love
frogandcode
139
22k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
37
1.7k
The Cost Of JavaScript in 2023
addyosmani
43
5.8k
For a Future-Friendly Web
brad_frost
174
9.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
327
21k
Building Your Own Lightsaber
phodgson
102
6k
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 Ϡίϒιϯ͕ݩؾͦ͏ͰΑ͔ͬͨͰ͢
։ൃ͕͏·͍ͬͯ͘ͳ͍ํੋඇͲ͏ͧʂ