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
550
大吉祥寺.pm 2025 キーノート
magnolia
1
920
イベント運営から見た登壇者への期待
magnolia
6
1.9k
「吉祥寺.pm」というIT勉強会を 10年間続けてきた話
magnolia
0
1.1k
吉祥寺.pm18オープニングトーク.pdf
magnolia
0
1.9k
設計のための、問題の捉え方〜ドメイン知識の暗黙知を形式知に〜(まとめ版)
magnolia
36
12k
吉祥寺.pmというテックイベントを4年間続けてきた話
magnolia
0
880
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
A Tale of Four Properties
chriscoyier
161
23k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
For a Future-Friendly Web
brad_frost
180
10k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
Making Projects Easy
brettharned
120
6.4k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
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