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
2.9k
「ビジネスロジック」と「例外」
「秋の旬なアーキテクチャLT会」での発表資料です
「ビジネスロジック」と「例外」、というテーマでまとめてみました
Magnolia.K
October 26, 2024
Tweet
Share
More Decks by Magnolia.K
See All by Magnolia.K
「吉祥寺.pm」というIT勉強会を 10年間続けてきた話
magnolia
0
960
吉祥寺.pm18オープニングトーク.pdf
magnolia
0
1.8k
設計のための、問題の捉え方〜ドメイン知識の暗黙知を形式知に〜(まとめ版)
magnolia
36
12k
吉祥寺.pmというテックイベントを4年間続けてきた話
magnolia
0
800
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
41
7.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
Practical Orchestrator
shlominoach
186
10k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
4 Signs Your Business is Dying
shpigford
182
21k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
1
110
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
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