Upgrade to Pro — share decks privately, control downloads, hide ads and more …

5年間のFintech × Rails実践に学ぶ - 基本に忠実な運用で築く高信頼性システム ...

Avatar for Masato Ohba Masato Ohba
September 26, 2025

5年間のFintech × Rails実践に学ぶ - 基本に忠実な運用で築く高信頼性システム / 5 Years Fintech Rails Retrospective

Kaigi on Rails 2025 "5年間のFintech × Rails実践に学ぶ - 基本に忠実な運用で築く高信頼性システム"

https://kaigionrails.org/2025/talks/ohbarye/#day1

Avatar for Masato Ohba

Masato Ohba

September 26, 2025
Tweet

More Decks by Masato Ohba

Other Decks in Technology

Transcript

  1. X

  2.  *OUSPEVDUJPO ࢿۚҠಈۀ ࢿܾۚࡁ๏ʹج͖ͮऔҾใࠂɺ൜ऩ๏९क ࢿۚอଘͷͨΊͷڙୗ౳ΛٻΊΔ 1 2 3 ηΩϡϦςΟ ػೳద߹ੑ

    ༗ޮੑ ࢖༻ੑ ϦεΫճආੑ ຬ଍ੑ ো֐ରԠϑϩʔ੔උ 'JOUFDIؔ܎ͳ͘׆͔ͤΔϊ΢ϋ΢΋ଟ͍ FUD ҟৗݕ஌ ΞϥʔττϦΞʔδ 3VOCPPL όον؅ཧ ϞδϡʔϧԽ FUD ⛓'JOUFDIؔ࿈ͷن੍ 💻ٻΊΒΕΔ඼࣭ಛੑ ✅΍͖ͬͯͨ͜ͱ υΩϡϝϯςʔγϣϯ ΞʔΩςΫνϟઃܭ 1$*%44 Χʔυ৘ใηΩϡϦςΟͷࠃࡍ౷Ұج४ ෆਖ਼ରࡦ΍৘ใ؅ཧͷཁ݅ͷ९क͕ඞਢ ࠃࡍϒϥϯυ ΧʔυܾࡁωοτϫʔΫͷར༻ʹ͋ͨΓ ֤ΧʔυձࣾΛ৹ࠪɾ؂ಜ͢Δ ڍ͛ͨن੍͸εϚʔτόϯΫͷࣄۀ಺༰ʹؔ࿈͢Δ΋ͷͷҰ෦ɻ'JOUFDIͱҰޱʹݴͬͯ΋ࣄۀ಺༰ʹΑͬͯେ͖͘ҟͳΔɻ ৴པੑ
  3.  *OUSPEVDUJPO جຊతͳऔΓ૊ΈΛ։ൃͱӡ༻ͰੵΈॏͶΔ ✅΍͖ͬͯͨ͜ͱ ։ൃ ӡ༻ ো֐ରԠϑϩʔ੔උ ҟৗݕ஌ ΞϥʔττϦΞʔδ όον؅ཧ

    ϞδϡʔϧԽ υΩϡϝϯςʔγϣϯ ΞʔΩςΫνϟઃܭ 3VOCPPL ۚ༥ࣄނରࡦ Πϕϯτιʔγϯά ςετઓུ ύϑΥʔϚϯε ϞχλϦϯά ܨ͛Δ
  4.  'JOUFDIن੍ʹΑΓٻΊΒΕΔ඼࣭ಛੑ w ૹۚऔҾσʔλͷਖ਼֬ͳอଘͱ؅ཧ w ސ٬ࢿۚͷ෼ผ؅ཧɺหࡁ؅ཧ w ֎෦؂ࠪରԠͷͨΊͷϩά؅ཧ w औҾཤྺͷ໌֬ͳՄࢹԽ

    w ن੍มߋରԠͷॊೈੑ w γεςϜো֐࣌ͷࢿۚอશ ࢿۚҠಈۀ ࢿۚҠಈۀ ࢿܾۚࡁ๏ʹج͖ͮऔҾใࠂɺ൜ऩ๏९क ࢿۚอଘͷͨΊͷڙୗ౳ΛٻΊΔ 1 2 3 ⛓'JOUFDIؔ࿈ͷن੍ 1$*%44 Χʔυ৘ใηΩϡϦςΟͷࠃࡍ౷Ұج४ ෆਖ਼ରࡦ΍৘ใ؅ཧͷཁ݅ͷ९क͕ඞਢ ࠃࡍϒϥϯυ ΧʔυܾࡁωοτϫʔΫͷར༻ʹ͋ͨΓ ֤ΧʔυձࣾΛ৹ࠪɾ؂ಜ͢Δ ճ෮ੑ ΠϯςάϦςΟ ੹೚௥੻ੑ FUD 1
  5.  'JOUFDIن੍ʹΑΓٻΊΒΕΔ඼࣭ಛੑ w ڧݻͳΞΫηε੍ޚ ݖݶɾೝূઃܭ  w Χʔυ৘ใɾΞΧ΢ϯτσʔλͷ෼཭ w ੬ऑੑ؅ཧ

    ύονద༻ɾ੬ऑੑ਍அ  w ػີσʔλͷ҉߸Խͱ伴؅ཧ w ద੾ͳωοτϫʔΫ෼ׂ w ؂ࠪՄೳͳτϥϯβΫγϣϯه࿥ 1$*%44 ࢿۚҠಈۀ ࢿܾۚࡁ๏ʹج͖ͮऔҾใࠂɺ൜ऩ๏९क ࢿۚอଘͷͨΊͷڙୗ౳ΛٻΊΔ 1 2 3 ⛓'JOUFDIؔ࿈ͷن੍ 1$*%44 Χʔυ৘ใηΩϡϦςΟͷࠃࡍ౷Ұج४ ෆਖ਼ରࡦ΍৘ใ؅ཧͷཁ݅ͷ९क͕ඞਢ ࠃࡍϒϥϯυ ΧʔυܾࡁωοτϫʔΫͷར༻ʹ͋ͨΓ ֤ΧʔυձࣾΛ৹ࠪɾ؂ಜ͢Δ ػີੑ ΠϯςάϦςΟ ੹೚௥੻ੑ FUD 2
  6.  'JOUFDIن੍ʹΑΓٻΊΒΕΔ඼࣭ಛੑ w ւ֎ՃໍళɾωοτϫʔΫͱͷඪ४ ΠϯλʔϑΣʔε४ڌ w ܾࡁωοτϫʔΫ΁ͷߴՄ༻ੑ઀ଓ w ϒϥϯυ࢓༷΁ͷܧଓతରԠ w

    Πϯγσϯτൃੜ࣌ͷଈ࣌ใࠂମ੍ w ෆਖ਼ར༻؂ࢹɾݕ஌ ࠃࡍϒϥϯυ ࢿۚҠಈۀ ࢿܾۚࡁ๏ʹج͖ͮऔҾใࠂɺ൜ऩ๏९क ࢿۚอଘͷͨΊͷڙୗ౳ΛٻΊΔ 1 2 3 ⛓'JOUFDIؔ࿈ͷن੍ 1$*%44 Χʔυ৘ใηΩϡϦςΟͷࠃࡍ౷Ұج४ ෆਖ਼ରࡦ΍৘ใ؅ཧͷཁ݅ͷ९क͕ඞਢ ࠃࡍϒϥϯυ ΧʔυܾࡁωοτϫʔΫͷར༻ʹ͋ͨΓ ֤ΧʔυձࣾΛ৹ࠪɾ؂ಜ͢Δ 3 ճ෮ੑ ଱ނোੑ Մ༻ੑ ༗ޮੑ ϦεΫճආੑ FUD
  7. 💻ٻΊΒΕΔ඼࣭ಛੑʢ୅දతͳ΋ͷʣ  'JOUFDIن੍ʹΑΓٻΊΒΕΔ඼࣭ಛੑ ཁ͔݅ΒಛੑΛಋ͖ग़͢ ࢿۚҠಈۀ ࢿܾۚࡁ๏ʹج͖ͮऔҾใࠂɺ൜ऩ๏९क ࢿۚอଘͷͨΊͷڙୗ౳ΛٻΊΔ 1 2 3

    ⛓'JOUFDIؔ࿈ͷن੍ ࠃࡍϒϥϯυ ΧʔυܾࡁωοτϫʔΫͷར༻ʹ͋ͨΓ ֤ΧʔυձࣾΛ৹ࠪɾ؂ಜ͢Δ ༻ޠ͸*40ͷιϑτ΢ΤΞ඼࣭ಛੑʹ४ڌ ͜ΕҎ֎ʹ΋ॏཁͳಛੑ͸͋Δ͕ࠓճͷൃදʹؔ࿈͢Δ΋ͷʹϑΥʔΧε ৴པੑ ճ෮ੑ ো֐͔Βਝ଎ʹճ෮Ͱ͖Δ ଱ނোੑ ো֐͕ൃੜͯ͠΋γεςϜ͕ਖ਼ৗʹػೳ͠ଓ͚Δ Մ༻ੑ ඞཁͳͱ͖ʹར༻Մೳ ηΩϡϦςΟ ༗ޮੑ ϦεΫճආੑ ػີੑ ར༻ऀσʔλอޢ ΠϯςάϦςΟ ਖ਼֬ʹอଘ ੹೚௥੻ੑ ୭͕ԿΛߦ͔ͬͨΛτϨʔεͰ͖Δ 1$*%44 Χʔυ৘ใηΩϡϦςΟͷࠃࡍ౷Ұج४ ෆਖ਼ରࡦ΍৘ใ؅ཧͷཁ݅ͷ९क͕ඞਢ
  8. 💻ٻΊΒΕΔ඼࣭ಛੑʢ୅දతͳ΋ͷʣ  'JOUFDIن੍ʹΑΓٻΊΒΕΔ඼࣭ಛੑ ཁ͔݅ΒಛੑΛಋ͖ग़͢ ࢿۚҠಈۀ ࢿܾۚࡁ๏ʹج͖ͮऔҾใࠂɺ൜ऩ๏९क ࢿۚอଘͷͨΊͷڙୗ౳ΛٻΊΔ 1 2 3

    ⛓'JOUFDIؔ࿈ͷن੍ 1$*%44 Χʔυ৘ใηΩϡϦςΟͷࠃࡍ౷Ұج४ ෆਖ਼ରࡦ΍৘ใ؅ཧͷཁ݅ͷ९क͕ඞਢ ࠃࡍϒϥϯυ ΧʔυܾࡁωοτϫʔΫͷར༻ʹ͋ͨΓ ֤ΧʔυձࣾΛ৹ࠪɾ؂ಜ͢Δ ༻ޠ͸*40ͷιϑτ΢ΤΞ඼࣭ಛੑʹ४ڌ ͜ΕҎ֎ʹ΋ॏཁͳಛੑ͸͋Δ͕ࠓճͷൃදʹؔ࿈͢Δ΋ͷʹϑΥʔΧε ηΩϡϦςΟ ༗ޮੑ ϦεΫճආੑ ػີੑ ར༻ऀσʔλอޢ ΠϯςάϦςΟ ਖ਼֬ʹอଘ ੹೚௥੻ੑ ୭͕ԿΛߦ͔ͬͨΛτϨʔεͰ͖Δ ৴པੑ ճ෮ੑ ো֐͔Βਝ଎ʹճ෮Ͱ͖Δ ଱ނোੑ ো֐͕ൃੜͯ͠΋γεςϜ͕ਖ਼ৗʹػೳ͠ଓ͚Δ Մ༻ੑ ඞཁͳͱ͖ʹར༻Մೳ
  9.  'JOUFDIن੍ʹΑΓٻΊΒΕΔ඼࣭ಛੑ w ʮ໌ࣔ͞Εͨ࣌ؒଳͰɼ໌ࣔ͞Εͨ৚݅ԼʹɼγεςϜɼ੡඼ຢ͸ ߏ੒ཁૉ͕໌ࣔ͞ΕͨػೳΛ࣮ߦ͢Δ౓߹͍ʯ *40*&$  w ʮΞΠςϜ͕ɼ༩͑ΒΕͨ৚݅ͷԼͰɼ༩͑ΒΕͨظؒɼނোͤͣ ʹɼཁٻͲ͓Γʹ਱ߦͰ͖Δೳྗʯ

    +*4;  w %03"ϞσϧW͔ΒՃΘͬͨ৴པੑ͸ɺʮ֤छࢦඪʹؔͯ͠ఆΊͨ ໨ඪΛͲΕ͚ͩୡ੒͍ͯ͠Δ͔ʯ %03" ͱ͜ΖͰ৴པੑͱ͸ IUUQTLJLBLVSVJDPNY9IUNM IUUQTLJLBLVSVJDPN[;IUNM %"3"$PSFWΑΓ ϏδωεϓϩμΫτͷཁٻʹΑͬͯࢦඪ͸ҟͳΔ
  10.  'JOUFDIن੍ʹΑΓٻΊΒΕΔ඼࣭ಛੑ w ϓϩηεࣗମʹয఺Λ͋ͯͨن֨͸ݹ͔͘Β͋Δ w ৘ใγεςϜͷޮՌͷ࠷େԽͷͨΊʹɺ৘ใγεςϜͷӡ༻Λ҆ ఆతɾޮ཰తʹ࣮ࢪ͢Δ͜ͱ *1"৘ใγεςϜϢʔβʔεΩϧ ඪ४ 6*44

     w *5αʔϏεͷӡ༻؅ཧ͸ɺαʔϏεఏڙऀ͕ޮ཰తɾޮՌతʹܧ ଓతͳӡ༻Λߦ͏ͨΊͷϓϩηε܈ *40*&$ ͱ͜ΖͰӡ༻ͱ͸ IUUQTXXXJQBHPKQKJO[BJTLJMMTUBOEBSEQMVTJUVJVJTTIUNM IUUQTXXXKJQEFDPSKQBSDIJWFTQVCMJDBUJPOTHTVDO[NBUU+*1*54.4@NJIPOQEG
  11.  ӡ༻Λݟਾ͑ͨ։ൃ্ͷ޻෉ Ͳ͏͢Ε͹͜ΕΒΛຬͨͤΔͷ͔ʁ ✅΍͖ͬͯͨ͜ͱ ։ൃ ӡ༻ ܨ͛Δ 💻ٻΊΒΕΔ඼࣭ಛੑ ৴པੑ ճ෮ੑ

    ଱ނোੑ Մ༻ੑ ηΩϡϦςΟ ػີੑ ΠϯςάϦςΟ ੹೚௥੻ੑ FUD ϞδϡʔϧԽ υΩϡϝϯςʔγϣϯ ΞʔΩςΫνϟઃܭ ۚ༥ࣄނରࡦ Πϕϯτιʔγϯά ςετઓུ
  12.  ӡ༻Λݟਾ͑ͨ։ൃ্ͷ޻෉ w 3BJMTFOHJOF΍QBDLXFSL౳ͷ 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
  13.  ӡ༻Λݟਾ͑ͨ։ൃ্ͷ޻෉ w $PODFSODPODFSOJOHΛ׆༻ͨ͠Ϟ δϡʔϧԽ΋ੵۃతʹߦ͏ w 7BOJMMB3BJMTJTQMFOUZΛࢀߟʹ ίʔυͷ࠶ར༻ΑΓ΋੹຿ͷ੔ཧ΍ ໌֬ԽΛॏࢹ w

    ίʔυ΍Φʔφʔγοϓڥք͕Θ͔ Γ΍͘͢ͳΓޙड़͢Δӡ༻վળʹߩݙ ੵۃతͳϞδϡʔϧԽ IUUQTEFWTJHOBMTDPNWBOJMMBSBJMTJTQMFOUZ module Subscription class Subscription concerning :Cancelable do def cancel! private def cancelable? end end end
  14.  ӡ༻Λݟਾ͑ͨ։ൃ্ͷ޻෉ w 0QFO"1*ʹΑΔ"1*ఆٛهड़͸DPNNJUUFFͰඞਢԽ w QVCMJDNFUIPETͷେ൒ʹ:"3%ίϝϯτΛهड़ ࡢࠓ͸3#4*OMJOFͷ೾  w $VSTPS΍%FWJOͱ͍ͬͨΠϯσοΫεΛ࣋ͭίʔσΟϯάΤʔδΣϯτͰͷҰ࣍ௐࠪɾ։ൃʹ༗ར

    w ॏཁͳܾࡁྖҬʹ͸ෳ਺ΞϓϦέʔγϣϯΛ·͙ͨ &&ςετΛ੔උ w ςετ࣮ߦ࣌ؒͷ؂ࢹͱ୹ॖ w .553 ฏۉम෮࣌ؒ ͷ୹ॖʹ΋ܨ͕Δ ςετઓུ υΩϡϝϯςʔγϣϯ ͜ͷ΁Μ͸඼࣭ಛੑͰ͍͏ͱอकੑͷ࿩Ͱ͸͋Δ͕৴པੑʹ΋ߩݙ͢Δ IUUQTGPSUFFKQZBQDGVLVPLBQSPQPTBMGFBEFFFFFD UZPIFJ TUFGBGBGBO
  15.  ӡ༻Λݟਾ͑ͨ։ൃ্ͷ޻෉ ن੍ର৅ͷ෼཭ʹΑΓཁٻ͞ΕΔ ηΩϡϦςΟਫ४Λຬ଍ Ұ෦γεςϜͷΈݖݶΛߜΓɺ ؂ࠪূ੻͕࢒ΔΑ͏ʹ ϞδϡʔϧԽ ΞʔΩςΫνϟઃܭ ϞϊϦεΛ਺ेਓͰ։ൃ͠ͳ͕Β΋ ੹೚෼ք఺͕Θ͔Γ΍͘͢ͳΔ

    ޙड़͢Δӡ༻ͷ޻෉Ͱؒ઀తʹد༩ 💻ٻΊΒΕΔ඼࣭ಛੑ ৴པੑ ճ෮ੑ ଱ނোੑ Մ༻ੑ ηΩϡϦςΟ ػີੑ ΠϯςάϦςΟ ੹೚௥੻ੑ ۚ༥ࣄނରࡦ Πϕϯτιʔγϯά ςετઓུ υΩϡϝϯςʔγϣϯ ௚઀తɾؒ઀తʹಛੑΛ࣮ݱ
  16.  ߴ৴པੑΛங͘ӡ༻ ✅΍͖ͬͯͨ͜ͱ ӡ༻ ύϑΥʔϚϯεϞχλϦϯά ো֐ରԠϑϩʔ੔උ ҟৗݕ஌ͷ࢓૊Έ 3VOCPPL ΞϥʔττϦΞʔδ όον؅ཧ

    ։ൃ ΞʔΩςΫνϟઃܭ ϞδϡʔϧԽ ܨ͛Δ Ͳ͏͢Ε͹͜ΕΒΛຬͨͤΔͷ͔ʁ 💻ٻΊΒΕΔ඼࣭ಛੑ ৴པੑ ճ෮ੑ ଱ނোੑ Մ༻ੑ ηΩϡϦςΟ ػີੑ ΠϯςάϦςΟ ੹೚௥੻ੑ ӡ༻໘ͷऔΓ૊Έ͸ओʹ৴པੑͷ࣮ݱʹߩݙ
  17.  ߴ৴པੑΛங͘ӡ༻ w ॏཁͳͷ͸ʮࢿۚҠಈۀͷదਖ਼͔࣮ͭ֬ ͳ਱ߦʯ w ϏδωεΛՄೳʹ͢Δ͜ͱ w ো֐݅Ͱ͋Εɺͱ͸ݴΘͳ͍ w

    ൃੜʹඋ͑ɺ଎΍͔ͳݕ஌ͱใࠂɺ໰୊ ͷղܾΛਤΔଶ੎Λཁ͢Δ ٻΊΒΕΔ؅ཧମ੍ࢿۚҠಈۀऀ޲͚ΨΠυϥΠϯ IUUQTXXXGTBHPKQDPNNPOMBXHVJEFLBJTZBQEG
  18.  ߴ৴པੑΛங͘ӡ༻ w γεςϜͷมԽΛݟͭΊΔCJXFFLMZύϑΥʔ ϚϯεϛʔςΟϯάΛܧଓ w ظؒલޙͷΠϕϯτ΍ϦϦʔε౳ʹ͍ͭͯ ڞ༗ w /FX3FMJD

    "1. 4-0 4FOUSZ "84 1FSGPSNBODF*OTJHIUTFUDΛோΊΔ w ՝୊ਓ਺͕ଟ͘ͳΓޮ཰తͳӡ༻Λ໛ࡧத ύϑΥʔϚϯεϞχλϦϯά  ͸ͯͳࣾͷ1FSGPSNBODF8PSLJOH(SPVQͱࣅ͍ͯͦ͏ IUUQTTQFBLFSEFDLDPNEBJLTZEFWPQTEBZTUPLZPLFZOPUF
  19.  ߴ৴པੑΛங͘ӡ༻ w ܾࡁ͸ϨεϙϯελΠϜ͕/ඵΛ௒͑Δͱ औҾࣦഊͱͳΓɺ໌Β͔ʹϏδωεᆝଛ w ؔ࿈͢Δ"1*ϨΠςϯγʔ4-0ΛఆΊɺԼ ճͬͨࡍʹ͸ύϑΥʔϚϯεվળͷΞΫ γϣϯΛى͖ͯͨ͜͠ 4-*4-0ͷಋೖ

     IUUQTCMPHTNBSUCBOLDPKQFOUSZ IUUQTCMPHTNBSUCBOLDPKQFOUSZJTVDPO@NBLFT@VT@IBQQZ IUUQTCMPHTNBSUCBOLDPKQFOUSZ
  20.  ߴ৴པੑΛங͘ӡ༻ w Ϣʔβʔ਺΍σʔλྔͷ૿Ճʹ൐͍௕࣌ ؒԽ͢Δόον͕૿͖͑ͯͨ w ͢΂ͯͷόονʹ૝ఆ࠷େॲཧ࣌ؒ 4-0 Λઃఆ͠ɺ௒ա࣌ʹΞϥʔτΛ ग़͢Α͏ʹͨ͠

    w ࣮ߦ࣌ؒͷ৳ͼ͔Βɺ͋ͱͲΕ͘Β͍ͷ ظؒͰ4-0௒ա͢Δ͔Λ༧ଌͯ͠ରॲ  ௨শ΍͹͍Α΍͹͍ΑϝτϦΫε όονॲཧ࣌ؒΛ4-0ͱͯ͠ઃఆ  DPZPUF KPIJSB NPLVP
  21.  ߴ৴པੑΛங͘ӡ༻ w ରԠ༏ઌ౓ͷߴ͍*TTVFͷΈΞϥʔτ͞ΕΔΑ͏ʹ ͢Δ w ΞϥʔτͷτϦΞʔδΨΠυϥΠϯΛఆΊΔ w ΞϥʔτΛඈ͹͢৚݅ "MFSU3VMF

    Λ࠶ߏங͢Δ w ӡ༻ํ਑ʹج͖ͮɺΞϥʔτӡ༻ͷҠߦ࡞ۀΛ࢝ ΊΔ ΞϥʔττϦΞʔδ  OBHBTBXB BTIJNPNVSB IUUQTCMPHTNBSUCBOLDPKQFOUSZ 4FOUSZΤϥʔ௨஌νϟϯωϧ͕ޫͬͨΒ ʮ୭͔ʯ͕ʮࢸٸʯݟͳ͚Ε͹ߦ͚ͳ͍ঢ়ଶΛ࡞Δ
  22.  ߴ৴པੑΛங͘ӡ༻ w Φʔφʔγοϓ͕໌֬ͳΒ"MFSU3VMFઃఆ͸༰қ w $JUBEFMύλʔϯͰ෼཭ͨ͠ಛఆͷPVUQPTUT͸ ಛఆͷνʔϜ΁ w ಛఆͷϞδϡʔϧ΍ύεͰൃੜͨ͠Τϥʔ͸ಛ ఆͷνʔϜ΁

    ͜Ε·Ͱ΋෦෼తͳࣗಈτϦΞʔδ͸Ͱ͖͍ͯͨ ͙Β͍ 0XOFSTIJQ3VMFTIUUQTEPDTTFOUSZJPQSPEVDUJTTVFTPXOFSTIJQSVMFT ࠔ೉ͳͷ͸Φʔφʔγοϓ͕ ᐆດͳྖҬ͔ΒඈΜͰ͘ΔṖͷΞϥʔτ ϞδϡʔϧԽ module Atr $JUBEFMΞʔΩςΫνϟ
  23.  ߴ৴པੑΛங͘ӡ༻ ✅΍͖ͬͯͨ͜ͱ ӡ༻ ։ൃ ΞʔΩςΫνϟઃܭ ϞδϡʔϧԽ ௚઀తɾؒ઀తʹಛੑΛ࣮ݱ 💻ٻΊΒΕΔ඼࣭ಛੑ ৴པੑ

    ճ෮ੑ ଱ނোੑ Մ༻ੑ ηΩϡϦςΟ ػີੑ ΠϯςάϦςΟ ੹೚௥੻ੑ ܨ͛Δ ӡ༻໘ͷऔΓ૊Έ͸ओʹ৴པੑͷ࣮ݱʹߩݙ ύϑΥʔϚϯεϞχλϦϯά ো֐ରԠϑϩʔ੔උ ҟৗݕ஌ͷ࢓૊Έ 3VOCPPL ΞϥʔττϦΞʔδ όον؅ཧ
  24.  ͓ΘΓʹ ࢿۚҠಈۀ ࢿܾۚࡁ๏ʹج͖ͮऔҾใࠂɺ൜ऩ๏९क ࢿۚอଘͷͨΊͷڙୗ౳ΛٻΊΔ 1 2 3 ηΩϡϦςΟ ػೳద߹ੑ

    ༗ޮੑ ࢖༻ੑ ϦεΫճආੑ ຬ଍ੑ ো֐ରԠϑϩʔ੔උ FUD ҟৗݕ஌ ΞϥʔττϦΞʔδ 3VOCPPL όον؅ཧ ϞδϡʔϧԽ FUD ⛓'JOUFDIؔ࿈ͷن੍ 💻ٻΊΒΕΔ඼࣭ಛੑ ✅΍͖ͬͯͨ͜ͱ υΩϡϝϯςʔγϣϯ ΞʔΩςΫνϟઃܭ 1$*%44 Χʔυ৘ใηΩϡϦςΟͷࠃࡍ౷Ұج४ ෆਖ਼ରࡦ΍৘ใ؅ཧͷཁ݅ͷ९क͕ඞਢ ࠃࡍϒϥϯυ ΧʔυܾࡁωοτϫʔΫͷར༻ʹ͋ͨΓ ֤ΧʔυձࣾΛ৹ࠪɾ؂ಜ͢Δ ৴པੑ ͜ͷࢥߟϓϩηε͸ҰൠԽͰ͖Δ
  25. νʔϜͰҙݟަ׵͢Δͱ໘ന͍  ͓ΘΓʹ ࢿۚҠಈۀ ࢿܾۚࡁ๏ʹج͖ͮऔҾใࠂɺ൜ऩ๏९क ࢿۚอଘͷͨΊͷڙୗ౳ΛٻΊΔ 1 2 3 ηΩϡϦςΟ

    ػೳద߹ੑ ༗ޮੑ ࢖༻ੑ ϦεΫճආੑ ຬ଍ੑ ো֐ରԠϑϩʔ੔උ FUD ҟৗݕ஌ ΞϥʔττϦΞʔδ 3VOCPPL όον؅ཧ ϞδϡʔϧԽ FUD ⛓'JOUFDIؔ࿈ͷن੍ 💻ٻΊΒΕΔ඼࣭ಛੑ ✅΍͖ͬͯͨ͜ͱ υΩϡϝϯςʔγϣϯ ΞʔΩςΫνϟઃܭ 1$*%44 Χʔυ৘ใηΩϡϦςΟͷࠃࡍ౷Ұج४ ෆਖ਼ରࡦ΍৘ใ؅ཧͷཁ݅ͷ९क͕ඞਢ ࠃࡍϒϥϯυ ΧʔυܾࡁωοτϫʔΫͷར༻ʹ͋ͨΓ ֤ΧʔυձࣾΛ৹ࠪɾ؂ಜ͢Δ ৴པੑ ࣗ෼͕ͨͪӡ༻Ͱ Մೳʹ͢΂͖ Ϗδωεͱ͸Կ͔ʁ ࣗ෼ͨͪͷ Ϗδωεʹ͓͚Δ ৴པੑͱ͸Կ͔ʁ ߴ͍৴པੑΛ ஙͨ͘Ίʹ Ͱ͖Δ͜ͱ͸ʁ
  26.  "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
  27.  "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ɹ
  28.  "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