Share
Embed
5年間のFintech × Rails実践に学ぶ - 基本に忠実な運用で築く高信頼性システム / 5 Years Fintech Rails Retrospective
Kaigi on Rails 2025 "5年間のFintech × Rails実践に学ぶ - 基本に忠実な運用で築く高信頼性システム"
https://kaigionrails.org/2025/talks/ohbarye/#day1
Masato Ohba
September 26, 2025
Transcript
68 slides
-
*OUSPEVDUJPO ࢿۚҠಈۀ ࢿܾۚࡁ๏ʹج͖ͮऔҾใࠂɺ൜ऩ๏९क ࢿۚอଘͷͨΊͷڙୗΛٻΊΔ 1 2 3 ηΩϡϦςΟ ػೳద߹ੑ
༗ޮੑ ༻ੑ ϦεΫճආੑ ຬੑ োରԠϑϩʔඋ 'JOUFDIؔͳ͘׆͔ͤΔϊϋଟ͍ FUD ҟৗݕ ΞϥʔττϦΞʔδ 3VOCPPL όονཧ ϞδϡʔϧԽ FUD ⛓'JOUFDIؔ࿈ͷن੍ 💻ٻΊΒΕΔ࣭ಛੑ ✅͖ͬͯͨ͜ͱ υΩϡϝϯςʔγϣϯ ΞʔΩςΫνϟઃܭ 1$*%44 ΧʔυใηΩϡϦςΟͷࠃࡍ౷Ұج४ ෆਖ਼ରࡦใཧͷཁ݅ͷ९क͕ඞਢ ࠃࡍϒϥϯυ ΧʔυܾࡁωοτϫʔΫͷར༻ʹ͋ͨΓ ֤ΧʔυձࣾΛ৹ࠪɾಜ͢Δ ڍ͛ͨن੍εϚʔτόϯΫͷࣄۀ༰ʹؔ࿈͢ΔͷͷҰ෦ɻ'JOUFDIͱҰޱʹݴͬͯࣄۀ༰ʹΑͬͯେ͖͘ҟͳΔɻ ৴པੑ -
*OUSPEVDUJPO جຊతͳऔΓΈΛ։ൃͱӡ༻ͰੵΈॏͶΔ ✅͖ͬͯͨ͜ͱ ։ൃ ӡ༻ োରԠϑϩʔඋ ҟৗݕ ΞϥʔττϦΞʔδ όονཧ
ϞδϡʔϧԽ υΩϡϝϯςʔγϣϯ ΞʔΩςΫνϟઃܭ 3VOCPPL ۚ༥ࣄނରࡦ Πϕϯτιʔγϯά ςετઓུ ύϑΥʔϚϯε ϞχλϦϯά ܨ͛Δ -
'JOUFDIن੍ʹΑΓٻΊΒΕΔ࣭ಛੑ w ૹۚऔҾσʔλͷਖ਼֬ͳอଘͱཧ w ސ٬ࢿۚͷผཧɺหࡁཧ w ֎෦ࠪରԠͷͨΊͷϩάཧ w औҾཤྺͷ໌֬ͳՄࢹԽ
w ن੍มߋରԠͷॊೈੑ w γεςϜো࣌ͷࢿۚอશ ࢿۚҠಈۀ ࢿۚҠಈۀ ࢿܾۚࡁ๏ʹج͖ͮऔҾใࠂɺ൜ऩ๏९क ࢿۚอଘͷͨΊͷڙୗΛٻΊΔ 1 2 3 ⛓'JOUFDIؔ࿈ͷن੍ 1$*%44 ΧʔυใηΩϡϦςΟͷࠃࡍ౷Ұج४ ෆਖ਼ରࡦใཧͷཁ݅ͷ९क͕ඞਢ ࠃࡍϒϥϯυ ΧʔυܾࡁωοτϫʔΫͷར༻ʹ͋ͨΓ ֤ΧʔυձࣾΛ৹ࠪɾಜ͢Δ ճ෮ੑ ΠϯςάϦςΟ ੑ FUD 1 -
'JOUFDIن੍ʹΑΓٻΊΒΕΔ࣭ಛੑ w ڧݻͳΞΫηε੍ޚ ݖݶɾೝূઃܭ w ΧʔυใɾΞΧϯτσʔλͷ w ੬ऑੑཧ
ύονద༻ɾ੬ऑੑஅ w ػີσʔλͷ҉߸Խͱ伴ཧ w దͳωοτϫʔΫׂ w ࠪՄೳͳτϥϯβΫγϣϯه 1$*%44 ࢿۚҠಈۀ ࢿܾۚࡁ๏ʹج͖ͮऔҾใࠂɺ൜ऩ๏९क ࢿۚอଘͷͨΊͷڙୗΛٻΊΔ 1 2 3 ⛓'JOUFDIؔ࿈ͷن੍ 1$*%44 ΧʔυใηΩϡϦςΟͷࠃࡍ౷Ұج४ ෆਖ਼ରࡦใཧͷཁ݅ͷ९क͕ඞਢ ࠃࡍϒϥϯυ ΧʔυܾࡁωοτϫʔΫͷར༻ʹ͋ͨΓ ֤ΧʔυձࣾΛ৹ࠪɾಜ͢Δ ػີੑ ΠϯςάϦςΟ ੑ FUD 2 -
'JOUFDIن੍ʹΑΓٻΊΒΕΔ࣭ಛੑ w ւ֎ՃໍళɾωοτϫʔΫͱͷඪ४ ΠϯλʔϑΣʔε४ڌ w ܾࡁωοτϫʔΫͷߴՄ༻ੑଓ w ϒϥϯυ༷ͷܧଓతରԠ w
Πϯγσϯτൃੜ࣌ͷଈ࣌ใࠂମ੍ w ෆਖ਼ར༻ࢹɾݕ ࠃࡍϒϥϯυ ࢿۚҠಈۀ ࢿܾۚࡁ๏ʹج͖ͮऔҾใࠂɺ൜ऩ๏९क ࢿۚอଘͷͨΊͷڙୗΛٻΊΔ 1 2 3 ⛓'JOUFDIؔ࿈ͷن੍ 1$*%44 ΧʔυใηΩϡϦςΟͷࠃࡍ౷Ұج४ ෆਖ਼ରࡦใཧͷཁ݅ͷ९क͕ඞਢ ࠃࡍϒϥϯυ ΧʔυܾࡁωοτϫʔΫͷར༻ʹ͋ͨΓ ֤ΧʔυձࣾΛ৹ࠪɾಜ͢Δ 3 ճ෮ੑ ނোੑ Մ༻ੑ ༗ޮੑ ϦεΫճආੑ FUD -
💻ٻΊΒΕΔ࣭ಛੑʢදతͳͷʣ 'JOUFDIن੍ʹΑΓٻΊΒΕΔ࣭ಛੑ ཁ͔݅ΒಛੑΛಋ͖ग़͢ ࢿۚҠಈۀ ࢿܾۚࡁ๏ʹج͖ͮऔҾใࠂɺ൜ऩ๏९क ࢿۚอଘͷͨΊͷڙୗΛٻΊΔ 1 2 3
⛓'JOUFDIؔ࿈ͷن੍ ࠃࡍϒϥϯυ ΧʔυܾࡁωοτϫʔΫͷར༻ʹ͋ͨΓ ֤ΧʔυձࣾΛ৹ࠪɾಜ͢Δ ༻ޠ*40ͷιϑτΤΞ࣭ಛੑʹ४ڌ ͜ΕҎ֎ʹॏཁͳಛੑ͋Δ͕ࠓճͷൃදʹؔ࿈͢ΔͷʹϑΥʔΧε ৴པੑ ճ෮ੑ ো͔Βਝʹճ෮Ͱ͖Δ ނোੑ ো͕ൃੜͯ͠γεςϜ͕ਖ਼ৗʹػೳ͠ଓ͚Δ Մ༻ੑ ඞཁͳͱ͖ʹར༻Մೳ ηΩϡϦςΟ ༗ޮੑ ϦεΫճආੑ ػີੑ ར༻ऀσʔλอޢ ΠϯςάϦςΟ ਖ਼֬ʹอଘ ੑ ୭͕ԿΛߦ͔ͬͨΛτϨʔεͰ͖Δ 1$*%44 ΧʔυใηΩϡϦςΟͷࠃࡍ౷Ұج४ ෆਖ਼ରࡦใཧͷཁ݅ͷ९क͕ඞਢ -
💻ٻΊΒΕΔ࣭ಛੑʢදతͳͷʣ 'JOUFDIن੍ʹΑΓٻΊΒΕΔ࣭ಛੑ ཁ͔݅ΒಛੑΛಋ͖ग़͢ ࢿۚҠಈۀ ࢿܾۚࡁ๏ʹج͖ͮऔҾใࠂɺ൜ऩ๏९क ࢿۚอଘͷͨΊͷڙୗΛٻΊΔ 1 2 3
⛓'JOUFDIؔ࿈ͷن੍ 1$*%44 ΧʔυใηΩϡϦςΟͷࠃࡍ౷Ұج४ ෆਖ਼ରࡦใཧͷཁ݅ͷ९क͕ඞਢ ࠃࡍϒϥϯυ ΧʔυܾࡁωοτϫʔΫͷར༻ʹ͋ͨΓ ֤ΧʔυձࣾΛ৹ࠪɾಜ͢Δ ༻ޠ*40ͷιϑτΤΞ࣭ಛੑʹ४ڌ ͜ΕҎ֎ʹॏཁͳಛੑ͋Δ͕ࠓճͷൃදʹؔ࿈͢ΔͷʹϑΥʔΧε ηΩϡϦςΟ ༗ޮੑ ϦεΫճආੑ ػີੑ ར༻ऀσʔλอޢ ΠϯςάϦςΟ ਖ਼֬ʹอଘ ੑ ୭͕ԿΛߦ͔ͬͨΛτϨʔεͰ͖Δ ৴པੑ ճ෮ੑ ো͔Βਝʹճ෮Ͱ͖Δ ނোੑ ো͕ൃੜͯ͠γεςϜ͕ਖ਼ৗʹػೳ͠ଓ͚Δ Մ༻ੑ ඞཁͳͱ͖ʹར༻Մೳ -
'JOUFDIن੍ʹΑΓٻΊΒΕΔ࣭ಛੑ w ʮ໌ࣔ͞Εͨ࣌ؒଳͰɼ໌ࣔ͞Εͨ݅ԼʹɼγεςϜɼຢ ߏཁૉ͕໌ࣔ͞ΕͨػೳΛ࣮ߦ͢Δ߹͍ʯ *40*&$ w ʮΞΠςϜ͕ɼ༩͑ΒΕͨ݅ͷԼͰɼ༩͑ΒΕͨظؒɼނোͤͣ ʹɼཁٻͲ͓ΓʹߦͰ͖Δೳྗʯ
+*4; w %03"ϞσϧW͔ΒՃΘͬͨ৴པੑɺʮ֤छࢦඪʹؔͯ͠ఆΊͨ ඪΛͲΕ͚ͩୡ͍ͯ͠Δ͔ʯ %03" ͱ͜ΖͰ৴པੑͱ IUUQTLJLBLVSVJDPNY9IUNM IUUQTLJLBLVSVJDPN[;IUNM %"3"$PSFWΑΓ ϏδωεϓϩμΫτͷཁٻʹΑͬͯࢦඪҟͳΔ -
'JOUFDIن੍ʹΑΓٻΊΒΕΔ࣭ಛੑ Ͳ͏͢Ε͜ΕΒΛຬͨͤΔͷ͔ʁ w ͍ͣΕ୯ʹιϑτΣΞΛ։ൃ͢Δ ͚ͩͰຬͨͤͳ͍ w ӡ༻Λ௨࣮ͯ͡ݱ͢Δͷ w ͋Δ͍ӡ༻Λఆͯ͠։ൃ͠ͳ͍
ͱ࣮ݱͰ͖ͳ͍ 💻ٻΊΒΕΔ࣭ಛੑ ৴པੑ ճ෮ੑ ނোੑ Մ༻ੑ ηΩϡϦςΟ ػີੑ ΠϯςάϦςΟ ੑ -
'JOUFDIن੍ʹΑΓٻΊΒΕΔ࣭ಛੑ w ϓϩηεࣗମʹযΛ͋ͯͨن֨ݹ͔͘Β͋Δ w ใγεςϜͷޮՌͷ࠷େԽͷͨΊʹɺใγεςϜͷӡ༻Λ҆ ఆతɾޮతʹ࣮ࢪ͢Δ͜ͱ *1"ใγεςϜϢʔβʔεΩϧ ඪ४ 6*44
w *5αʔϏεͷӡ༻ཧɺαʔϏεఏڙऀ͕ޮతɾޮՌతʹܧ ଓతͳӡ༻Λߦ͏ͨΊͷϓϩηε܈ *40*&$ ͱ͜ΖͰӡ༻ͱ IUUQTXXXJQBHPKQKJO[BJTLJMMTUBOEBSEQMVTJUVJVJTTIUNM IUUQTXXXKJQEFDPSKQBSDIJWFTQVCMJDBUJPOTHTVDO[NBUU+*1*54.4@NJIPOQEG -
ӡ༻Λݟਾ͑ͨ։ൃ্ͷ Ͳ͏͢Ε͜ΕΒΛຬͨͤΔͷ͔ʁ ✅͖ͬͯͨ͜ͱ ։ൃ ӡ༻ ܨ͛Δ 💻ٻΊΒΕΔ࣭ಛੑ ৴པੑ ճ෮ੑ
ނোੑ Մ༻ੑ ηΩϡϦςΟ ػີੑ ΠϯςάϦςΟ ੑ FUD ϞδϡʔϧԽ υΩϡϝϯςʔγϣϯ ΞʔΩςΫνϟઃܭ ۚ༥ࣄނରࡦ Πϕϯτιʔγϯά ςετઓུ -
ӡ༻Λݟਾ͑ͨ։ൃ্ͷ $JUBEFM IUUQTTJHOBMWOPJTFDPNTWOUIFNBKFTUJDNPOPMJUIDBOCFDPNFUIFDJUBEFM IUUQTTQFBLFSEFDLDPNTIPIFJNJUBOJUIFDJUBEFM .POPMJUI $JUBEFM 0VUQPTU 0VUQPTU 0VUQPTU
0VUQPTU $JUBEFM ࠹ 0VUQPTU લḗجӦ 4IPIFJ.JUBOJ -
ӡ༻Λݟਾ͑ͨ։ൃ্ͷ w 3BJMTFOHJOFQBDLXFSLͷ HFN༻͍ͣɺγϯϓϧʹ3VCZ CVJMUJOͷ.PEVMFΛ׆༻ w ػೳ͝ͱʹOBNFTQBDFͱͯ͠ NPEVMFΛ׆༻͢Δ͚ͩͰ 3&45"1*ςʔϒϧͷ໋໊نଇ
ͷ४ڌ͕ଅਐ͞ΕΔ ੵۃతͳϞδϡʔϧԽ module Subscription def self.table_name_prefix 'subscription_' end end module Subscription class Order < ApplicationRecord def charge!; end end end -
ӡ༻Λݟਾ͑ͨ։ൃ্ͷ w $PODFSODPODFSOJOHΛ׆༻ͨ͠Ϟ δϡʔϧԽੵۃతʹߦ͏ w 7BOJMMB3BJMTJTQMFOUZΛࢀߟʹ ίʔυͷ࠶ར༻ΑΓͷཧ ໌֬ԽΛॏࢹ w
ίʔυΦʔφʔγοϓڥք͕Θ͔ Γ͘͢ͳΓޙड़͢Δӡ༻վળʹߩݙ ੵۃతͳϞδϡʔϧԽ IUUQTEFWTJHOBMTDPNWBOJMMBSBJMTJTQMFOUZ module Subscription class Subscription concerning :Cancelable do def cancel! private def cancelable? end end end -
ӡ༻Λݟਾ͑ͨ։ൃ্ͷ w 0QFO"1*ʹΑΔ"1*ఆٛهड़DPNNJUUFFͰඞਢԽ w QVCMJDNFUIPETͷେʹ:"3%ίϝϯτΛهड़ ࡢࠓ3#4*OMJOFͷ w $VSTPS%FWJOͱ͍ͬͨΠϯσοΫεΛ࣋ͭίʔσΟϯάΤʔδΣϯτͰͷҰ࣍ௐࠪɾ։ൃʹ༗ར
w ॏཁͳܾࡁྖҬʹෳΞϓϦέʔγϣϯΛ·͙ͨ &&ςετΛඋ w ςετ࣮ߦ࣌ؒͷࢹͱॖ w .553 ฏۉम෮࣌ؒ ͷॖʹܨ͕Δ ςετઓུ υΩϡϝϯςʔγϣϯ ͜ͷΜ࣭ಛੑͰ͍͏ͱอकੑͷͰ͋Δ͕৴པੑʹߩݙ͢Δ IUUQTGPSUFFKQZBQDGVLVPLBQSPQPTBMGFBEFFFFFD UZPIFJ TUFGBGBGBO -
ӡ༻Λݟਾ͑ͨ։ൃ্ͷ ن੍ରͷʹΑΓཁٻ͞ΕΔ ηΩϡϦςΟਫ४Λຬ Ұ෦γεςϜͷΈݖݶΛߜΓɺ ࠪূ͕ΔΑ͏ʹ ϞδϡʔϧԽ ΞʔΩςΫνϟઃܭ ϞϊϦεΛेਓͰ։ൃ͠ͳ͕Β ք͕Θ͔Γ͘͢ͳΔ
ޙड़͢Δӡ༻ͷͰؒతʹد༩ 💻ٻΊΒΕΔ࣭ಛੑ ৴པੑ ճ෮ੑ ނোੑ Մ༻ੑ ηΩϡϦςΟ ػີੑ ΠϯςάϦςΟ ੑ ۚ༥ࣄނରࡦ Πϕϯτιʔγϯά ςετઓུ υΩϡϝϯςʔγϣϯ తɾؒతʹಛੑΛ࣮ݱ -
ߴ৴པੑΛங͘ӡ༻ ✅͖ͬͯͨ͜ͱ ӡ༻ ύϑΥʔϚϯεϞχλϦϯά োରԠϑϩʔඋ ҟৗݕͷΈ 3VOCPPL ΞϥʔττϦΞʔδ όονཧ
։ൃ ΞʔΩςΫνϟઃܭ ϞδϡʔϧԽ ܨ͛Δ Ͳ͏͢Ε͜ΕΒΛຬͨͤΔͷ͔ʁ 💻ٻΊΒΕΔ࣭ಛੑ ৴པੑ ճ෮ੑ ނোੑ Մ༻ੑ ηΩϡϦςΟ ػີੑ ΠϯςάϦςΟ ੑ ӡ༻໘ͷऔΓΈओʹ৴པੑͷ࣮ݱʹߩݙ -
ߴ৴པੑΛங͘ӡ༻ w ॏཁͳͷʮࢿۚҠಈۀͷదਖ਼͔࣮ͭ֬ ͳߦʯ w ϏδωεΛՄೳʹ͢Δ͜ͱ w ো݅Ͱ͋ΕɺͱݴΘͳ͍ w
ൃੜʹඋ͑ɺ͔ͳݕͱใࠂɺ ͷղܾΛਤΔଶΛཁ͢Δ ٻΊΒΕΔཧମ੍ࢿۚҠಈۀऀ͚ΨΠυϥΠϯ IUUQTXXXGTBHPKQDPNNPOMBXHVJEFLBJTZBQEG -
ߴ৴པੑΛங͘ӡ༻ w γεςϜͱͯ͋ͬͯ͠΄͘͠ͳ͍ ঢ়ଶΛݕ͢Δ w ݕࢉूܭͰσʔλͷ߹ੑΛ֬ೝ ҟৗݕͷΈ IUUQTTQFBLFSEFDLDPNTIPIFJNJUBOJLBJHJPOSBJMT
Ұൠతͳ֎ܗࢹͷࠓճলུ ʮ͠σʔλ͕͜͏ͳͬͨΒϏδωε͕ ᆝଛ͞ΕΔͳʯΛ૾ͯ͠උ͑Δ 4IPIFJ.JUBOJ -
ߴ৴པੑΛங͘ӡ༻ w γεςϜͷมԽΛݟͭΊΔCJXFFLMZύϑΥʔ ϚϯεϛʔςΟϯάΛܧଓ w ظؒલޙͷΠϕϯτϦϦʔεʹ͍ͭͯ ڞ༗ w /FX3FMJD
"1. 4-0 4FOUSZ "84 1FSGPSNBODF*OTJHIUTFUDΛோΊΔ w ՝ਓ͕ଟ͘ͳΓޮతͳӡ༻Λࡧத ύϑΥʔϚϯεϞχλϦϯά ͯͳࣾͷ1FSGPSNBODF8PSLJOH(SPVQͱࣅ͍ͯͦ͏ IUUQTTQFBLFSEFDLDPNEBJLTZEFWPQTEBZTUPLZPLFZOPUF -
ߴ৴པੑΛங͘ӡ༻ w ܾࡁϨεϙϯελΠϜ͕/ඵΛ͑Δͱ औҾࣦഊͱͳΓɺ໌Β͔ʹϏδωεᆝଛ w ؔ࿈͢Δ"1*ϨΠςϯγʔ4-0ΛఆΊɺԼ ճͬͨࡍʹύϑΥʔϚϯεվળͷΞΫ γϣϯΛى͖ͯͨ͜͠ 4-*4-0ͷಋೖ
IUUQTCMPHTNBSUCBOLDPKQFOUSZ IUUQTCMPHTNBSUCBOLDPKQFOUSZJTVDPO@NBLFT@VT@IBQQZ IUUQTCMPHTNBSUCBOLDPKQFOUSZ -
ߴ৴པੑΛங͘ӡ༻ w Ϣʔβʔσʔλྔͷ૿Ճʹ͍࣌ ؒԽ͢Δόον͕૿͖͑ͯͨ w ͯ͢ͷόονʹఆ࠷େॲཧ࣌ؒ 4-0 Λઃఆ͠ɺա࣌ʹΞϥʔτΛ ग़͢Α͏ʹͨ͠
w ࣮ߦ࣌ؒͷ৳ͼ͔Βɺ͋ͱͲΕ͘Β͍ͷ ظؒͰ4-0ա͢Δ͔Λ༧ଌͯ͠ରॲ ௨শ͍Α͍ΑϝτϦΫε όονॲཧ࣌ؒΛ4-0ͱͯ͠ઃఆ DPZPUF KPIJSB NPLVP -
ߴ৴པੑΛங͘ӡ༻ w ରԠ༏ઌͷߴ͍*TTVFͷΈΞϥʔτ͞ΕΔΑ͏ʹ ͢Δ w ΞϥʔτͷτϦΞʔδΨΠυϥΠϯΛఆΊΔ w ΞϥʔτΛඈ݅͢ "MFSU3VMF
Λ࠶ߏங͢Δ w ӡ༻ํʹج͖ͮɺΞϥʔτӡ༻ͷҠߦ࡞ۀΛ࢝ ΊΔ ΞϥʔττϦΞʔδ OBHBTBXB BTIJNPNVSB IUUQTCMPHTNBSUCBOLDPKQFOUSZ 4FOUSZΤϥʔ௨νϟϯωϧ͕ޫͬͨΒ ʮ୭͔ʯ͕ʮࢸٸʯݟͳ͚Εߦ͚ͳ͍ঢ়ଶΛ࡞Δ -
ߴ৴པੑΛங͘ӡ༻ w Φʔφʔγοϓ͕໌֬ͳΒ"MFSU3VMFઃఆ༰қ w $JUBEFMύλʔϯͰͨ͠ಛఆͷPVUQPTUT ಛఆͷνʔϜ w ಛఆͷϞδϡʔϧύεͰൃੜͨ͠Τϥʔಛ ఆͷνʔϜ
͜Ε·Ͱ෦తͳࣗಈτϦΞʔδͰ͖͍ͯͨ ͙Β͍ 0XOFSTIJQ3VMFTIUUQTEPDTTFOUSZJPQSPEVDUJTTVFTPXOFSTIJQSVMFT ࠔͳͷΦʔφʔγοϓ͕ ᐆດͳྖҬ͔ΒඈΜͰ͘ΔṖͷΞϥʔτ ϞδϡʔϧԽ module Atr $JUBEFMΞʔΩςΫνϟ -
ߴ৴པੑΛங͘ӡ༻ IUUQTSFTQPOTFQBHFSEVUZDPN IUUQTVFPLBOEFHJUIVCJPJODJEFOUSFTQPOTFEPDTKB ༗ࢤʹΑΔຊޠ൛ w 4FWFSJUZ ΛϏδω εʹ߹Θͤͯఆٛ
w ࣗͨͪͷϏδωεΛᆝ ଛ͢ΔোͱԿ͔ʁ w োରԠϑϩʔΛඋ 1BHFS%VUZΛࢀߟʹඋ -
ߴ৴པੑΛங͘ӡ༻ w ݸผͷࣄྫӡ༻ʹରॲ͢ΔͨΊͷखॱॻ ௨শ3VOCPPL w खಈΦϖϨʔγϣϯΛܗࣜʹ͢Δ w ཧࣗಈԽ͕ͩɺճॴཁ࣌ؒʹԠͯ͡ίεύɾ༏ઌஅ͕Ͱ͖Δ
w έʔεʹΑͬͯࣗಈԽ͕Ͱ͖ͳ͍ΦϖϨʔγϣϯ͋Δ 📗 -
ߴ৴པੑΛங͘ӡ༻ ✅͖ͬͯͨ͜ͱ ӡ༻ ։ൃ ΞʔΩςΫνϟઃܭ ϞδϡʔϧԽ తɾؒతʹಛੑΛ࣮ݱ 💻ٻΊΒΕΔ࣭ಛੑ ৴པੑ
ճ෮ੑ ނোੑ Մ༻ੑ ηΩϡϦςΟ ػີੑ ΠϯςάϦςΟ ੑ ܨ͛Δ ӡ༻໘ͷऔΓΈओʹ৴པੑͷ࣮ݱʹߩݙ ύϑΥʔϚϯεϞχλϦϯά োରԠϑϩʔඋ ҟৗݕͷΈ 3VOCPPL ΞϥʔττϦΞʔδ όονཧ -
ߴ৴པੑΛங͘ӡ༻ w Ϣʔβʔɾػೳɾ։ൃऀ ؒͣͬͱܧଓతʹ૿Ճ w ো݅ˠʹ͔ ׂ͚ͯҎ্ݮΓݎௐ Ռ ো݅Λͬͯߴ͍৴པੑ͕͋Δͱݴ͍Δͷ͍͕ۙ͠ࣅࢦඪͱͯ͠ϐοΫΞοϓ
εέʔϧʹ͑͏Δߴ৴པੑΛ ։ൃӡ༻Λ௨࣮ͯ͡ݱͭͭ͋͠Δ աڈؒͷ-P$ͱো݅ -
͓ΘΓʹ ࢿۚҠಈۀ ࢿܾۚࡁ๏ʹج͖ͮऔҾใࠂɺ൜ऩ๏९क ࢿۚอଘͷͨΊͷڙୗΛٻΊΔ 1 2 3 ηΩϡϦςΟ ػೳద߹ੑ
༗ޮੑ ༻ੑ ϦεΫճආੑ ຬੑ োରԠϑϩʔඋ FUD ҟৗݕ ΞϥʔττϦΞʔδ 3VOCPPL όονཧ ϞδϡʔϧԽ FUD ⛓'JOUFDIؔ࿈ͷن੍ 💻ٻΊΒΕΔ࣭ಛੑ ✅͖ͬͯͨ͜ͱ υΩϡϝϯςʔγϣϯ ΞʔΩςΫνϟઃܭ 1$*%44 ΧʔυใηΩϡϦςΟͷࠃࡍ౷Ұج४ ෆਖ਼ରࡦใཧͷཁ݅ͷ९क͕ඞਢ ࠃࡍϒϥϯυ ΧʔυܾࡁωοτϫʔΫͷར༻ʹ͋ͨΓ ֤ΧʔυձࣾΛ৹ࠪɾಜ͢Δ ৴པੑ ͜ͷࢥߟϓϩηεҰൠԽͰ͖Δ -
νʔϜͰҙݟަ͢Δͱ໘ന͍ ͓ΘΓʹ ࢿۚҠಈۀ ࢿܾۚࡁ๏ʹج͖ͮऔҾใࠂɺ൜ऩ๏९क ࢿۚอଘͷͨΊͷڙୗΛٻΊΔ 1 2 3 ηΩϡϦςΟ
ػೳద߹ੑ ༗ޮੑ ༻ੑ ϦεΫճආੑ ຬੑ োରԠϑϩʔඋ FUD ҟৗݕ ΞϥʔττϦΞʔδ 3VOCPPL όονཧ ϞδϡʔϧԽ FUD ⛓'JOUFDIؔ࿈ͷن੍ 💻ٻΊΒΕΔ࣭ಛੑ ✅͖ͬͯͨ͜ͱ υΩϡϝϯςʔγϣϯ ΞʔΩςΫνϟઃܭ 1$*%44 ΧʔυใηΩϡϦςΟͷࠃࡍ౷Ұج४ ෆਖ਼ରࡦใཧͷཁ݅ͷ९क͕ඞਢ ࠃࡍϒϥϯυ ΧʔυܾࡁωοτϫʔΫͷར༻ʹ͋ͨΓ ֤ΧʔυձࣾΛ৹ࠪɾಜ͢Δ ৴པੑ ͕ࣗͨͪӡ༻Ͱ Մೳʹ͖͢ ϏδωεͱԿ͔ʁ ࣗͨͪͷ Ϗδωεʹ͓͚Δ ৴པੑͱԿ͔ʁ ߴ͍৴པੑΛ ஙͨ͘Ίʹ Ͱ͖Δ͜ͱʁ -
"QQFOEJY w ࢿۚҠಈۀྩ݄̏̑ࢿܾۚࡁʹؔ͢Δ๏ʢฏ๏ୈ߸ʣ w IUUQTXXXGTBHPKQDPNNPOMBXHVJEFLBJTZBQEG w 1$*%44 w IUUQTXXXQDJTFDVSJUZTUBOEBSETPSH
w %03"$PSFW w IUUQTHJUIVCDPNEPSBUFBNEPSBEFWEJTDVTTJPOT w *40 w IUUQTJTPDPNJOEFYQIQFOJTPTUBOEBSETJTP w ใγεςϜϢʔβʔεΩϧඪ४ʢ6*44ʣ7FS w IUUQTXXXJQBHPKQKJO[BJTLJMMTUBOEBSEQMVTJUVJVJTTIUNM w ӡ༻ཧͷ͓खຊ*40*&$ ~ ࣄྫ͔Βֶ΅͏ ~ w IUUQTXXXKJQEFDPSKQBSDIJWFTQVCMJDBUJPOTHTVDO[NBUU+*1*54.4@NJIPOQEG w %FQMPZT1FS%BZ%FWBOE0QT$PPQFSBUJPOBU'MJDLS w IUUQTXXXZPVUVCFDPNXBUDI W-E0F,IU5 -
"QQFOEJY։ൃ্ͷؔ࿈ w ܾࡁαʔϏεˠ։ൃ࣌ͷΞʔΩςΫνϟʹ͍ͭͯ4UBSUVQʷ'JO5FDI w IUUQTTQFBLFSEFDLDPNZVUBEBZPTUBSUVQY fi OUFDI
w 5IF.BKFTUJD.POPMJUIDBOCFDPNF5IF$JUBEFM w IUUQTTJHOBMWOPJTFDPNTWOUIFNBKFTUJDNPOPMJUIDBOCFDPNFUIFDJUBEFM w 5IF$JUBEFM w IUUQTTQFBLFSEFDLDPNTIPIFJNJUBOJUIFDJUBEFM w 7BOJMMB3BJMTJTQMFOUZ w IUUQTEFWTJHOBMTDPNWBOJMMBSBJMTJTQMFOUZ w 4BGF3FUSZXJUI*EFNQPUFODZ,FZ)FBEFS w IUUQTTQFBLFSEFDLDPNPICBSZFTBGFSFUSZXJUIJEFNQPUFODZLFZIFBEFS w σʔλͷ߹ੑΛอͭඇಉظॲཧΞʔΩςΫνϟύλʔϯ w IUUQTTQFBLFSEFDLDPNNPLVPBTZODBSDIJUFDUVSFQBUUFSOT w େن3BJMTΞϓϦͰҎ্͔͔͍ͬͯͨςετΛʹ͖ͨ͠Ύ͏ͳվળͷશ w IUUQTGPSUFFKQZBQDGVLVPLBQSPQPTBMGFBEFFFFFDɹ -
"QQFOEJYӡ༻ؔ࿈ w ࢹΛ௨ͨ͡αʔϏεͷஞ࣍తਐԽd#ͷܾࡁαʔϏεͰͷऔΓΈd w IUUQTTQFBLFSEFDLDPNTIPIFJNJUBOJLBJHJPOSBJMT w ͯͳͷ։ൃ࢙ͱ%FW0QTͷาΈ
w IUUQTTQFBLFSEFDLDPNEBJLTZEFWPQTEBZTUPLZPLFZOPUF w զʑ͜͏ͯ͠4-*4-0Λઃܭͯ͠ӡ༻Λ࢝Ί·ͨ͜͠Ε͔Β4-*4-0ͷӡ༻Λ࢝ΊΔਓʹ͚ͯ w IUUQTTQFBLFSEFDLDPNNBBBBUPTMPOPZVOZPOHXPTIJNFSVSFOOJYJBOHLFUF w *46$0/͕ۀʹཱͭॠܾؒࡁॲཧ࣌ؒͷѱԽΛղܾ͢Δ·Ͱͷي w IUUQTCMPHTNBSUCBOLDPKQFOUSZJTVDPO@NBLFT@VT@IBQQZ w ΠϯσοΫεͷਖ਼ղΛ୳ͤʂܾࡁϨεϙϯελΠϜΛվળͨ͠ύϑΥʔϚϯενϡʔχϯά w IUUQTCMPHTNBSUCBOLDPKQFOUSZ w 4FOUSZͷ"MFSU#FTU1SBDUJDFTΛࢀߟʹΞϥʔτർΕ͔Β٫͢Δ w IUUQTCMPHTNBSUCBOLDPKQFOUSZ w 4FOUSZ0XOFSTIJQ3VMFT w IUUQTEPDTTFOUSZJPQSPEVDUJTTVFTPXOFSTIJQSVMFT w 1BHFS%VUZ*ODJEFOU3FTQPOTF%PDVNFOUBUJPO w IUUQTSFTQPOTFQBHFSEVUZDPN