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
「ビジネスロジック」と「例外」
Search
Magnolia.K
October 26, 2024
4.8k
9
Share
「ビジネスロジック」と「例外」
「秋の旬なアーキテクチャLT会」での発表資料です
「ビジネスロジック」と「例外」、というテーマでまとめてみました
Magnolia.K
October 26, 2024
More Decks by Magnolia.K
See All by Magnolia.K
吉祥寺.pm運営の動機、 得られた学び
magnolia
1
830
これからの吉祥寺.pmについて
magnolia
0
670
大吉祥寺.pm 2025 キーノート
magnolia
1
1.2k
イベント運営から見た登壇者への期待
magnolia
7
2.1k
「吉祥寺.pm」というIT勉強会を 10年間続けてきた話
magnolia
0
1.2k
吉祥寺.pm18オープニングトーク.pdf
magnolia
0
2k
設計のための、問題の捉え方〜ドメイン知識の暗黙知を形式知に〜(まとめ版)
magnolia
36
12k
吉祥寺.pmというテックイベントを4年間続けてきた話
magnolia
0
930
Featured
See All Featured
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
140
First, design no harm
axbom
PRO
2
1.2k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
990
The Language of Interfaces
destraynor
162
26k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
390
Writing Fast Ruby
sferik
630
63k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
420
Code Review Best Practice
trishagee
74
20k
Rails Girls Zürich Keynote
gr2m
96
14k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
120
Transcript
Magnolia.K 2024/10/26 ʮϏδωεϩδοΫʯͱʮྫ֎ʯ ळͷ०ͳΞʔΩςΫνϟLTձ
ʣ͜͜Ͱͷʮྫ֎ʯͱɺ ݴޠػೳ͕ఏڙ͢Δྫ֎ॲཧػߏ ʢྫUSZDBUDI fi OBMMZʣͰ͋Γ·ͤΜ
ͯ͞ɺօ͞Μʮࣄॲཧʯ͖Ͱ͔͢
w ৫Λࢧ͑Δʮۀʯɺͨ͘͞Μͷϧʔϧͷ্ʹΓཱ͍ͬͯΔ w ͔͠͠ɺͯ͢ͷۀʹɺͯ͢ͷϧʔϧ͕ద༻͞ΕΔΘ͚Ͱͳ͍ w ྔʹؔΘΒͣɺՁ͋ΔlۀzͳΒɺରԠ͢Δ͔͠ͳ͍ w ͦΜͳதɺΊͬͨʹൃੜ͠ͳ͍ۀʮྫ֎ʯͱݺΕΔΑ͏ʹͳΔ ۀͱɺϧʔϧͱɺྫ֎
Ε͍͕͍ ―͙Θ͍ ʲྫ֎ʳ ී௨ͷྫ͔ΒͣΕ͍ͯΔ͜ͱɻݪଇʹ͋ͯ·Βͳ͍͜ͱɻ·ͨɼͦ͏͍͏ͷɻ ʮܽ੮Λ―ͱͯ͠ೝΊΔʯʮ―ͳͯ͘·Δ๏ଇʯʮ―ͷͳ͍نଇͳ͍ʯ ʮεʔύʔେࣙྛʯΑΓ
ࣗݾհ • ໊લɿMagnolia.K • ΞΧϯτɿX(Twitter) @magnolia_k_ ٢ࣉ.pmͷதͷਓ ઃܭφΠτͷதͷਓ YAPC::Hakodate 2024ελοϑ
Blog: https://blog.magnolia.tech/ ओʹΤϯλʔϓϥΠζϏδωεΞϓϦέʔγϣϯͷ ઃܭʹؔ৺͕༗Γ·͢
ʮࣄॲཧʯɺʮྫ֎ʯͩΒ͚
w ྺ࢙͋ΔॏཁۀɺΊͬͨʹى͖ͳ͍ʮྫ֎ʯͷੵΈॏͶͰͰ͖͍ͯΔ w ʮྫ֎ʯͷذ͕Ұͭ૿͑ΔͱɺΈ߹Θͤͷύλʔϯഒʹ૿͑Δ w ॾઆ͋Γ·͕͢ʜ w ۀྔͰݟΔͱɺʮ௨ৗʯͷۀׂׂ͕ɺʮྫ֎ʯͷۀׂ w ϧʔϧྔͰݟΔͱɺʮ௨ৗʯͷۀׂɺʮྫ֎ʯͷۀׂ
w ʮྫ֎ʯɺʑ૿͍͑ͯ͘ w ʮ௨ৗʯ͕ɺ͋Δʮྫ֎ʯʹมΘ͍ͬͯ͘͜ͱ͋ΔʢڥͷมԽʣ ۀͱɺϧʔϧͱɺʮྫ֎ʯ
w ۀΛੳ͢Δ্Ͱɺʮ௨ৗʯͱʮྫ֎ʯͷ͚ํ͕ϙΠϯτ w ͚ํɺʮྔʯͱɺʮۀͷӨڹʯͷόϥϯε w ͭ·ΓɺʮϏδωεΠϯύΫτʯ w ྔʜʢવ͚ͩͲʣൃੜ͕֬গͳ͘ɺΊͬͨʹى͖ͳ͍ͳΒʮྫ֎ʯ w ۀͷӨڹʜൃੜͷ͕֬গͳͯ͘ɺۀӨڹ͕େ͖͘ɺܦӦͷ
ؔ৺͕େ͖͚Εʮྫ֎ʯͱݴΘͳ͍ w ݁ہɺྫ֎͔൱͔ͷڥքʮܦӦͷؔ৺ʯͷ߹͍ͱݴ͑Δ ۀͱɺϧʔϧͱɺʮྫ֎ʯ
ͭ·ΓɺʮۀʯΛγεςϜʹམͱ͠ࠐΉ͏͑Ͱɺ ͳʹΛʮྫ֎ʯͱ͢Δ͔ͱͯॏཁ
มΘΓɺʮϏδωεϩδοΫʯʹ͍ͭͯ
ೖྗ ग़ྗ ೖྗ ೖྗ ग़ྗ ܭࢉ ϏδωεϩδοΫͷߏ ϏδωεϩδοΫʜۀͰٻΊΒΕΔʮग़ྗʯΛɺʮೖྗʯͱʮܭࢉʯ͔Β ٻΊΔͨΊͷϓϩάϥϜʢͱɺ͜͜Ͱఆٛ͢Δʣ w
ʮग़ྗʯɺۀͷٻΊΔʮਫ਼ʯΛຬ͍ͨͯ͠Δ͜ͱ͕ٻΊΒΕΔ w ʮग़ྗʯͷʮਫ਼ʯɺʮೖྗʯͱʮܭࢉʯʹΑܾͬͯ·Δ
w Ұൠతʹɺʮྫ֎ʯͷରԠΛ૿ͤɺग़ྗͷʮਫ਼ʯ্͕Δ w ΑΓଟ͘ͷೖྗ߲Λड͚͚Δʜ w ΑΓϨΞͳఆ݅ʗܭࢉ݅ͷରԠʜ ϏδωεϩδοΫͱɺʮྫ֎ʯ
w ʮϏδωεΠϯύΫτʯΛߟ͑Δͱɺʮྫ֎ʯؚΊͯશ෦ͷύλʔϯΛ ཏ͢ΔΑ͏ʹɺશ෦࣮͍ͨ͠ʂ w ͔͠͠ʮ௨ৗʯͷίʔυͱʮྫ֎ʯͷίʔυ͕ີ݁߹ʹͳΕͳΔ΄Ͳɺ ίʔυྔ૿͑ɺෳࡶԽ͠ɺ࣭อূ͘͠ͳΓɺϦϦʔεΕΔ w ۀͷʮਫ਼ʯ্͍͕͛ͨɺ࣌ؒ༗ݶ w Ͳ͏͢Δʁ
ϏδωεϩδοΫͱɺʮྫ֎ʯ
ʮ࣭ͱεϐʔυʢAWS Dev Day 2023 Tokyo ಛผฤɺ࣭ٙԠ༻ࢿྉ͖ʣʯΑΓ
Α͠ʮྫ֎ʯύλʔϯͷ࣮ͳΜͯࢭΊͪΌ͑ʂ
ͰɺͦͷۀΊͬͨʹແ͍ͱݴͬͯ γεςϜ͔Βͬͯɺʮଘࡏʯ͠·͢Α
ઃܭઓུ ʮ௨ৗʯͱʮྫ֎ʯͷؒʹɺ ҰఆͷʮڑʯΛอͭ
ૄ݁߹ʹ͢Δ
ʮྫ֎ʯΛγεςϜͰѻΘͳ͍ ϑϥάɺܯࠂͰཧ͢Δ ͨ͠ઐ༻ςʔϒϧͰཧ͢Δ ͨ͠ઐ༻γεςϜͰཧ͢Δ ʮྫ֎ʯΛʮ௨ৗʯ͔Β͢ΔͨΊͷɺl͍͔ͭ͘zͷํ๏
ʮྫ֎ʯΛγεςϜͰѻΘͳ͍ ӡ༻͢Δਓ͕lؾΛ͚ͭΔz ʮ͋ʂ͜ͷਓɺಛผѻ͍͠ͳ͍ͱʯ ʮྫ֎ॲཧͷॻྨ࡞ͬͯɺ্࢘ʹܾࡋΒͬͯʜʯ ʮ͋ɺͦͷ··௨ͪ͠Όͬͨʂʯ ֎͚ͷʮ&YDFMͰͷཧʯ͕ര͢Δ ࣍ୈʹɺ߹ੑ͕औΕͳ͘ͳΔͳΔʢۀྔɺଐਓੑɺҙྗʜʣ
࡞ۀϛεɹˠɹܦӦϦεΫʂ
ϑϥάɺܯࠂͰཧ͢Δ ʮྫ֎ʹ֘͢Δʯͱ͍͏ࣄ࣮Λཧ͢ΔϑϥάΛ༻ҙ͢Δ ϑϥάཱ͕͍ͬͯΕɺʮܯࠂʯΛग़͢ ٯʹɺʮܯࠂʯΛग़ͨ͠Ҏ߱ɺʮϑϥάͰཧ͢Δʯ༗Δ ͔͠͠ɺۀΛߦ͢ΔͨΊʹඞཁͳใ͕ෆ͢Δ͜ͱ͕ଟ͍ ͬͺΓʮ&YDFMͷཧʯ͕ര
߹ੑͱɺҰ؏ੑ͕՝ ʢϑϥάͷམͱ͠Εͱ͔ɺ&YDFMཧͷߋ৽Εͱ͔ʣ ׂͱΑ͋͘ΔʢϝϞཝʹຊޠͰॻ͍͓ͯ͘ɺΈ͍ͨͳͷؚΉʣ
ͨ͠ઐ༻ςʔϒϧͰཧ͢Δ ʮྫ֎ʹؔ͢ΔهʯΛཧ͢Δઐ༻ͷςʔϒϧΛ༻ҙ͢Δ ߹ΘͤͯϩδοΫ͢Δ ʮ௨ৗʯͷςʔϒϧϩδοΫͱɺҰ؏ੑ߹ੑͷϨϕϧΛམͱ͢ ʢͦ͏͠ͳ͍ͱɺྫ֎͕ૄ݁߹ʹͳΒͳ͍ʣ w ྫ͑ɺࢀরͰ͖Δ͚Ͳɺొɾߋ৽ύονͰ͔͠Βͳ͍ͱ͔ w
ྫ͑ɺʮ௨ৗʯͷςʔϒϧΛߋ৽ͯ͠ɺ࿈ಈߋ৽͠ͳ͍ͱ͔ w ྫ͑ɺʮ௨ৗʯͷςʔϒϧɾϩδοΫ͔ͳΒͣվम͢Δ͚Ͳɺ ʮྫ֎ʯͷվम͠ͳ͍ͱ͔ ͜ΕΑ͋͘ΔʜͰҰ؏ੑͱ߹ੑͷ؍ͰϦεΫΛݟۃΊͯ
ͨ͠ઐ༻γεςϜͰཧ͢Δ ʮྫ֎ʯΛॲཧ͢ΔͨΊͷɺઐ༻γεςϜΛߏங͢Δ ݩͷγεςϜΑΓϥΠτͳߏʹͳΔʢ͕͋Δʣ ͭ·ΓɺʮγεςϜͷߗ͞ʯͷҧ͍͕ग़Δʢग़͞ͳ͍ͱҙຯ͕ͳ͍ʣ ྫ͑ɺՄ༻ੑ͕͍ͱ͔ɺӡ༻͕࣌ؒݶΒΕΔͱ͔ɺӡ༻͢Δ෦ॺ ͕ݶΒΕΔͱ͔ʢຊ͚ࣾͩͱ͔ʣ
ΓɺҰ؏ੑɾ߹ੑ՝ʹͳΔ ʢͰɺ͞Ε͍ͯΔͱɺҙ֎ͱؾΛ͚ͭΔ৺ཧ͕ಇ͘ʜ ʣ
ຊͷ·ͱΊ w ݱ࣮ͷۀɺͨ͘͞Μͷʮྫ֎ʯͷੵΈॏͶͰෳࡶԽ͢Δ w ۀΛཱͤ͞ΔͨΊʹඞཁͳʮਫ਼ʯ͕͋Δ w શ෦࣮͍͕ͨ͠ʮྫ֎ʯ͕ଟ͍ͱࢦؔతʹίʔυ૿͑ɺෳࡶԽ͢Δ w ʮ௨ৗʯͱɺʮྫ֎ʯΛ্खͯ͘͠ɺෳࡶΛݶఆ͍ͯ͜͠͏ w
ͰɺৗʹҰ؏ੑͱ߹ੑͷϦεΫΛΕͣʹ
ઃܭʮҙਤΛࠐΊͯʯʮઓུతʹʯΓ·͠ΐ͏
࣍ճ༧ࠂ ʮϏδωεϩδοΫʹ͓͚ΔҰ؏ੑͱɺ߹ੑʯ ਓͷೝൣғʹݶք͕༗Γ·͢ɺͱ͍͏Ͱ͢
͓ͨͷ͠Έʹʂ
Ճίϯςϯπ ʮؔ৺ͷඇରশੑʯ
ؔ৺ͷඇରশੑ • ʮϏδωεͷؔ৺ʯvsʮۀͷཏੑʯ • ʮࠓՃ͠Α͏ͱ͍ͯ͠Δػೳʯvsʮطଘػೳͱͷ߹ੑʯ • https://blog.magnolia.tech/entry/2023/11/23/164403
None
ͬͱ্ख͘ɺతʹݴޠԽ͞Εͯͨ
2