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

Data Migration on Rails

Masato Ohba
October 26, 2024

Data Migration on Rails

Kaigi on Rails 2024 "Data Migration on Rails"

https://kaigionrails.org/2024/talks/ohbarye/

Railsアプリケーションの長期運用において不可避であるdata migration (データの変更) について、2024年時点での主要なアプローチを整理した発表です。

Masato Ohba

October 26, 2024
Tweet

More Decks by Masato Ohba

Other Decks in Technology

Transcript

  1. *OUSPEVDUJPO⚠͓͜ͱΘΓ EBUBNJHSBUJPO ޿ٛ EBUBNJHSBUJPO ڱٛ σʔλͦͷ΋ͷͷҠߦɾมߋʹয఺Λ౰ͯΔ ಛఆͷσʔλͷҠಈ΍ܗࣜม׵ ୯Ұͷ%#.4Ͱߦ͏σʔλमਖ਼ ૠೖɾߋ৽ɾ࡟আ

    ҰൠతʹEBUBCBTFNJHSBUJPOͷ͜ͱΛEBUBNJHSBUJPOͱݺͿࣄྫ͕ଟ͍͕ɺ͜͜Ͱ͸޿ٛͷ΄͏ʹ֘౰͢Δ ޙड़͢Δ͕ɺ3BJMTίϛϡχςΟʹ͓͍ͯ͸ڱٛͷҙຯͰEBUBNJHSBUJPOͱ͍͏༻ޠ͕༻͍ΒΕΔ͜ͱ͕ଟ͍ ࠓճ͸ͪ͜Β👉 ͪ͜Βͷ࿩͸🈚 0ME /FX σʔλϕʔεγεςϜશମͷҠߦ΍ มߋʹয఺Λ౰ͯΔ 0SBDMF͔Β1PTUHSF42-΁ͳͲ EBUBCBTFNJHSBUJPO
  2. 4PMJE5SJGFDUB *OUSPEVDUJPO ཧ૝௥ٻͷͨΊੜΈग़͞Εଓ͚Δػೳ΍πʔϧ܈ 4PMJE2VFVF όοΫάϥ΢ϯυδϣϒΩϡʔγεςϜ 4PMJE$BDIF Ωϟογϡ؅ཧγεςϜ 4PMJE$BCMF 8FCTPDLFUϦΞϧλΠϜ௨৴

    "DUJPO5FYU ϦονςΩετΤσΟλ "DUJPO.BJMCPY ड৴ϝʔϧॲཧػೳ )PUXJSF 5VSCP Ϟμϯ8FCϑϩϯτΤϯυ ,BNBM ίϯςφϕʔεͷσϓϩΠπʔϧ 5ISVTUFS )551ରԠϓϩΩγ ͍·ͩʹ࢒Δ NJTTJOHQJFDFTͷͭ EBUBNJHSBUJPO
  3. EBUBNJHSBUJPOͷجຊͱॏཁੑ EBUBNJHSBUJPO ޿ٛ EBUBNJHSBUJPO ڱٛ σʔλͦͷ΋ͷͷҠߦɾมߋʹয఺Λ౰ͯΔ ಛఆͷσʔλͷҠಈ΍ܗࣜม׵ ୯Ұͷ%#.4Ͱߦ͏σʔλमਖ਼ ૠೖɾߋ৽ɾ࡟আ

    ࠓճ͸ͪ͜Β👉 ͪ͜Βͷ࿩͸🈚 0ME /FX σʔλϕʔεγεςϜશମͷҠߦ΍ มߋʹয఺Λ౰ͯΔ 0SBDMF͔Β1PTUHSF42-΁ͳͲ EBUBCBTFNJHSBUJPO
  4. EBUBNJHSBUJPOͷجຊͱॏཁੑ w εΩʔϚมߋʹ൐͍σʔλΛຒΊΔ w طଘͷςʔϒϧʹ৽ΧϥϜGPPΛ௥Ճ͢Δ TDIFNBNJHSBUJPO w GPPʹ஋ΛຒΊΔ

    EBUBNJHSBUJPO w ಛఆͷ؀ڥʹ͓͍ͯੜͨ͡๬·͘͠ͳ͍σʔλͷղফ w όά΍Φϖϛε౳ʹΑͬͯൃੜͨ͠໰୊ͷϦΧόϦ EBUBNJHSBUJPO͕ඞཁͳγʔϯ %#.4Λ൐͏γεςϜӡ༻ͰෆՄආ 💥 🔧
  5. EBUBNJHSBUJPOͷجຊͱॏཁੑ w ख࡞ۀʹΑΔΦϖϨʔγϣϯϛεɺೋ࣍ඃ֐ͷσʔλෆ੔߹ w ʮσʔλमਖ਼ͷ΍Γํ͕ؒҧ͍ͬͯͨʯ w ʮTUBUVTΛGBJMFEʹߋ৽͢ΔͳΒಉ࣌ʹGBJMFE@BU΋ߋ৽͠ͳ͍ͱʯ w ௕࣌ؒͷEBUBNJHSBUJPOʹΑΔো֐ɺϢʔβʔӨڹ

    w ʮ਺ઍສʙԯ୯Ґͷσʔλमਖ਼εΫϦϓτ͕ऴΘΒͳ͍ʯ w ϓϩδΣΫτ͝ͱʹํ๏͕ҟͳΔ͜ͱʹΑΔֶशίετɺଐਓԽ w ʮ΢νͰ͸͜͏΍͍ͬͯΔʯʮ💭3BJMT8BZ͕ͳ͍ ʯ EBUBNJHSBUJPOͰى͖͕ͪͳ՝୊
  6. ୅දతͳΞϓϩʔν ୅දతͳΞϓϩʔν 1 2 3 4 42-ʹΑΔ௚઀σʔλૢ࡞ SBJMTDPOTPMF SBJMTSVOOFS

    ECNJHSBUFͱಉ࣌ʹ࣮ߦ SBLFUBTL SVCZTDSJQUΛ࣮ߦ ઐ༻HFNͷ׆༻ 5
  7. ୅දతͳΞϓϩʔν w ݖݶ؅ཧͷ໰୊ w σʔλΞΫηε੍ޚ΍ϚεΩϯά w ΦϖϨʔγϣϯϛεΛ๷͙ͨΊͷػߏʢϨ ϏϡʔɺςετFUDʣ w

    #ZUFCBTFͳͲͷ4BB4 w ઐ༻ϢʔβʔͰͷΈΞΫηεՄೳ w ϨϏϡʔ΍࣮ߦͷཤྺΛ࢒ͤΔ w ηϧϑϗετબ୒Մ 42-ʹΑΔ௚઀σʔλૢ࡞ 4BB4 ઐ༻πʔϧ IUUQTXXXCZUFCBTFDPN IUUQTUFDIMBZFSYDPKQFOUSZ 1
  8. ୅දతͳΞϓϩʔν w "DUJWF3FDPSE#BTFΛܧঝͨ͠Ϋ ϥεΛհͯ͠%#.4ʹରͯ͠%.- Λ࣮ߦ͢Δ w 3BJMTͷઃఆ UJNF[POFFUD ͕ద

    ༻͞ΕͨΓWBMJEBUJPOT DBMMCBDLT ͕࣮ߦ͞ΕΔ w σʔλΛோΊͨΓର࿩తʹૢ࡞Մೳ SBJMTDPOTPMF SBJMTSVOOFS POFMJOFS 2
  9. ୅දతͳΞϓϩʔν w SBJMTDPOTPMF͸΄΅ԿͰ΋Ͱ͖ͯ͠·͏ w εΫϦϓτΛίϐϖͰషΔͷ͕ා͍ w UZQP΍ίϐϖ΍վߦҐஔͭͷϛεͰ ೋ࣍ඃ֐ʹܨ͕Δ w

    3&1-Ͱσόά༻HFNT͕ಈ͔͘ෆ҆ w QSZ΍EFCVH౳͕ຊ൪؀ڥͰSFRVJSF͞ ΕΔ͜ͱɾ࣮ߦ͞ΕΔ͜ͱΛ૝ఆͯ͠ ͳ͍ͱɺࢥΘ͵όάΛ౿Ή͔΋ SBJMTDPOTPMF SBJMTSVOOFS POFMJOFS 2
  10. ୅දతͳΞϓϩʔν SBJMTDPOTPMF SBJMTSVOOFS POFMJOFS ✅࠷΋ίετ͕௿͍ํ๏ͷҰͭ ✅ۓٸ࣌ʹ࠷଎Ͱ࣮ߦͰ͖ΔՄೳੑ͋Γ ✅3BJMTܦ༝Ͱ࣮ߦ͢Δ͜ͱͰΞϓϦέʔγϣϯͷڍ ಈΛ࠶ݱ͠΍͍͢ ࠶ར༻΋͠΍͍͢

    ௕೥΍͖ͬͯͨ3BJMT࢖͍͸Ұ౓͸ܦݧ͍ͯͦ͠͏ Ώ͑ʹ՝୊͸Α͘ཧղ͞Ε͍ͯΔ ❌࣮ߦ͢Δݖݶͷ؅ཧɺΦϖϛεͷϦεΫ͋Γ ❌࣮ߦϩά͕࢒Βͳ͍ͱ؂ࠪϩάͷ໰୊͋Γ ❌ςετ͕͠ʹ͍͘ 2
  11. ୅දతͳΞϓϩʔν w "3.JHSBUJPOTͷػߏͰEBUBNJHSBUJPOΛߦ͏ w TDIFNBNJHSBUJPOͱEBUBNJHSBUJPOΛಉ࣌ʹ ߦ͍͍ͨͱ͖ʹศར w FH৽ΧϥϜΛ௥ՃˠσʔλΛຒΊΔ w

    طଘͷσϓϩΠ΍TDIFNBNJHSBUJPOϑϩʔʹ ৐͔ͬΓ΍͘͢ɺӡ༻੔උίετ͕௿͍ w ༨ܭͳݖݶΛ༩͑ͳͯ͘ྑ͍ w όʔδϣϯ؅ཧ΋͞Εɺ࣮ߦϩά΋͍͍ͨͯ ࢒Δ͸ͣ ECNJHSBUF TDIFNBNJHSBUJPO ͱಉ࣌ʹ࣮ߦ 3
  12. ୅දతͳΞϓϩʔν w ޙੈʹ࢒ΔTDIFNBNJHSBUJPOɺҰ࣌తͳૢ࡞Ͱ͋ΔEBUBNJHSBUJPOͷϥΠϑαΠΫ ϧϛεϚον w ͋ͱ͔ΒϓϩδΣΫτʹࢀՃͨ͠ਓ͕ECNJHSBUF͢Δͱ͖ʹࣦഊ w Ϟσϧఆٛมߋ΍Ϟσϧ࡟আʹΑ࣮ͬͯߦͰ͖ͳ͍ͳͲ w

    TDIFNBNJHSBUJPO͸શ؀ڥͰ࣮ߦ͕ඞཁɺEBUBNJHSBUJPO͸ಛఆͷ؀ڥҎ֎Ͱ͸࣮ ߦ͢Δඞཁ͕ͳ͍͜ͱ͕͋Δ w EBUBNJHSBUJPO͸ϩʔϧόοΫͰ͖ͳ͍͜ͱ͕΄ͱΜͲ w ςʔϒϧఆ͕ٛมΘΔͱաڈͷϚΠάϨʔγϣϯ͕ࣦഊ͢Δ w NJHSBUJPOTTDSJQUTؒͰಉ͡ϞσϧΛ৮Δͱࣦഊ͢Δྫ👉 w ASBLFECTDIFNBMPBEA΍ASBLFECSFTFUAͨ͠ͱ͖ʹ͸࣮ߦ͞Εͳ͍ͷͰ$*ͳͲΛ ؚΊͨσʔλ࠶ݱੑΛظ଴͢ΔͱϛεΔ ECNJHSBUF TDIFNBNJHSBUJPO ͱಉ࣌ʹ࣮ߦ IUUQTUIPVHIUCPUDPNCMPHEBUBNJHSBUJPOTJOSBJMT IUUQTCMPHPOLOJOKBVTF@SFTFU@DPMVNO@JOGPSNBUJPO 3
  13. ୅දతͳΞϓϩʔν w ೚ҙͷSBLFUBTL΍SVCZTDSJQUΛهड़࣮ͯ͠ߦ ͢Δ w ςετهड़͸ൺֱత༰қ w "3NJHSBUJPOTͱҟͳΓ࣮ߦ؅ཧ͸։ൃऀͷ੹ ೚

    w ͍ͭԿΛͲͷ؀ڥͰ࣮ߦ͔ͨ͠௥͍ʹ͍͘ w ࣮ߦॱংΛڧ੍Ͱ͖ͳ͍ w ίϚϯυΛ࣮ߦͰ͖Δਓͷݖݶ؅ཧͷ໰୊͋Γ SBLFUBTL SVCZTDSJQU 4
  14. ୅දతͳΞϓϩʔν w ܧଓతͰ׆ൃͳϝϯςφϯε w ҰఆͷಓΛఏڙͯ͘͠ΕΔ w 3BJMTͷJOUFSOBM"1*΁ͷґଘʹ஫ҙ w QBUDIWFSTJPOVQEBUFͰ༧ظ͠ͳ͍

    ڍಈ͕ى͖ͨࣄྫˠ w Ξϓϩʔν͕΍΍IBDLZ͔΋ ڧ͍ͯબͿͳΒEBUBNJHSBUF IUUQTHJUIVCDPNJMZBLBU[EBUBNJHSBUF IUUQTYDPNRTPOBTUBUVT 5
  15. ୅දతͳΞϓϩʔν ઐ༻HFNͷ׆༻ HFN࣍ୈ͕ͩҰൠʹ ✅TDIFNBNJHSBUJPOͱ෼཭ͭͭ͠؅ཧ͠΍͍͢ ✅SBLFUBTL SVCZTDSJQUΑΓ͸ಓΛ࡞ΕΔ HFN࣍ୈ͕ͩҰൠʹ

    ❌಺෦ͷڍಈΛख़஌͓͔ͯ͠ͳ͍ͱϋϚΔ͜ͱ΋ ❌ۓٸ࣌ʹ͙͢ʹ࣮ߦͰ͖ͳ͍ ❌ະ஌ͷ৔߹ɺֶशίετ͋Γ 0NBLBTFͰ͖ͳ͍ͱ͜ΖΛຒΊΑ͏ͱؤு͍ͬͯΔ͕ EFQFOEFODZ௥Ճͱֶशίετʹݟ߹͏͔͸νʔϜ࣍ୈ 5
  16. ୅දతͳΞϓϩʔν w HFOFSBUPS͕ੜ੒ͨ͠ςϯϓϨʔτʹॲཧΛ࣮૷͢Δ w ςετ΋ಉ࣌ʹੜ੒͞ΕΔ w 3BJMTFOHJOFͰఏڙ͞ΕΔμογϡϘʔυ w ݖݶ؅ཧ͕༰қ

    w ؅ཧػೳͷҰ෦ͱͯ͠૊ΈࠐΜͰ΋Α͍ w "DUJWF+PCܦ༝Ͱඇಉظ࣮ߦɺཤྺࣗಈه࿥ w +PCҰ࣌ఀࢭɾ࠶։͕Մೳ w ࣮ߦ࣌ͷύϥϝʔλ͸ը໘ͷϑΟʔϧυ΍$47ϑΝ Πϧ WJB"DUJWF4UPSBHF Ͱ౉ͤΔ ಛผ࿮ NBJOUFOBODF@UBTLT IUUQTHJUIVCDPN4IPQJGZNBJOUFOBODF@UBTLT %BZͷ!IZQFSNLU͞ΜͷτʔΫ಺༰͸શ͘ผͷ࢓૊ΈͰ࣮ݱ͍ͯ͠ΔIUUQTHJUIVCDPN4IPQJGZKPCJUFSBUJPO 5
  17. ୅දతͳΞϓϩʔν w ຬ଍౓⭐⭐⭐⭐⭐ ."9 w ຊ൪ӡ༻தͷΞϓϦέʔγϣϯʹಋೖࡁΈ w ݩʑSBLFUBTL౳Ͱͷӡ༻͕ϝΠϯ

    w ݟ͚ͭͯࢥཱ͍ͬͯ࣌ؒ΄ͲͰಋೖ w ৽نϓϩδΣΫτͰ΋্ཱͪ͛౰ॳ͔Βར ༻͢Δ͜ͱΛܾఆ NBJOUFOBODF@UBTLTར༻ऀͷ੠ NJNVSB͞ΜɺΠϯλϏϡʔʹ͝ڠྗ͍͖ͨͩ͋Γ͕ͱ͏͍͟͝·͢ɻ্ه͸ճ౴ͷ͘͝Ұ෦ͷൈਮͰ͋Γɺ ಺༰ʹޡΓ͕͋Δ৔߹͸શͯ!PICBSZFͷ੹೚Ͱ͢ɻ !U@NJNVSB !UNJNVSB w ݖݶ؅ཧɾଐਓԽͷ໰୊͕๷͛ͨ w ࣾ಺޲͚؅ཧػೳʹ؆୯ʹ૊ΈࠐΊͨ w (6*Ͱ࣮ߦର৅ίʔυ͕ݟ͑ͯΦϖϛε͠ʹ͍͘ w εΫϦϓτΛςετ͠΍͍͢ w ϝϯςφϯε͞Ε͍ͯͯ҆৺ w "DUJWF+PCܦ༝ͰҰ཯ඇಉظ w ύϥϝʔλࢦఆ΋ศར w ࠓͷར༻ස౓ɾ༻్Ͱ͸ࢥ͍͔ͭͣɻSBLFUBTLΑ Γ࢓૊Έ͕΍΍େڼʹݟ͑Δ͜ͱ͙Β͍ (PPE👍 .PSF🤨 5
  18. ୅දతͳΞϓϩʔν 3BJMTຊମͷߟ͑͸ʁ IUUQTEJTDVTTSVCZPOSBJMTPSHUJTUIFSFBOZP ff i DJBMXBZUPPSHBOJ[FPOFP ff TDSJQUT IUUQTHJUIVCDPNSBJMTSBJMTQVMM

    w %))ᐌ͘#BTFDBNQͰ͸SVCZTDSJQU Λ࣮ߦ͍ͯ͠Δ w DPO fi HFOWJSPONFOUΛಡΉ͜ͱ ͰɺSBJMTSͰͷ࣮ߦͱಉ౳ʹͳΔ w TDSJQUCFODINBSL౳΋͋Δ w 3BJMTͰ͸SBJMTHTDSJQUίϚϯυ͕ ೖΔ w ࣮ߦ͢ΔͱTDSJQUʹSCϑΝΠϧ ͕࡞ΒΕΔ
  19. ୅දతͳΞϓϩʔν 3BJMTຊମͷߟ͑3BJMT(VJEFҎ߱ͷهड़͸બఆ؍఺ͱͯ͠͸ॏཁ d ઌͷ%))ͷճ౴΋߹ΘͤΔͱɺ ໨త͕ҟͳΔNJHSBUJPOTΛ෼཭ ͢Δͷ͕3BJMTͷࢥ૝ʹۙͦ͏ w ؔ৺ͷ෼཭TDIFNBNJHSBUJPOͱEBUBNJHSBUJPO͸ɺϥΠ ϑαΠΫϧͱ໨త͕ҟͳΔ

    w TDIFNBNJHSBUJPO͸σʔλϕʔεͷߏ଄Λมߋ͠ɺ EBUBNJHSBUJPO͸಺༰Λมߋ͢Δ w ϩʔϧόοΫͷෳࡶ͞EBUBNJHSBUJPOΛ҆શ͔ͭ༧ଌՄ ೳͳํ๏ͰϩʔϧόοΫ͢Δ͜ͱ͸ࠔ೉ w ύϑΥʔϚϯεEBUBNJHSBUJPOͷ࣮ߦʹ͸௕͍͕͔࣌ؒ ͔Δ΋ͷ͕͋Δ w ςʔϒϧ͕ϩοΫ͞ΕͯΞϓϦέʔγϣϯͷύϑΥʔϚ ϯεͱՄ༻ੑʹӨڹ͢ΔՄೳੑ͕͋Δ গͳ͘ͱ΋೥݄࣌఺Ͱ͸ɻ໌֬ͳ3BJMTXBZͱ·Ͱ͸ݴ͑ͣɺڧ͍ͯݴ͑͹TJHOBMTXBZ
  20. ΞϓϩʔνબఆͷϙΠϯτ ֤छΞϓϩʔνΛൺֱ͢ΔࡍͷධՁ߲໨ Ұ෦ ӡ༻੔උίετ ۓٸରԠͷ͠΍͢͞ ΦϖϛεϦεΫͷ௿͞ ෆ੔߹σʔλൃੜ͠ʹ͘͞ ݖݶ؅ཧͷ໰୊ͷগͳ͞ ࣮ߦ؅ཧͷ͠΍͢͞

    ςελϏϦςΟ ͦͷΞϓϩʔνͷӡ༻Λ ։࢝͢Δͷʹίετ͸͔͔Δ͔ʁ ٻΊΒΕΔଈԠੑΛ ຬͨͤΔΞϓϩʔν͔ʁ ޓ͍ʹਖ਼ͷӨڹ΍ ෛͷ૬ؔ τϨʔυΦϑ ͕͋Δ EBUBNJHSBUJPOͷ࣮ߦཤྺ΍ ূ੻Λ࢒ͤΔ͔ʁ EBUBNJHSBUJPOΛ࣮ߦ͢Δࡍʹ Φϖϛε͕ى͖ʹ͍͘࢓૊Έ͔ʁ EBUBNJHSBUJPOΛ࣮ߦ͢΂͖ਓʹͷΈ ݖݶΛ༩͑Δػߏ͕͋Δ͔ʁ ૝ఆ͠ͳ͍݁ՌΛট͖ ೋ࣍ඃ֐͕ൃੜ͢ΔϦεΫ͸௿͍͔ʁ ࣮ߦ͢ΔEBUBNJHSBUJPOͷ ςετ༰қੑ͸ߴ͍͔ʁ
  21. ΞϓϩʔνબఆͷϙΠϯτ ؍఺ͷؔ܎ੑ ΦϖϛεϦεΫͷ௿͞ ෆ੔߹σʔλൃੜ͠ʹ͘͞ ݖݶ؅ཧͷ໰୊ͷগͳ͞ ࣮ߦ؅ཧͷ͠΍͢͞ ςελϏϦςΟ ӡ༻੔උίετ ۓٸରԠͷ͠΍͢͞

    ӈΛ࣮ݱ͢ΔͨΊʹ͸ ίετ͕͔͔Δ ӈΛ࣮ݱ͢Δͱ ଈԠੑ͸ݮΔ ݖݶ؅ཧ͕൫ੴͳΒ ޡͬͨૢ࡞Λ͠ʹ͍͘Ͱ͖ͳ͍ Φϖϛε͕ى͖ͳ͚Ε͹ෆ੔߹΍ ೋ࣍ඃ֐͸ى͖ʹ͍͘ ςετͰ͖Ε͹ ҆શੑ͕૿͢ ࣮ߦ؅ཧ͕൫ੴͳΒ ଟॏ࣮ߦͳͲͷΦϖϛε͕ݮΔ ҆શੑ ίετ ଈԠੑ %03"νʔϜͷ'PVS,FZTΛϕʔεʹɺଈԠੑΛʮαʔϏε෮ݩ࣌ؒʯɺ ҆શੑΛʮมߋো֐཰ʯʹϚοϐϯά͢ΔͱԿ͔໘ന͍ٞ࿦͕Ͱ͖Δ͔΋͠Εͳ͍
  22. ΞϓϩʔνબఆͷϙΠϯτ w EFQMPZTDIFNBNJHSBUJPOEBUBNJHSBUJPOͷґଘؔ܎ΛͲ͏੔ཧ͍͔ͨ͠ w EFQMPZ͠ͳ͍ͱEBUBNJHSBUJPOͰ͖ͳ͍ͷ͸ڐ༰Ͱ͖Δ͔ʁ w EFQMPZͱಉ࣌ʹEBUBNJHSBUJPO͍͔ͨ͠ʁ w TDIFNBNJHSBUJPO΍EBUBNJHSBUJPO͸ผϥΠϑαΠΫϧͱଊ͑ͯ෼཭͍͔ͨ͠ʁ

    w "3.JHSBUJPOTͰͳ͘એݴతεΩʔϚ؅ཧΛ࠾༻͍ͯ͠Δ͔ w SJEHFQPMF΍TRMEFG౳Λར༻͍ͯ͠Δ৔߹͸"3.JHSBUJPOTػߏʹ͸৐Εͳ͍ w νʔϜͷ࿅౓஌ࣝ w ଞݴޠɺଞϑϨʔϜϫʔΫͷόοΫάϥ΢ϯυΛ࣋ͭϝϯόʔͷೃછΈ΍͢͞ νʔϜ΍ϓϩδΣΫτݻ༗ͷม਺
  23. ΞϓϩʔνબఆͷϙΠϯτ w TFFEεΫϦϓτ͸ॳظσʔλͷ౤ ೖϩʔΧϧ؀ڥ։ൃ༻ͷΈ͔ʁ w ߃ٱతʹ͋Δ΂͖σʔλ͕ఆٛ͞ Εͨɺႈ౳ͳεΫϦϓτʹ͓ͯ͠ ͘ͱ্ཱͪ͛Ͱ΋ӡ༻Ͱ΋ศར w

    ѻ͏σʔλ΍ૢ࡞ͷϥΠϑαΠΫ ϧ͝ͱʹɺӈͷΑ͏ʹ੹຿Λ෼͚ ΔΞϓϩʔν΋͋Γ EBUBNJHSBUJPOͷ੹຿ʹTFFE΋ؚΉ͔🌱 TFFETDSJQU શ؀ڥͰඞཁͳσʔλʢϚε λσʔλʣΛ౤ೖ͢Δ ߃ٱతʹҡ࣋͢Δ EBUBNJHSBUJPOTDSJQU ಛఆͷ؀ڥͰඞཁͳσʔλͷ ௥Ճɾมߋɾ࡟আΛߦ͏ ࣮ߦͨ͠ΒෆཁʹͳΔ ӈ্͸IUUQTHVJEFTSVCZPOSBJMTPSHBDUJWF@SFDPSE@NJHSBUJPOTIUNMNJHSBUJPOTBOETFFEEBUBΑΓ
  24. ΞϓϩʔνબఆͷϙΠϯτ w ϦτϥΠͱႈ౳ੑΛҙ࣮ࣝͨ͠૷ w EBUBNJHSBUJPOͰ༻͍Δίʔυ͸ႈ౳Ͱ͋Δ΂͖ w NBJOUFOBODF@UBTLT͸"DUJWF+PCΛڧ੍͢Δ͜ͱͰႈ౳ੑΛڧ͍Δ w ϩʔϧόοΫͷߟྀ

    w EBUBNJHSBUJPOʹޡΓ͕͋ͬͨͱ͖ɺ໭ͤΕ͹͍͍͕ݱ࣮తͰͳ͍͜ͱ΋ ଟ͍ w ৽ͨͳEBUBNJHSBUJPOΛ͞Βʹ༻ҙ࣮ͯ͠ߦ͢Δ͔͠ͳ͍ʁ Ξϓϩʔνબఆͱ͸ҟͳΔ؍఺͕ͩॏཁͳ͜ͱ
  25. ΞϓϩʔνબఆͷϙΠϯτ w %3:36/Ϟʔυͷ༻ҙ w ࣄલ৚݅ͷνΣοΫ͚ͩߦ͍ɺ࣮ࡍͷσʔλߋ৽͸ߦΘͳ͍Ϟʔυ w ෳࡶͳߋ৽ϩδοΫ͕͋ͬͨΓɺຊ൪؀ڥҎ֎Ͱςετ͕Ͱ͖ͳ͍ͱ͖ʹಛʹ༗༻ w EBUBNJHSBUJPOίʔυͷ࣮ߦ؀ڥͷಠཱੑ

    w SBJMTTFSWFSΛ࣮ߦ͍ͯ͠Δαʔόʔͱڞ༻ w SBJMTTFSWFSΛ࣮ߦ͍ͯ͠ΔαʔόʔͰ͸ͳ͍͕ڞ༻ʢ+FOLJOTͳͲʣ w ಠཱͨ͠؀ڥʢ&$4UBTLɺ,VCFSOFUFT+PCϦιʔεʣ Ξϓϩʔνબఆͱ͸ҟͳΔ؍఺͕ͩॏཁͳ͜ͱ
  26. ΞϓϩʔνબఆͷϙΠϯτ w νʔϜͰաڈͷܦݧΛΞϯ έʔτ͢Δ΋Α͠ w ൺֱදɾ੕औදΛ࡞Δ΋Α͠ w ࠷ޙ͸νʔϜͰӡ༻͢ΔͷͰ ΦʔφʔγοϓΛҡ࣋Ͱ͖Δ

    Α͏߹ҙܗ੒͢Δ ͜ͷൺֱද͸࣮ࡍͷҙࢥܾఆͰ࢖༻ͨ͠΋ͷͰ͸ͳ͘Πϝʔδ ͋͘·ͰҰྫͳͷͰνʔϜ΍ϓϩδΣΫτ͝ͱͷ؍఺Ͱൺֱ͢Δ͜ͱ νʔϜͰٞ࿦ܾͯ͠ΊΔ
  27. ߨԋऀͷબ୒ͱ࣮ફ w σʔλෆ੔߹Λੜ·ͳ͍ɺΦϖϛεΛ ආ͚Δ͜ͱΛ༏ઌ w SBLFUBTLΛॻ͍ͯϨϏϡʔΛඞਢͱ͢ Δํ਑ w TFFEεΫϦϓτͱ࢖͍෼͚

    w Ұ࣌తͳEBUBNJHSBUJPO͸SBLFUBTL w શ؀ڥʹ͋Δ΂͖σʔλͷ४උɺ߃ ٱతʹϝϯςφϯε͢Δσʔλ͸ TFFEεΫϦϓτ ߨԋऀͷબ୒೥ͷҙࢥܾఆϩά "%3෩ຯ
  28. ߨԋऀͷબ୒ͱ࣮ફ w ࠓճͷ࿩͸3BJMTΞϓ Ϧέʔγϣϯͷ࿩ w (P੡ΞϓϦέʔγϣ ϯͷํ͸1$*%44ͱ ͍͏Χʔυۀքϧʔϧ ४ڌ͕ඞཁͰɺ͞Βʹ

    ߟྀࣄ߲͕૿͑Δ 4NBSU#BOLͷΤϯδχΞ৬ʹڵຯ͕͋Δํ΁IUUQTTNBSUCBOLDPKQSFDSVJUFOHJOFFSTVNNBSZ
  29. ߨԋऀͷબ୒ͱ࣮ફ w "JS fl PXͷӡ༻੔උίετΛॳظʹ෷ͬͯΑ͔ͬͨ w ೥Ҏ্ɺ֓Ͷ҆શʹӡ༻Ͱ͖͍ͯΔͱ͍͑Δ w ෳࡶͳσʔλૢ࡞Ͱ͸ςετΛॻ͍ͨΓɺຊ൪૬౰ͷ%#ΛϦετΞͯ͠ςετ

    w SBLFUBTLΛॻ͘ϋʔυϧ΍ֶशίετ͸௿͘ɺଞͷ3BJMTϓϩδΣΫτ΍ଞݴޠ ͔ΒདྷͨΤϯδχΞͰ΋༰қʹशಘͰ͖Δ w TFFEεΫϦϓτͱEBUBNJHSBUJPOεΫϦϓτΛ੾Γ෼͚ͯӡ༻͍ͯ͠Δ͜ͱͰ σʔλͷ؀ڥࠩҟʹΑΔ໰୊͕΄΅ͳ͍ ৼΓฦͬͯΈͯྑ͔ͬͨ͜ͱ👍
  30. ߨԋऀͷબ୒ͱ࣮ફ ݸਓతʹ NBJOUFOBODF@UBTLTΛݕ౼த w "DUJWF+PC 424ͰδϣϒΩϡʔӡ༻͓ͯ͠ΓɺWJTJCJMJUZUJNFPVUͷ੍໿͕͋ΔͷͰ௕ ࣌ؒͷδϣϒΛ࣮ߦͰ͖ͳ͍ w UJNFPVUΛ৳͹͢ʁࠓޙͲΕ͚ͩ௕࣌ؒͷδϣϒ͕࣮ߦ͞ΕΔ͔͸༧ଌͰ͖ͳ͍

    w NBJOUFOBODF@UBTLTͷδϣϒͷΈผͷΩϡʔΠϯάόοΫΤϯυΛ࢖͏ճආࡦ͸͋Δ w "1*ϞʔυͰ3BJMTΛӡ༻͓ͯ͠Γɺ(6*͕࢖͑ͳ͍ w DPO fi HBQJ@POMZGBMTFɺSBDLNJEEMFXBSF௥Ճͱ͍ͬͨରԠ͕ඞཁ w (6*ͳ͠Ͱ΋NBJOUFOBODF@UBTLT͸ར༻Ͱ͖Δ͕ϝϦοτ͕ݮΔ
  31. ·ͱΊ IUUQTSVCZPOSBJMTPSH *10 💥 🔧 💥 🔧

    💥 EBUBNJHSBUJPO΋·ͨ)&--0803-%ͱ*10ͷؒɺͦͯ͠Ӭԕʹ͋Δ
  32. ·ͱΊ ؍఺ͷؔ܎ੑ ΦϖϛεϦεΫͷ௿͞ ෆ੔߹σʔλൃੜ͠ʹ͘͞ ݖݶ؅ཧͷ໰୊ͷগͳ͞ ࣮ߦ؅ཧͷ͠΍͢͞ ςελϏϦςΟ ӡ༻੔උίετ ۓٸରԠͷ͠΍͢͞

    ӈΛ࣮ݱ͢ΔͨΊʹ͸ ίετ͕͔͔Δ ӈΛ࣮ݱ͢Δͱ ଈԠੑ͸ݮΔ ݖݶ؅ཧ͕൫ੴͳΒ ޡͬͨૢ࡞Λ͠ʹ͍͘Ͱ͖ͳ͍ Φϖϛε͕ى͖ͳ͚Ε͹ෆ੔߹΍ ೋ࣍ඃ֐͸ى͖ʹ͍͘ ςετͰ͖Ε͹ ҆શੑ͕૿͢ ࣮ߦ؅ཧ͕൫ੴͳΒ ଟॏ࣮ߦͳͲͷΦϖϛε͕ݮΔ ҆શੑ ίετ ଈԠੑ બͿͨΊͷ؍఺΍૬ޓͷؔ܎΋ݟ͖͑ͯͨ
  33. 3FGFSFODFTEBUBNJHSBUJPOख๏ w PICBSZFݸਓௐࠪϝϞ w IUUQTTDSBQCPYJPPICBSZF%[email protected]@PO@3BJMT w 3BJMTEJTDVTTJPOT*TUIFSFBOZlP ff i

    DJBMzXBZUPPSHBOJ[FPOFP ff TDSJQUT w IUUQTEJTDVTTSVCZPOSBJMTPSHUJTUIFSFBOZP ff i DJBMXBZUPPSHBOJ[FPOFP ff TDSJQUT w 3BJMTEJTDVTTJPOT"QQSPBDIFTUPEBUBNJHSBUJPOPO3BJMTBQQMJDBUJPOT w IUUQTEJTDVTTSVCZPOSBJMTPSHUBQQSPBDIFTUPEBUBNJHSBUJPOPOSBJMTBQQMJDBUJPOT w 3BJMTEJTDVTTJPOT1BUUFSOTGPSlEBUBPOMZz3BJMTNJHSBUJPOT w IUUQTEJTDVTTSVCZPOSBJMTPSHUQBUUFSOTGPSEBUBPOMZSBJMTNJHSBUJPOT w SBJMTSBJMT"EETDSJQUGPMEFSBOEHFOFSBUPS w IUUQTHJUIVCDPNSBJMTSBJMTQVMM w SBJMTSBJMT<3'%0$4>"DUJWF3FDPSE.JHSBUJPO%PDVNFOUBUJPO w IUUQTHJUIVCDPNSBJMTSBJMTQVMM
  34. 3FGFSFODFTEBUBNJHSBUJPOख๏ w NJHSBUJPOͷதͰNPEFMΛ৮ͬͨΒඞͣSFTFU@DPMVNO@JOGPSNBUJPO͢Δ w IUUQTCMPHPOLOJOKBVTF@SFTFU@DPMVNO@JOGPSNBUJPO w 3BJMTͰ৴པੑͷߴ͍.JHSBUJPOΛॻ͘ʹ͸

    w IUUQTRJJUBDPNTIVIFJJUFNTDBDFDEFE ff w (JU-BCͰ͸"3.JHSBUJPOTͰEBUBNJHSBUJPO͍ͯ͠Δࣄྫ w IUUQTHJUMBCDPNHJUMBCPSHHJUMBCCMPCWFFECQPTU@NJHSBUF @TXBQ@UPEPT@OPUF@JE@UP@CJHJOU@GPS@TFMG@NBOBHFESC SFG@UZQFUBHT w EBUBNJHSBUF͕JOUFSOBM"1*Λར༻͍ͯͨͨ͠ΊCSFBLJOHDIBOHFͱͳͬͨࣄྫ w IUUQTYDPNRTPOBTUBUVT w IUUQTHJUIVCDPNJMZBLBU[EBUBNJHSBUFQVMM w ։ൃऀ͕҆৺࣮ͯ͠ߦՄೳͳ42-࣮ߦج൫ͷಋೖͱӡ༻ w IUUQTUFDIMBZFSYDPKQFOUSZ w #ZUFCBTF w IUUQTXXXCZUFCBTFDPN
  35. 3FGFSFODFTEBUBNJHSBUJPOख๏ w %BUB.JHSBUJPOTJO3BJMT w IUUQTUIPVHIUCPUDPNCMPHEBUBNJHSBUJPOTJOSBJMT w 5ISFF6TFGVM%BUB.JHSBUJPO1BUUFSOTGPS3BJMT

    w IUUQTXXXPNCVMBCTDPNCMPHSBJMTEBUBNJHSBUJPOTUISFFVTFGVMEBUBNJHSBUJPOTQBUUFSOTJOSBJMTIUNM w %BUBNJHSBUJPOTXJUI3BJMT w IUUQTKFUUIPVHIUTDPNCMPHEBUBNJHSBUJPOTXJUISBJMTSVCZ w $IBOHFEBUBJONJHSBUJPOTMJLFBCPTT w IUUQTCMPHXJEF fi YDPNDIBOHFEBUBJONJHSBUJPOTMJLFBCPTT w %BUBCBTFNJHSBUJPOCFTUQSBDUJDFTGPS3BJMT w IUUQTHJTUHJUIVCDPN)FMJP$BNQPTCFEBEFFGCCFEDD w NJHSBUJPO࣌ʹσʔλΛૢ࡞͢Δͷ͸ѱख͔ w IUUQTRJJUBDPNTOBLBJUFNTDEEEBEDBCE w 3BJMTͰ%#ͷσʔλมߋ͸Ͳ͜ʹ͔͘ʁʙਅ૬ฤʙ w IUUQTEPDTLPNBHBUBPSH w 3BJMTEBUBNJHSBUJPOT w IUUQTXXXTMJEFTIBSFOFUTMJEFTIPXSBJMTEBUBNJHSBUJPOT
  36. 3FGFSFODFTPUIFST w 3BJMT(VJEF w IUUQTHVJEFTSVCZPOSBJMTPSHWBDUJWF@SFDPSE@NJHSBUJPOTIUNMNJHSBUJPOTBOETFFEEBUB w IUUQTHVJEFTSVCZPOSBJMTPSHWBDUJWF@SFDPSE@NJHSBUJPOTIUNMEBUBNJHSBUJPOT w 5IF0OF1FSTPO'SBNFXPSL

    w IUUQTXPSMEIFZDPNEIIUIFPOFQFSTPOGSBNFXPSLF w 3PBENBQTI'VMM4UBDL%FWFMPQFS w IUUQTSPBENBQTIGVMMTUBDL w $PODFQUVBMDPNQSFTTJPONFBOTCFHJOOFSTEPO`UOFFEUPLOPX42-ŠIBMMFMVKBI w IUUQTTJHOBMWOPJTFDPNTWODPODFQUVBMDPNQSFTTJPONFBOTCFHJOOFSTEPOUOFFEUP LOPXTRMIBMMFMVKBI w $PODFQUVBMDPNQSFTTJPOJTMPTTZ BOEMPTTIVSUT w IUUQTXPSMEIFZDPNEIIDPODFQUVBMDPNQSFTTJPOJTMPTTZBOEMPTTIVSUTDEB