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

管理機能アーキテクチャパターンの考察と実践 / Learn Architecture thro...

管理機能アーキテクチャパターンの考察と実践 / Learn Architecture through Admin

Kaigi on Rails 2023 "管理機能アーキテクチャパターンの考察と実践"

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

管理機能という身近な題材で
アーキテクチャについて考えてみよう、というテーマの資料です。B/43というプロダクトで実際に行った選択と運用の工夫も含みます。

Masato Ohba

October 28, 2023
Tweet

More Decks by Masato Ohba

Other Decks in Technology

Transcript

  1.  ؅ཧػೳͱ͸Կ͔ ؅ཧػೳ؅ཧը໘ ͱݺ͹ΕΔઐ༻ͷΠϯλʔ ϑΣʔε΍πʔϧΛ࢖༻ ͳͥ Ͳ͏΍ͬͯ ԿΛ ֤Ґͷ໨తୡ੒ γεςϜͷద੾ͳӡ༻ɺޮ཰త

    ͳ؅ཧɺτϥϒϧͷૣظൃݟɾ ରԠɺ69ͷ޲্ ۀ຿ Ϣʔβʔ؅ཧɺγεςϜઃఆɺ τϥϒϧγϡʔςΟϯά ɺϨ ϙʔτɺຊਓ֬ೝɺΧʔυൃߦ ୭͕ ओʹࣾ಺ͷεςʔΫϗϧμʔ γεςϜ؅ཧऀɺ $4ɺӦۀɺۀ຿ҕୗઌɺܦ ཧɺΞφϦετFUD ඞͣ͠΋ը໘ 6* Λ࣋ͭΘ͚Ͱ͸ͳ͍ 
 CBDLP ff i DFTZTUFN BENJOQBOFM౳ͷݺশ΋͋Δ
  2.  ؅ཧػೳͱ͸Կ͔ w ࣄۀ΍ϓϩμΫτʹΑͬͯ؅ཧػೳ ͸ଟछଟ༷ w ڞ௨఺͸αʔϏεΛޮ཰తʹӡ༻͢ ΔͨΊͷॏཁͳπʔϧͱ͍͏͜ͱ w ΋͠؅ཧػೳ͕ͳ͔ͬͨΒˠ

    w γεςϜͷσʔλࢀর΍ߋ৽ͷ౓ʹ ຖճΤϯδχΞ͕Քಇ͢Δ w ͔ܽͤͳ͍ۀ຿Λ୲͏৔߹ɺΤϯυ ϢʔβʔʹՁ஋ఏڙͰ͖ͳ͍͜ͱ΋ ؅ཧػೳ͕ͳͯ͘٧ΜͰ͍ΔਓͷਤΛ%"--&ʹͯੜ੒
  3.  ؅ཧػೳͱ͸ w ৽نࣄۀʹ͓͍ͯ͸Ձ஋΍Ծઆͷݕূ͕࠷༏ઌ w ૉૣ͘ϢʔβʔʹՁ஋Λఏڙ͠ɺࣄۀͷ੒ཱ ΛΊ͟͢ w ॳظϑΣʔζͰ͸؅ཧػೳʹ૬౰͢Δۀ຿͸ӡ ༻ͰΧόʔ͕ͪ͠

    w ސ٬ґཔͷσʔλநग़͸42-ͰରԠ w Ϣʔβʔ͔Βͷ໰͍߹Θͤ͸ϩά͔Βௐࠪ IUUQTXXXSFEEJUDPNS1SPHSBNNFS)VNPSDPNNFOUTXSORXIFO@ZPV@ fi Y@B@CVH@JO@QSPEVDUJPO SEU ରԠ͖͠Εͳ͘ͳΓޮ཰ԽɾࣗಈԽʹऔΓ૊Έ؅ཧػೳ͕Ͱ͖ΔΑ͋͘ΔετʔϦʔ ؅ཧػೳɺޙ௥͍Ͱ࡞ΒΕ͕ͪ
  4.  ؅ཧػೳͱ͸ w ৽نࣄۀʹ͓͍ͯ͸Ձ஋΍Ծઆͷݕূ͕࠷༏ઌ w ૉૣ͘ϢʔβʔʹՁ஋Λఏڙ͠ɺࣄۀͷ੒ཱ ΛΊ͟͢ w ॳظϑΣʔζͰ͸؅ཧػೳʹ૬౰͢Δۀ຿͸ӡ ༻ͰΧόʔ͕ͪ͠

    w ސ٬ґཔͷσʔλநग़͸42-ͰରԠ w Ϣʔβʔ͔Βͷ໰͍߹Θͤ͸ϩά͔Βௐࠪ IUUQTXXXSFEEJUDPNS1SPHSBNNFS)VNPSDPNNFOUTXSORXIFO@ZPV@ fi Y@B@CVH@JO@QSPEVDUJPO SEU ରԠ͖͠Εͳ͘ͳΓޮ཰ԽɾࣗಈԽʹऔΓ૊Έ؅ཧػೳ͕Ͱ͖ΔΑ͋͘ΔετʔϦʔ ؅ཧػೳɺޙ௥͍Ͱ࡞ΒΕ͕ͪ
  5.  ΞʔΩςΫνϟύλʔϯߟ࡯ ຊൃදʹ͓͚ΔΞʔΩςΫνϟ w ʰιϑτ΢ΣΞΞʔΩςΫνϟͷجૅʱʹ͓͚Δ ΞʔΩςΫνϟͷߏ੒ཁૉͷ͏ͪߏ଄ʹண໨͢Δ w ಉॻͰ͸ʮߏ଄ɺΞʔΩςΫνϟಛੑɺΞʔΩς Ϋνϟܾఆɺઃܭࢦ਑ʯͷ͕ͭڍ͛ΒΕ͍ͯΔ w

    'SPOUFOE #BDLFOEͷιʔείʔυΛͲͷΑ͏ʹ ฤ੒͢Δ͔Λओ؟ʹஔ͘ w ຊདྷ͸ߏ଄͚ͩͰ͸ෆे෼ͳ఺ʹ஫ҙ ʰιϑτ΢ΣΞΞʔΩςΫνϟͷجૅʱ.BSL3JDIBSETɺ/FBM'PSEஶɺౡాߒೋ༁ 
 ຊࢿྉͰύλʔϯͱݺͿ֓೦͸ಉॻͰ͸ελΠϧͱݺ͹Ε͍ͯΔ
  6.  ΞʔΩςΫνϟύλʔϯߟ࡯ IUUQTTQFBLFSEFDLDPNLPJDIJLJTPNPSQIJDTVSWJWBMHVJEF TMJEFΛجʹ࡞੒ 
 ຊࢿྉͰ͸'SPOUFOE 1SFTFOUBUJPO 6*Λ΄΅ಉٛͷ༻ޠͱͯ͠࢖༻͢Δ $MJFOU ωοτϫʔΫͷ

    
 ͪ͜Β ਓؒ ଆ 4FSWFS ωοτϫʔΫͷ 
 ͋ͪΒଆ #BDLFOE ετϨʔδ޲͚ʹ 
 ৘ใΛग़͠ೖΕ 'SPOUFOE ਓؒ޲͚ʹ 
 ৘ใΛग़͠ೖΕ /FUXPSL $MJFOUTJEF 4FSWFSTJEF 'SPOUFOE #BDLFOEͷࢦ͢΋ͷ ίϯϐϡʔλͷ෺ཧతͳҐஔʹΑΔ۠ผ ΞϓϦέʔγϣϯͷ࿦ཧతͳϨΠϠʹΑΔ۠ผ
  7.  ΞʔΩςΫνϟύλʔϯߟ࡯ ؅ཧػೳΛ௥Ճ͢Δͱ͸ 1SFTFOUBUJPO%PNBJO4FQBSBUJPOͷུɻৄ͘͠͸ޙड़͢Δ 
 ຊࢿྉͰ͸8FCγεςϜΛલఏͱ͠ɺଞͷέʔε͸؆୯ͷͨΊলུ͢Δ ✖ طଘͷγεςϜʹ 1%4 ॱक

    
 41"΍NPCJMFͷ'SPOUFOE  #BDLFOE8FC"1* 1%4ॱक 
 ؅ཧػೳ'SPOUFOEΛ#BDLFOE ͔Β෼཭ͭͭ͠௥Ճ ີ݁߹ 
 طଘ#BDLFOEίʔυϕʔεʹ ؅ཧػೳͷ͢΂ͯΛ௥Ճ ߏ଄తͳมߋΛߦ͍  ❓ ཁ݅΍ಛੑΛຬͨ͢ 
 ৽͍͠γεςϜΛ࣮ݱ͢Δ .JDSPTFSWJDF 
 طଘ#BDLFOEͱ௨৴͢Δ 
 ؅ཧػೳαʔϏεΛ௥Ճ ϞϊϦγοΫ 
 αʔό͔Βৗʹ)5.-Λฦ͢ 
 ैདྷͷ8FC"QQMJDBUJPOT
  8. 1%4ॱक 
 41"΍NPCJMFͷ'SPOUFOE  #BDLFOE8FC"1*  ΞʔΩςΫνϟύλʔϯߟ࡯ มߋલͷΞʔΩςΫνϟϞϊϦγοΫ 4FSWFS $MJFOU

    8FCCSPXTFS 
 8FC7JFX ͢΂ͯͷίʔυ͕୯ҰσϓϩΠϝϯτϢχοτ 
 ͱͳΔϞϊϦγοΫͳߏ੒ ໼ҹ͸࣮ࡍͷܦ࿏Ͱ͸ͳ͘ɺґଘؔ܎΍ࢀরͷ֓೦తͳܦ࿏ 'SPOUFOE #BDLFOE ΤϯυϢʔβʔ WJFXIFMQFSͱ 
 &3#౳ͷςϯϓϨʔτΤϯδϯ มߋલͷΞʔΩςΫνϟ ϞϊϦγοΫ 
 αʔό͔Βৗʹ)5.-Λฦ͢ 
 ैདྷͷ8FC"QQMJDBUJPOT
  9. ϞϊϦγοΫ 
 αʔό͔Βৗʹ)5.-Λฦ͢ 
 ैདྷͷ8FC"QQMJDBUJPOT  ΞʔΩςΫνϟύλʔϯߟ࡯ มߋલͷΞʔΩςΫνϟ1%4ॱक 4FSWFS $MJFOU

    #BDLFOE ଞʹ΋γεςϜίϯϙʔωϯτ͸͋Δ͚Ͳ؆୯ͷͨΊলུ 'SPOUFOE 3BJMT"1*NPEF ΤϯυϢʔβʔ ϓϨθϯςʔγϣϯͷ෼཭͕࣮ݱ͞Ε͍ͯΔ 
 ͭҎ্ͷίʔυϕʔεɺͭҎ্ͷσϓϩΠϝϯτϢχοτ มߋલͷΞʔΩςΫνϟ 1%4ॱक 
 41"΍NPCJMFͷ'SPOUFOE  #BDLFOE8FC"1*
  10.  ΞʔΩςΫνϟύλʔϯߟ࡯ IUUQTNBSUJOGPXMFSDPNCMJLJ1SFTFOUBUJPO%PNBJO4FQBSBUJPOIUNM 1SFTFOUBUJPO%PNBJO4FQBSBUJPOͱ͸ w ϓϨθϯςʔγϣϯϩδοΫ ˺6* ΛυϝΠϯϩδο Ϋ͔Β෼཭͢Δઃܭݪଇ w

    ϓϨθϯςʔγϣϯ͸ʮίʔυʹΑΔςετ͕೉͠ ͍ʯʮߴ͍ઐ໳ੑ͕ཁٻ͞ΕΔʯ w υϝΠϯϩδοΫͱࠞ͟Δ͜ͱͰෳࡶ͔ͭࠔ೉ʹͳΔ w 1%4͸$MJFOU 4FSWFSͰͷ෺ཧతͳ෼཭ʹݶΒͳ͍ w 3BJMT͕࠾༻͢Δ.7$ΞʔΩςΫνϟ͸࿦ཧతͳ෼ׂ Ͱ1%4Λ࣮ݱ͢ΔҰखஈ
  11. 1%4ॱक 
 41"΍NPCJMFͷ'SPOUFOE  #BDLFOE8FC"1* ϞϊϦγοΫ 
 αʔό͔Βৗʹ)5.-Λฦ͢ 
 ैདྷͷ8FC"QQMJDBUJPOT

     ΞʔΩςΫνϟύλʔϯߟ࡯ ؅ཧػೳΛ௥Ճ͢Δͱ͸ 4FSWFS $MJFOU ؅ཧػೳͷ'SPOUFOE #BDLFOEΛͲ͜ʹஔ͔͘ʁͱ͍͏໰͍ #BDLFOE 
 GPS؅ཧػೳ 'SPOUFOE 
 GPS؅ཧػೳ ؅ཧػೳͷར༻ऀ 🆕❗ ΤϯυϢʔβʔ ❓ มߋલͷΞʔΩςΫνϟ
  12. ✖  ΞʔΩςΫνϟύλʔϯߟ࡯ طଘͷϞϊϦγοΫίʔυϕʔεʹ؅ཧػೳΛີ݁߹ͤ͞Δ 4FSWFS $MJFOU 8FCCSPXTFS 
 8FC7JFX 'SPOUFOE

    
 GPSΤϯυϢʔβʔ GPS؅ཧػೳ #BDLFOE 
 GPSΤϯυϢʔβʔ GPS؅ཧػೳ ؅ཧػೳͷར༻ऀ $MJFOU 8FCCSPXTFS 
 8FC7JFX ΤϯυϢʔβʔ มߋલͷΞʔΩςΫνϟ มߋ಺༰ ϞϊϦγοΫ 
 αʔό͔Βৗʹ)5.-Λฦ͢ 
 ैདྷͷ8FC"QQMJDBUJPOT ີ݁߹ 
 طଘ#BDLFOEίʔυϕʔεʹ ؅ཧػೳͷ͢΂ͯΛ௥Ճ Α͋͘ΔBENJOܥHFN௥Ճ͸͜ͷύλʔϯ
  13.  ΞʔΩςΫνϟύλʔϯߟ࡯ طଘͷϞϊϦγοΫίʔυϕʔεʹ؅ཧػೳΛີ݁߹ͤ͞Δ ✅΄ͱΜͲͷέʔεͰ࠷খίετ ✅$*$%΍Πϯϑϥ໘ͷมߋ͕গͳ͍ ✅νʔϜ͕࣋ͭεΩϧηοτͰରԠ͠΍͍͢ 
 ʢֶश༰қੑʣ ✅BENJOܥHFN͸ॆ࣮͍ͯ͠Δ 


    3BJMT"ENJO BENJOJTUSBUF BDUJWFBENJO FUD ີ݁߹Λҙࣝతʹબ୒Ͱ͖ΔͳΒ͋Γ 
 3BJMTͷڧΈΛ৳͹͢બ୒ ❌ີ݁߹ʹΑΔ͋ΒΏΔ໰୊ 
 ❌BENJOܥHFNʹա౓ʹґଘ͢Δͱมߋ༰қੑ௿Լɹ
  14. $MJFOU  ΞʔΩςΫνϟύλʔϯߟ࡯ طଘͷ#BDLFOEίʔυϕʔεʹ؅ཧػೳΛີ݁߹ͤ͞Δ 4FSWFS $MJFOU #BDLFOE 
 GPSΤϯυϢʔβʔ GPS؅ཧػೳ

    ؅ཧػೳͷར༻ऀ ΤϯυϢʔβʔ 3&45 
 (SBQI2- 
 H31$ FUD 'SPOUFOE 
 GPSΤϯυϢʔβʔ 8FCCSPXTFS 
 8FC7JFX 'SPOUFOE GPS؅ཧػೳ มߋલͷΞʔΩςΫνϟ มߋ಺༰ ✖ WJFXIFMQFSͱ 
 &3#౳ͷςϯϓϨʔτΤϯδϯ 41" NPCJMFBQQT ີ݁߹ 
 طଘ#BDLFOEίʔυϕʔεʹ ؅ཧػೳͷ͢΂ͯΛ௥Ճ 1%4ॱक 
 41"΍NPCJMFͷ'SPOUFOE  #BDLFOE8FC"1*
  15.  ΞʔΩςΫνϟύλʔϯߟ࡯ طଘ#BDLFOE͚ͩ࠶ར༻ͭͭ͠؅ཧػೳ͸1%4ॱक 4FSWFS $MJFOU 8FCCSPXTFS 
 8FC7JFX 'SPOUFOE 


    GPSΤϯυϢʔβʔ #BDLFOE 
 GPSΤϯυϢʔβʔ GPS؅ཧػೳ ؅ཧػೳͷར༻ऀ $MJFOU ΤϯυϢʔβʔ 'SPOUFOE GPS؅ཧػೳ 3&45 
 (SBQI2- 
 H31$ FUD มߋલͷΞʔΩςΫνϟ มߋ಺༰ ✖ ϞϊϦγοΫ 
 αʔό͔Βৗʹ)5.-Λฦ͢ 
 ैདྷͷ8FC"QQMJDBUJPOT 1%4ॱक 
 ؅ཧػೳ'SPOUFOEΛ#BDLFOE ͔Β෼཭ͭͭ͠௥Ճ
  16.  ΞʔΩςΫνϟύλʔϯߟ࡯ طଘ#BDLFOE͚ͩ࠶ར༻ͭͭ͠؅ཧػೳ͸1%4ॱक ✅6* ϓϨθϯςʔγϣϯ૚ ͷີ݁߹Λ๷͛Δ 
 ✅؅ཧػೳ6*ʹҟͳΔٕज़Λ࢖͑Δ ✅؅ཧػೳ6*ͷςετ͕͠΍͘͢ͳΔ ΤϯυϢʔβʔ޲͚ͱ؅ཧػೳͰ'SPOUFOEͱ෼཭͍ͨ͠

    
 ڧ͍ཧ༝͕ͳ͚Ε͹ɺخ͍͠γʔϯ͕͋·Γͳ͍ ❌#BDLFOEʹ8FC"1*ͷ௥Ճ͕ඞཁ 
 ❌؅ཧػೳ'SPOUFOEͷٕज़ελοΫशಘ͕ඞཁ ❌؅ཧػೳ'SPOUFOEͷ$*$%੔උͳͲඞཁ
  17.  ΞʔΩςΫνϟύλʔϯߟ࡯ طଘ#BDLFOE͚ͩ࠶ར༻ͭͭ͠؅ཧػೳ͸1%4ॱक 4FSWFS $MJFOU #BDLFOE 
 GPSΤϯυϢʔβʔ GPS؅ཧػೳ ؅ཧػೳͷར༻ऀ

    $MJFOU ΤϯυϢʔβʔ 3&45 
 (SBQI2- 
 H31$ FUD 'SPOUFOE 
 GPSΤϯυϢʔβʔ 'SPOUFOE GPS؅ཧػೳ มߋ಺༰ ✖ มߋલͷΞʔΩςΫνϟ 1%4ॱक 
 ؅ཧػೳ'SPOUFOEΛ#BDLFOE ͔Β෼཭ͭͭ͠௥Ճ 1%4ॱक 
 41"΍NPCJMFͷ'SPOUFOE  #BDLFOE8FC"1* 3BJMT"1*NPEF
  18.  ΞʔΩςΫνϟύλʔϯߟ࡯ ෼཭͞Εͨ؅ཧػೳ'SPOUFOEͷٕज़ελοΫͱ͸ʁ w 8FCϒϥ΢βͰಈ࡞͢Δ4JOHMF1BHF"QQMJDBUJPOͰ͋Δ͜ͱ͕େ൒ w ϞόΠϧΞϓϦͷΑ͏ʹϦονͳମݧ͕ٻΊΒΕΔγʔϯ͕গͳ͍ w ϞόΠϧΞϓϦ։ൃ͸૬ରతʹ։ൃɾӡ༻ίετ͕ߴ͘ɺ؅ཧػೳʹෆ޲͖ w

    ઌड़ͨ͠ϝϦοτσϝϦοτ͸41"Λલఏͱ͍ͯ͠Δ w ༨ஊ #BDLFOE"1*ͷલஈʹ"1*ήʔτ΢ΣΠΛஔ͍ͯ443ͤ͞Δύλʔϯ΋͋Δ͕ɺ طଘͷ8FC"1*Λ#BDLFOEͱͯ͠ҡ࣋ͭͭ͠'SPOUFOEΛ෼཭͢ΔͷͰѥछͱݴ͑ͦ͏ w ༨ஊ ࿩୊ͷ)PUXJSF΍5VSCPΛ࢖͍͜ͳͤ͹ίʔυϕʔε্͸෼཭ͤͣʹ࿦ཧతͳ ෼ׂΛ͏·͘Ͱ͖ͦ͏͔
  19.  ΞʔΩςΫνϟύλʔϯߟ࡯ طଘ#BDLFOEͱ௨৴͢Δ؅ཧػೳαʔϏε௥Ճ ؅ཧػೳͷར༻ऀ ΤϯυϢʔβʔ 4FSWFS $MJFOU 8FCCSPXTFS 
 8FC7JFX

    'SPOUFOE 
 GPSΤϯυϢʔβʔ #BDLFOE 
 GPSΤϯυϢʔβʔ $MJFOU 8FCCSPXTFS 
 8FC7JFX 'SPOUFOE GPS؅ཧػೳ #BDLFOE GPS؅ཧػೳ ઐ༻%#͕ 
 ͋Δ͔΋ มߋલͷΞʔΩςΫνϟ มߋ಺༰ ✖ 41"ʹ͢Δέʔε΋͋Γ ϞϊϦγοΫ 
 αʔό͔Βৗʹ)5.-Λฦ͢ 
 ैདྷͷ8FC"QQMJDBUJPOT .JDSPTFSWJDF 
 طଘ#BDLFOEͱ௨৴͢Δ 
 ؅ཧػೳαʔϏεΛ௥Ճ
  20.  ΞʔΩςΫνϟύλʔϯߟ࡯ طଘ#BDLFOEͱ௨৴͢Δ؅ཧػೳαʔϏε௥Ճ 4FSWFS $MJFOU #BDLFOE 
 GPSΤϯυϢʔβʔ GPS؅ཧػೳ ؅ཧػೳͷར༻ऀ

    ΤϯυϢʔβʔ 41"ʹ͢Δέʔε΋͋Γ 'SPOUFOE 
 GPSΤϯυϢʔβʔ $MJFOU 8FCCSPXTFS 
 8FC7JFX 'SPOUFOE GPS؅ཧػೳ #BDLFOE GPS؅ཧػೳ ઐ༻%#͕ 
 ͋Δ͔΋ มߋલͷΞʔΩςΫνϟ มߋ಺༰ ✖ 1%4ॱक 
 41"΍NPCJMFͷ'SPOUFOE  #BDLFOE8FC"1* .JDSPTFSWJDF 
 طଘ#BDLFOEͱ௨৴͢Δ 
 ؅ཧػೳαʔϏεΛ௥Ճ
  21.  ΞʔΩςΫνϟύλʔϯߟ࡯ طଘ#BDLFOEͱ௨৴͢Δ؅ཧػೳαʔϏε௥Ճ ✅'SPOUFOE #BDLFOEͱ΋ʹૄ݁߹ 
 ʢυϝΠϯϩδοΫ΋෼཭Մʣ 
 ✅ͦͷଞҰൠతͳϚΠΫϩαʔϏεͷϝϦοτ 


    ʢϓϩηε෼཭ɺҟͳΔٕज़ελοΫ࠾༻FUDʣ ؅ཧػೳ͕׬શʹڥք͕͋ΔͳΒՄೳੑ͋Γ 
 ޙ௥͍Ͱ࡞ΔΑ͏ͳঢ়گͰϚΠΫϩαʔϏεͷίετΛ෷͑Δ͔ʁ ❌طଘͷ#BDLFOEʹ8FC"1*Λ࣮૷͢Δඞཁ͋Γ 
 ❌ͦͷଞҰൠతͳϚΠΫϩαʔϏεͷσϝϦοτ ϝϦοτɾσϝϦοτͷৄࡉ͸ʰϞϊϦε͔ΒϚΠΫϩαʔϏε΁ʱͳͲ͕ৄ͍͠
  22. .PEFM BUUSJCVUF 
 BUUSJCVUF  ΞʔΩςΫνϟύλʔϯߟ࡯ w ར༻ऀ͕ҟͳΔ͔Βͱ͍ͬͯΞʔΩςΫ νϟ্Ͱ෼཭͢Δͷ͕ਖ਼ղͱ͸ݶΒͳ͍ w

    ໰͍ͦΕͧΕͰѻ͏υϝΠϯ ղܾ͍ͨ͠ ໰୊ྖҬ ͸ҰॹͰ͸ʁ w υϝΠϯ͕ҰॹͳͷʹϞσϧ΍ίʔυΛ ෼཭͢Δͷ͸ޡͬͨ෼ׂͷՄೳੑ w ෼཭Ͱ͖ͯخ͍͔͠Ͳ͏͔Λ໰͍͔͚ͯ ݕ౼͢Δ ؅ཧػೳͷυϝΠϯͱ͸ʁ ؅ཧػೳͷར༻ऀ ΤϯυϢʔβʔ
  23.  ΞʔΩςΫνϟύλʔϯߟ࡯ #BDLFOE 
 ˠ૬৐Γ👍 
 ϞσϧΛ࠶ར༻͢ΔՄೳੑ͕ߴ͍ 
 'SPOUFOE 


    ˠ૬৐Γ🆗 
 6*͸ผ෺ʹͳΔՄೳੑ͕ߴ͍ 4FSWFS $MJFOU 8FCCSPXTFS 
 8FC7JFX 'SPOUFOE 
 GPSΤϯυϢʔβʔ GPS؅ཧػೳ #BDLFOE 
 GPSΤϯυϢʔβʔ GPS؅ཧػೳ ؅ཧػೳͷར༻ऀ $MJFOU 8FCCSPXTFS 
 8FC7JFX ΤϯυϢʔβʔ ΤϯυϢʔβʔ޲͚ػೳͱ؅ཧػೳ͕ಉ͡υϝΠϯͳΒ
  24.  ΞʔΩςΫνϟύλʔϯߟ࡯ ϚΠΫϩαʔϏεͰڞ༗σʔλϕʔε %JTUSJCVUFE.POPMJUI 4FSWFS $MJFOU #BDLFOE 
 GPSΤϯυϢʔβʔ ؅ཧػೳͷར༻ऀ

    ΤϯυϢʔβʔ 41"ʹ͢Δέʔε΋͋Γ 'SPOUFOE 
 GPSΤϯυϢʔβʔ $MJFOU 8FCCSPXTFS 
 8FC7JFX 'SPOUFOE GPS؅ཧػೳ #BDLFOE GPS؅ཧػೳ %#ڞ༗ ✅࠷ॳͷ࣮૷ָ͕ 
 ❌෼ࢄγεςϜͷίετΛ෷͍ ͭͭɺϚΠΫϩαʔϏεͷར఺Λ ΄΅ڗडͰ͖ͳ͍ ආ͚Δ ৄ͍͠ղઆ͸ʰϞϊϦε͔ΒϚΠΫϩαʔϏε΁ʱ4BN/FXNBOஶɺౡాߒೋ༁Λࢀর
  25.  ΞʔΩςΫνϟύλʔϯߟ࡯ w ࣮ݱ͍ͨ͠ػೳ΍ಛੑ͸Կ͔Λ஌Δ w બ୒ࢶ͝ͱͷτϨʔυΦϑΛཧղ͢Δ w มߋલͷΞʔΩςΫνϟͷํ਑ͱ࣮ݱ͞Ε͍ͯͨ͜ͱ w ؅ཧػೳ௥ՃʹΑΓࣦΘΕΔ͜ͱ

    w ࣄۀɾϓϩμΫτʹ͓͚Δ؅ཧػೳͷཱͪҐஔΛ஌Δ w ΤϯυϢʔβʔ޲͚ػೳͱ؅ཧػೳͷυϝΠϯ ղܾ͍ͨ͠໰୊ྖҬ ʰιϑτ΢ΣΞΞʔΩςΫνϟͷجૅʱ͕ৄ͍͠ ΞʔΩςΫνϟʹਖ਼ղ͸ͳ͍
  26. X

  27.  ߨԋऀͷબ୒ͱ࣮ફ બ͹Εͨͷ͸ɺ͜ͷύλʔϯͰͨ͠ 4FSWFS $MJFOU #BDLFOE 
 GPSΤϯυϢʔβʔ GPS؅ཧػೳ ؅ཧػೳͷར༻ऀ

    $MJFOU ΤϯυϢʔβʔ 3&45 'SPOUFOE 
 GPSΤϯυϢʔβʔ 'SPOUFOE GPS؅ཧػೳ มߋ಺༰ ✖ มߋલͷΞʔΩςΫνϟ 1%4ॱक 
 41"΍NPCJMFͷ'SPOUFOE  #BDLFOE8FC"1* 1%4ॱक 
 ؅ཧػೳ'SPOUFOEΛ#BDLFOE ͔Β෼཭ͭͭ͠௥Ճ
  28.  ߨԋऀͷબ୒ͱ࣮ફ 'SPOUFOE 
 GPSΤϯυϢʔβʔ #BDLFOE 
 GPSΤϯυϢʔβʔ 
 GPS؅ཧػೳ

    'SPOUFOE 
 GPS؅ཧػೳ ΞʔΩςΫνϟશମͷৄ͍͠ղઆ͸ϒʔε͔ΧδϡΞϧ໘ஊͰ 
 IUUQTTNBSUCBOLDPKQSFDSVJUFOHJOFFSTVNNBSZͰ΋ެ։த
  29.  ߨԋऀͷબ୒ͱ࣮ફ ཧ༝ w 1SFTFOUBUJPO%PNBJO4FQBSBUJPOΛҡ͍࣋ͨ͠ w BENJOܥϑϨʔϜϫʔΫΛ༻͍ͨ41"։ൃͰίετ࡟ ݮΛਤΔ w +454ܦݧ͍ͯ͠Δϝϯόʔ͸͓ΓɺνʔϜͷٕज़

    ϙʔτϑΥϦΦʹ߹கͦ͠͏ ΤϯδχΞϦϯά؍఺ w Χʔυൃߦ΍ۜߦۀ຿ʹ͓͍ͯɺΤϯυϢʔβʔɾ ؅ཧػೳͷར༻ऀؒͰղܾ͍ͨ͠໰୊ྖҬ͸ڞ௨ w #BDLFOEΛ෼཭͢Δ͜ͱͰɺυϝΠϯϩδοΫ͸ࢄ ҳ͠ۮൃతͳෳࡶ͞ΛੜΉͱ൑அ w $4ۀ຿؅ཧػೳͷମݧ͕ΤϯυϢʔβʔͷମݧͷ ྑ͠ѱ͠ʹܨ͕Δ w ߴ଎ʹಈ࡞͢Δ6*ͰετϨεΛ࡟ݮ ࣄۀɾϓϩμΫτ؍఺
  30.  ߨԋऀͷબ୒ͱ࣮ફ w ΤϯυϢʔβʔ޲͚ɺ؅ཧػೳ޲͚ͲͪΒ΋ಉ͡ϝϯλϧϞσϧͰ։ൃͰ͖͍ͯΔ w ಉ͡ޠኮɺϞσϧɺ3&45"1* w ϞϊϦεͷංେԽΛ཈੍ͭͭ͠ɺߴ଎ʹ։ൃͰ͖͍ͯΔ w ϦϦʔε࣌ʹ૝ఆ͍ͯͨ͠௨Γ؅ཧػೳ͸ଟ͍ɺ೥Ͱը໘Ҏ্͍ͭͬͯ͘Δ

    w WJFXؔ࿈ͷHFNͳͲ΋ෆཁ w ςετͷهड़ྔ΍଎౓ͷ໰୊΋௿ݮͰ͖ͯΔ w બ୒ͨ͠SFBDUBENJO͕ෑ͘ϨʔϧʹࡌΔ͜ͱͰαΫαΫը໘ΛߏஙͰ͖Δ w ΧελϜ$44Λ΄΅ॻ͔ͳ͍ ͳͥSFBDUBENJOΛબΜͩͷ͔ʁ͸ผͷػձʹ ৼΓฦͬͯΈͯྑ͔ͬͨ͜ͱ👍
  31.  ߨԋऀͷબ୒ͱ࣮ફ w 3FBDU 5ZQF4DSJQUະܦݧͩͱ΍΍ֶशϋʔυϧ͕͋Δ w ΄΅ఆܕͳͷͰdը໘ॻ͚͹׳ΕΔ w #BDLFOEͱ݁߹ͨ͠&&ςετ͕༰қʹ͸੔උͰ͖ͣɺඞཁʹԠͯ͡ϚχϡΞ ϧςετ͍ͯ͠Δ

    w ϞόΠϧ޲͚#BDLFOE"1*Ͱ΋ଘࡏ͢Δ՝୊ w SFBDUBENJOWͰഁյతมߋ͕ଟ͋͘ΓରԠʹྀۤ w ͜Ε͸·ͩਐߦத ৼΓฦͬͯΈͯྑ͘ͳ͔ͬͨ͜ͱ👎
  32.  ؅ཧػೳͷӡ༻ͷ޻෉ w OBNFTQBDF w ෼཭Ϩϕϧͱͯ͠͸࠷΋ऑ͍ w NPVOUBCMFFOHJOF w HFN

    w QBDLXFSL w ৄ͘͠ͳ͍ͷͰڭ͍͑ͯͩ͘͞ʂ ʰ(SBEVBM.PEVMBSJ[BUJPOGPS3VCZBOE3BJMTʱ໘നͦ͏ બ୒ࢶ
  33.  ؅ཧػೳͷӡ༻ͷ޻෉ w ଱ো֐ੑͷ޲্ w ؂ࢹ༰қੑͷ޲্ w εέʔϥϏϦςΟͷ޲্ w ؀ڥม਺ʹΑΔৼΔ෣͍ͷ੍ޚ

    w :+*5Λ؅ཧػೳͰࢼ͢౳ͷ࣮ݧ΋Մ ೳ #BDLFOEͷϓϩηεͷ෼཭ ͭͷίʔυϕʔε #BDLFOE 
 GPSΤϯυϢʔβʔ GPS؅ཧػೳ #BDLFOE 
 GPSΤϯυϢʔβʔ #BDLFOE 
 GPS؅ཧػೳ σϓϩΠϝϯτ" σϓϩΠϝϯτ# σϓϩΠ ΞʔΩςΫνϟύλʔϯͷબ୒ʹΑΒ͓ͣ͢͢Ί͍ͨ͠
  34.  ࢀߟ w ʰϞϊϦε͔ΒϚΠΫϩαʔϏε΁ʱ4BN/FXNBOஶɺౡాߒೋ༁ w ʰιϑτ΢ΣΞΞʔΩςΫνϟͷجૅʱ.BSL3JDIBSETɺ/FBM'PSEஶɺౡాߒೋ༁ w όοΫΤϯυ8FC"1*ʹ؅ཧը໘؅ཧػೳΛ௥Ճ͢ΔΞʔΩςΫνϟύλʔϯ w IUUQTPICBSZFIBUFOBCMPHKQFOUSZBENJOGFBUVSFBSDIJUFDUVSFQBUUFSOT

    w ؅ཧը໘Λ࡞Δࡍʹߟ͑Δ͜ͱ w IUUQTTDSBQCPYJPPICBSZF؅ཧը໘Λ࡞Δࡍʹߟ͑Δ͜ͱ w ʮ؅ཧը໘ʯͷϚΠΫϩαʔϏεΛ্ཱͪ͛Δલʹߟ͑Δ΂͖͜ͱ w IUUQTRJJUBDPNRTPOBJUFNTGEGGCFBC w ϚΠΫϩαʔϏεͰ؅ཧը໘͕ཚཱ͢Δ໰୊ͱରࡦ w IUUQTNFEJVNDPN fi ODFOHJOFFSJOHNJDSPTFSWJDFTBENJOUPPMTCGDCB w ສߦΦʔόʔͷϞϊϦγοΫ3BJMTΞϓϦΛϚΠΫϩαʔϏεԽͨ͠ΫοΫύουͷखॱ w IUUQTFIDBSFFSDPNFOHJOFFSIVCFOUSZ w HSQDHBUFXBZͰ࡞ΔϚΠΫϩαʔϏεͷ؅ཧը໘ w IUUQTTQFBLFSEFDLDPNOBTVNHSQDHBUFXBZEF[VPSVNBJLVSPTBCJTVGBMTFHVBOMJIVBNJBO
  35.  ࢀߟ w /FYU$VSSFODZͷ؅ཧը໘αʔόαΠυΤϯδχΞͷϑϩϯτΤϯυٕज़બ୒ w IUUQTTQFBLFSEFDLDPNTPOBUBSEOFYUDVSSFODZGBMTFHVBOMJIVBNJBO TBCBTBJEPFO[JOJBGBMTFIVSPOUPFOEPKJTIVYVBO[F w גࣜձࣾ'0-*0ͷ࣍ੈ୅ূ݊γεςϜΛͻ΋ͱ͘ w

    IUUQTJUPIJSPIBUFOBCMPHDPNFOUSZ w '0-*0Λࢧ͑ΔΤϯδχΞϦϯά૊৫ͷࣣసീ౗ه೥ౙ w IUUQTUBOEQIBUFOBCMPHDPNFOUSZGPMJPPSHBOJ[BUJPO w ৽نαʔϏεͷ؅ཧը໘Λ୹ظؒͰݟӫ͑ྑ࣮͘૷͢Δ w IUUQTUFDIMJGFDPPLQBEDPNFOUSZ
  36.  ࢀߟ w ϚχΞ͕௵ͨ͠ςετۦಈ։ൃʙʰ݈શͳϏδωεͷܧଓత੒௕ͷͨΊʹ͸݈શͳ ίʔυ͕ඞཁͩʱରஊʢ̑ʣ w IUUQTUXPQBHJMFFTNDPKQUEEXBTCSPLFOCZNBOJBDCBFC w 3VCZPO3BJMTͷਖ਼ମͱ޲͖߹͍ํ w

    IUUQTTQFBLFSEFDLDPNZBTBJDIJXIBUJTSVCZPOSBJMTBOEIPXUPEFBM XJUIJU w ΤϯδχΞΛ໨ࢦ͢܅ͨͪ͸Ͳ͏ੜ͖Δ͔ɹʙιϑτ΢ΣΞΞʔΩςΫτͷ͢ʍΊʙ w IUUQTTQFBLFSEFDLDPNSIVNJFFO[JOJBXPNV[IJTVKVOUBUJIBEPVTIFOH LJSVLB
  37.  ࢀߟ w ؅ཧը໘νϥݟͤὑφΠτ w IUUQTBENJODIJSBNJTFOJHIUDPOOQBTTDPN w ײ૝IUUQTUXJUUFSDPNZVLJTUBUVT w ײ૝IUUQTUXJUUFSDPNTFSJNBTUBUVT

    w ײ૝IUUQTUXJUUFSDPN,FOUBSPV5BLFEBTUBUVT w *TPNPSQIJD4VSWJWBM(VJEF w IUUQTTQFBLFSEFDLDPNLPJDIJLJTPNPSQIJDTVSWJWBMHVJEF w 3FBDU4FSWFS$PNQPOFOUTʹײͨ͡ϑϩϯτΤϯυͷফࣦ w IUUQT[FOOEFWLPEVLJBSUJDMFTGGB