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
9
4.7k
「ビジネスロジック」と「例外」
「秋の旬なアーキテクチャLT会」での発表資料です
「ビジネスロジック」と「例外」、というテーマでまとめてみました
Magnolia.K
October 26, 2024
Tweet
Share
More Decks by Magnolia.K
See All by Magnolia.K
これからの吉祥寺.pmについて
magnolia
0
520
大吉祥寺.pm 2025 キーノート
magnolia
1
890
イベント運営から見た登壇者への期待
magnolia
6
1.9k
「吉祥寺.pm」というIT勉強会を 10年間続けてきた話
magnolia
0
1.1k
吉祥寺.pm18オープニングトーク.pdf
magnolia
0
1.9k
設計のための、問題の捉え方〜ドメイン知識の暗黙知を形式知に〜(まとめ版)
magnolia
36
12k
吉祥寺.pmというテックイベントを4年間続けてきた話
magnolia
0
870
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
185
22k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
54
3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Agile that works and the tools we love
rasmusluckow
331
21k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
2.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
237
140k
Designing Experiences People Love
moore
142
24k
Into the Great Unknown - MozCon
thekraken
40
2.1k
Speed Design
sergeychernyshev
32
1.1k
Designing for humans not robots
tammielis
254
25k
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