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

tblsで実現したいシステムとGoによるその実装 / Fukuoka.go#16

tblsで実現したいシステムとGoによるその実装 / Fukuoka.go#16

69b93af68320a590f607c296e8edff73?s=128

Ken’ichiro Oyama

July 14, 2020
Tweet

Transcript

  1. খࢁ݈Ұ࿠(.01FQBCP *OD 'VLVPLBHP UCMTͰ࣮ݱ͍ͨ͠γεςϜͱ (PʹΑΔͦͷ࣮૷

  2. ϓϦϯγύϧΤϯδχΞ খࢁ݈Ұ࿠!L-P8 ϗεςΟϯάࣄۀ෦ϗεςΟϯάάϧʔϓϚωʔδυΫϥ΢υνʔϜ IUUQTHJUIVCDPNL-P8 

  3. 

  4. ΞδΣϯμ w UCMTʹ͍ͭͯ w ࣮ݱ͍ͨ͠γεςϜUCMTΛ༻͍ͨύΠϓϥΠϯ w ࣮ݱ͍ͨ͠γεςϜUCMTΛத৺ͱͨ͠ΤίγεςϜ w ·ͱΊ ˞۩ମతͳιʔείʔυͳͲ΁ͷϦϯΫΛ(JTUʹ·ͱΊ͍ͯ·͢ɻ

    IUUQTHJUJPGVLVPLBHPLMPX Ϧετͷ൪߸ͱϚʔΫ͕ϦϯΫ͍ͯ͠·͢ͷͰ͚ٓ͠Ε͹߹Θͤͯ͝ཡ͍ͩ͘͞  ˞
  5. 

  6. UCMT w $*ϑϨϯυϦͳσʔλϕʔευΩϡϝϯτੜ੒πʔϧ w IUUQTHJUIVCDPNL-P8UCMT W  w $*ϑϨϯυϦϫϯόΠφϦ w

    1PTUHSF42- .Z42-ͳͲͷ3%#.4͚ͩͰͳ͘ɺ#JH2VFSZ΍"NB[PO %ZOBNP%# $MPVE4QBOOFSͱ͍ͬͨσʔλιʔεʹ΋ରԠ 
  7. UCMTʹΑΔυΩϡϝϯτੜ੒ w ҎԼͷΑ͏ͳઃఆϑΝΠϧʢUCMTZNMʣΛॻ͍ͯίϚϯυΛ࣮ߦ͢ΔͱEPD TDIFNBʹυΩϡϝϯτ͕ੜ੒͞ΕΔ 

  8. UCMTͷυΩϡϝϯτੜ੒ͷ࢓૊Έ UCMTZNMͷAETOAʹࢦఆ͞Εͨσʔλιʔε͔ΒεΩʔϚ৘ใΛऔಘ UCMTZNMʹ͋Δίϝϯτ৘ใ΍ϦϨʔγϣϯ৘ใͰεΩʔϚ৘ใΛ֦ॆ ͷεΩʔϚ৘ใʢͱ&3ਤ΍දهͳͲͷUCMTZNMͷ࢒Γͷઃఆ৘ใʣͰυΩϡϝϯτ Λग़ྗ w42-JUFͷυΩϡϝϯτʹίϝϯτΛ෇༩ͨ͠Γɺ#JH2VFSZͷ&3ਤʹϦϨʔγϣϯ Λ෇༩͢Δ͜ͱ΋Մೳ 

  9. UCMTΛ༻͍ͨύΠϓϥΠϯ 

  10. UCMTͷΞʔΩςΫνϟ σʔλιʔε͔ΒεΩʔϚ৘ใΛऔಘ͢Δ *OQVU  w਺ଟ͘ͷσʔλιʔεΛαϙʔτ͍ͯ͠Δ εΩʔϚ৘ใΛૢ࡞͢Δ .BOJQVMBUF  εΩʔϚ৘ใ͔ΒΞ΢τϓοτΛੜ੒͢Δ 0VUQVU

     w.BSLEPXO͚ͩͰ͸ͳ͘+40/΍1MBOU6.-ɺEPUɺ&YFDFMͳͲΛඪ४αϙʔτ 
  11. UCMTͷΞʔΩςΫνϟ 

  12. ύΠϓϥΠϯ UCMTTDIFNBKTPOUCMT wUCMT͸+40/ܗࣜͷϑΝΠϧΛೖྗσʔλιʔεͱͯ͠औΓѻ͑ΔʢTDIFNBKTPOʣ   wεΩʔϚ৘ใ͔Β+40/ܗࣜʢTDIFNBKTPOʣͰग़ྗՄೳ   wUCMTͷग़ྗΛUCMTͷೖྗͱͯ͠औΓѻ͑Δɻͦͷࡍʹσʔλͷܽଛ͸ͳ͠ 

  13. ύΠϓϥΠϯ UCMTTDIFNBKTPOUCMT wUCMTͷػೳ͚ͩͰ*OQVUͱ0VUQVUΛͭͳ͛Δ͜ͱ͕Ͱ͖Δ wUCMTͷTDIFNBKTPOΛதؒϑΥʔϚοτͱͨ͠ύΠϓϥΠϯΛߏஙͰ͖Δ wྫʮσʔλϕʔεʹ઀ଓͯ͠TDIFNBKTPOΛੜ੒͢ΔʯͱʮTDIFNBKTPOʢͱ UCMTZNMʣ͔ΒυΩϡϝϯτΛੜ੒͢Δʯͱ࣮ߦ؀ڥΛ෼཭ wຊ൪%#͔ΒεΩʔϚ৘ใΛऔಘ͠΍͘͢ͳΔ 

  14. TDIFNB4DIFNBʢ؆ུԽ7FSʣ  ˞

  15. TDIFNB4DIFNB+40/TDIFNB4DIFNB wߏ଄ମΛ+40/ʹͨ͠Γɺ+40/͔Βߏ଄ମʹͨ͠Γͱ͍͏ػೳͰࢥ͍ͭ͘ͷ͸ KTPO.BSTIBMKTPO6ONBSTIBM wߏ଄ମʹAKTPOAͷλάΛ෇͚͚ͨͩͰ͸ෆे෼ wྫ͑͹3FMBUJPOͳͲ͕໘౗ w5BCMF$PMVNOTͱ͋Δ5BCMF$PMVNOTͷؔ܎ੑΛදݱ͢Δߏ଄ମ wߏ଄ମͷؔ࿈͕$ZDMFߏ଄ʹͳ͍ͬͯΔ w͜ͷ··KTPO.BSTIBM࣮ߦ͢ΔͱSVOUJNFHPSPVUJOFTUBDLFYDFFET CZUFMJNJUΤϥʔ w$ZDMFߏ଄ʹͳΒͳ͍Α͏ʹߏ଄ମؒͷؔ࿈Λ੾Δඞཁ͕͋Δ

     ˞
  16. .BSTIBM+40/  ߏ଄ମΛจࣈྻʹม׵ ˞

  17. TDIFNB4DIFNB+40/TDIFNB4DIFNB wUCMTʹ͓͍ͯ͸4DIFNB͔ΒTDIFNBKTPO͚ͩͰͳ͘TDIFNBKTPO͔Β4DIFNB΋ σʔλͷܽଛͳ͘ੜ੒Ͱ͖Δඞཁ͕͋Δ wͦΕͧΕͷߏ଄ମʹ6ONBSTIBM+40/Λ༻ҙ͢Δ͚ͩͰ͸೉͍͠ w3FQBJS ͱ͍͏ؔ਺Λ༻ҙͯ͠KTPO6ONBSTIBMʢਖ਼֬ʹ͸KTPO%FDPEFS%FDPEFʣ ޙʹ৘ใͷ෮چΛ࣮ߦ wͳͥ6ONBSTIBMޙͳͷ͔ͱ͍͏ͱɺݩͷঢ়ଶʹम෮͢ΔͨΊʹ͸εΩʔϚͷ৘ใ͕ શͯඞཁ͔ͩΒɻ wʮ4DIFNB಺Ͱ͸ςʔϒϧ໊͸ϢχʔΫͰ͋Δʯʮςʔϒϧ಺Ͱ͸ΧϥϜ໊͸Ϣχʔ

    ΫͰ͋Δʯͱ͍͏%#ಛ༗ͷ੍໿৚݅Λ͏·͘׆༻ͯ͠จࣈྻ͔Βߏ଄ମΛಛఆͯ͠ ม׵  ˞ ˞
  18. UCMTΛத৺ͱͨ͠ΤίγεςϜ 

  19. ׆༻༻్Λ֦͛ΔͨΊͷ֦ுՄೳͳΞʔΩςΫνϟ wUCMT͸ɺ4DIFNBߏ଄ମΛத৺ͱͯ͠*OQVUɺ.BOVQJMBUFɺ0VUQVUͷͭʹ෼͔Ε ͍ͯΔΞʔΩςΫνϟ wUCMTͷ׆༻༻్Λ֦͛Α͏ͱͨ͠৔߹ɺΞʔΩςΫνϟͷ֤෦෼͕֦ுɾ୅ସ͠΍͍͢ ͜ͱ͕๬·͍͠ w֦ுɾ୅ସͰ͖ΔͱUCMTΛ࠶ར༻͍ͯ͠Ζ͍Ζͳ͜ͱ͕࣮ݱͰ͖ͦ͏ͩͱߟ͍͑ͯΔ wUCMTΛ࠶ར༻͍ͭͭ͠Ζ͍Ζͳ͜ͱΛ࣮ݱʹUCMTΛத৺ͱͨ͠ΤίγεςϜ 

  20. ֦ுΞΠσΞྫ w#JH2VFSZ΁ͷϝλσʔλͷ൓ө  wએݴతϚΠάϨʔγϣϯػೳͷ࣮ݱʢSJEHFQPMF΍TRMEFGͷΑ͏ͳػೳʣ  wಛघͳσʔλιʔεͷαϙʔτ  ˞

  21. ׆༻༻్Λ֦͛ΔͨΊͷ֦ுՄೳͳΞʔΩςΫνϟ w*OQVU͸TDIFNBKTPOΛੜ੒Ͱ͖Ε͹UCMT͕ಡΈࠐΊΔͷͰ༰қʹ֦ுՄೳ w.BOVQJMBUFͱ0VUQVUΛ֦ுɾ୅ସ͠΍͘͢͢ΔͨΊʹUCMT͸֎෦αϒίϚϯυͱݺ ΜͰ͍ΔػߏΛ࣋ͭ 

  22. ֎෦αϒίϚϯυ w(JU͕AHJUGPPAΛAHJUGPPAͱαϒίϚϯυͱͯ͠ೝࣝͨ͠ΓɺLVCFUDM͕ALVCFDUM CBSAΛALVCFDUMCBSAͱೝࣝͨ͠Γ͢ΔΞϨ wUCMTͷ֎෦αϒίϚϯυ͸ wAD DPOpH AΦϓγϣϯ͸਌ίϚϯυͷUCMT͕ୣ͏ wUCMT͕ETOઃఆʹج͍ͮͯ*OQVUͷॲཧΛ୅ΘΓʹ࣮ߦ͠ɺ؀ڥม਺ܦ༝Ͱ TDIFNBKTPOΛαϒίϚϯυʹ౉͢ wUCMTΛύοέʔδͱͯ͠Έͨͱ͖ɺTDIFNBKTPOΛ4DIFNBʹΞϯγϦΞϥΠζ͢Δ

    ؔ਺͕QVCMJDͰఏڙ͞Ε͍ͯΔͷͰɺͦΕΛར༻͢Δ͜ͱ΋Մೳ  ˞ ˞
  23. ֎෦αϒίϚϯυͷίϚϯυิ׬ wίϚϯυͷิ׬΋؀ڥॆ࣮ͷͨΊʹ͸ඞཁ wUCMT͸TQGDPCSBͱ͍͏$-*ϑϨʔϜϫʔΫΛ࠾༻͍ͯ͠ΔʢҎԼDPCSBʣ wͦͯ͠DPCSBʹ͸4IFMM$PNQMFUJPOग़ྗػೳ͕࣮૷͞Ε͓ͯΓɺUCMT͸͜ΕΛར༻͠ ͯίϚϯυิ׬ػೳΛ࣮ݱ 

  24. TQGDPCSBͷ4IFMM$PNQMFUJPOग़ྗػೳ wDPCSBͷϧʔϧʹԊͬͯίϚϯυ΍αϒίϚϯυΛ࡞͍ͬͯΔͱɺ#BTI΍;TIͳͲͦ ΕͧΕʹରԠ͢Δิ׬εΫϦϓτΛࣗಈੜ੒ͯ͘͠ΕΔͱ͍͏ศརػೳ  ˞

  25. ৽͍͠4IFMM$PNQMFUJPOͷ࣮૷ wैདྷʜิ׬ػೳΛੜ੒͢Δิ׬εΫϦϓτʢ4IFMMʹΑͬͯҟͳΔʣଆͰ࣮ݱ w4IFMMͷछྨ͝ͱͷิ׬εΫϦϓτͰ࣮૷͢Δඞཁ͕͋ͬͨ w৽ʜิ׬ػೳ෦෼Λ(PଆͰ࣮૷֤ͯ͠ิ׬εΫϦϓτ͸ͦΕΛݺͼग़͢ܗͰ࣮ݱ w۩ମతʹ͸ɺӅ͠ίϚϯυͱͯ͠A@@DPNQMFUFAA@@DPNQMFUF/P%FTDAʢσϑΥϧτʣ͕উखʹ࡞੒͞Εɺ 4IFMM$PNQMFUJPOग़ྗػೳͰग़ྗ͞ΕΔิ׬εΫϦϓτͰ͸ɺ͜ΕΒͷӅ͠ίϚϯυΛୟ͍ͯิ׬ީิΛग़ ͢Α͏ʹͳ͍ͬͯΔɻ wಈతͳิ׬ީิΛ࣮ݱ͠΍͘͢ͳͬͨ A7BMJE"SHT'VODUJPOA 

    w#BTI΍;TI΍'JTIɺ1PXFS4IFMMͳͲɺෳ਺छྨͷิ׬εΫϦϓτΛ࣮૷͠΍͘͢ͳͬ ͨ  ˞ ˞
  26. UCMTͰͷ֎෦αϒίϚϯυͷิ׬ػೳͷ࣮૷ wAUCMTGPP<5"#>AͰิ׬͕ޮ͘ͳΒAUCMTGPP<5"#>AͰ΋ಉ͡ิ׬Λޮ͔͍ͤͨ wैདྷʜʮ֎෦αϒίϚϯυͷϦετΞοϓʯʮ֎෦αϒίϚϯυͷิ׬ʯΛ֤4IFMMͷ ิ׬εΫϦϓτ͝ͱʹ֦ு͍ͯͨ͠ w֎෦αϒίϚϯυͷิ׬͸֎෦αϒίϚϯυͷิ׬ؔ਺Λݺͼग़͢Α͏ʹ࣮૷ w৽ʜADPCSB$PNNBOEAͷA7BMJE"SHT'VODUJPOAΛ(PͰ࣮૷͢Ε͹ྑ͘ͳͬͨ w֎෦αϒίϚϯυͷิ׬͸AUCMTGPP@@DPNQMFUFAΛPTFYFDͰ࣮ߦ͢Δ͜ͱͰऔ ಘ wͨͩɺࠓͷ࣮૷ͩͱ֎෦αϒίϚϯυʹA@@DPNQMFUFAίϚϯυΛཁٻ͢Δ͜ͱʹ ͳΔͷͰվળݕ౼த

     ˞ ˞
  27. ·ͱΊ 

  28. ·ͱΊ wUCMTͰ࣮ݱ͍ͨ͠γεςϜʢύΠϓϥΠϯɺΤίγεςϜʣͱͦΕΛ࣮ݱ͢ΔͨΊʹඞ ཁʹͳͬͯ͘Δཁૉʹ͍ͭͯͲͷΑ͏ʹ࣮૷͍ͯ͠Δ͔Λ঺հͨ͠ w$ZDMFߏ଄ʹͳ͍ͬͯΔߏ଄ମΛ੍໿৚݅Λར༻ͯ͠+40/ʹՄٯม׵ w$-*ϑϨʔϜϫʔΫͷػೳΛ׆༻ͨ͠֎෦αϒίϚϯυͷίϚϯυิ׬ wϑΟʔυόοΫΛ͓଴͍ͪͯ͠·͢ 

  29. 5IBOLZPV ࠷৽ͷ࠾༻৘ใΛνΣοΫˠ !QC@SFDSVJU