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.8k
モダン・ソフトウェアエンジニアリングのエッセンス / 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
690
tokyo-tech-dtf-2019-define-pov
kdmsnr
0
580
tokyo-tech-dtf-2019-ideation
kdmsnr
0
500
tokyo-tech-dtf-2019-guidance
kdmsnr
0
2.2k
tokyo-tech-dtf-2019-introduction
kdmsnr
0
480
tokyo-tech-dtf-2019-user-research
kdmsnr
0
550
大学におけるイマドキのエンジニア教育―東京工業大学EDPの事例(デブサミ2019 14-D-4)/ Modern Engineering Education at University
kdmsnr
4
3.4k
2018_EDP-BC_Final_Report_Announcement.pdf
kdmsnr
0
280
edp-toolkit on SIGED
kdmsnr
0
890
Other Decks in Programming
See All in Programming
Keeping it Ruby: Why Your Product Needs a Ruby SDK - RubyWorld 2024
envek
0
180
MCP with Cloudflare Workers
yusukebe
2
220
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
4
180
StarlingMonkeyを触ってみた話 - 2024冬
syumai
3
270
42 best practices for Symfony, a decade later
tucksaun
1
180
複雑な仕様に立ち向かうアーキテクチャ
myohei
0
170
Webエンジニア主体のモバイルチームの 生産性を高く保つためにやったこと
igreenwood
0
330
SymfonyCon Vienna 2025: Twig, still relevant in 2025?
fabpot
3
1.2k
KubeCon + CloudNativeCon NA 2024 Overviewat Kubernetes Meetup Tokyo #68 / amsy810_k8sjp68
masayaaoyama
0
250
テストコード文化を0から作り、変化し続けた組織
kazatohiei
2
1.5k
14 Years of iOS: Lessons and Key Points
seyfoyun
1
770
Haze - Real time background blurring
chrisbanes
1
500
Featured
See All Featured
Site-Speed That Sticks
csswizardry
2
190
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Navigating Team Friction
lara
183
15k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Building Applications with DynamoDB
mza
91
6.1k
How GitHub (no longer) Works
holman
311
140k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
94
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
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 Ϡίϒιϯ͕ݩؾͦ͏ͰΑ͔ͬͨͰ͢
։ൃ͕͏·͍ͬͯ͘ͳ͍ํੋඇͲ͏ͧʂ