Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
tblsで実現したいシステムとGoによるその実装 / Fukuoka.go#16
Search
Ken’ichiro Oyama
July 14, 2020
Technology
1
570
tblsで実現したいシステムとGoによるその実装 / Fukuoka.go#16
Fukuoka.go#16
https://fukuokago.connpass.com/event/180414/
付録
https://git.io/fukuokago16-k1low
Ken’ichiro Oyama
July 14, 2020
Tweet
Share
More Decks by Ken’ichiro Oyama
See All by Ken’ichiro Oyama
CI/CDがあたりまえの今の時代にAPIテスティングツールに求められていること / CI/CD Test Night #7
k1low
17
4.8k
Command-line interface tool design / PHPerKaigi 2024
k1low
6
1.3k
gostyle IS NOT Go Style / Fukuoka.go#19 Reboot
k1low
1
140
Parsing case study in Go / Go Conference mini 2023 Winter IN KYOTO
k1low
2
1.1k
APIシナリオテストツールとしてのrunn / 4 API testing tools
k1low
1
930
The future of tbls and "Documentation as Code" / phpconfuk 2023
k1low
3
4.2k
net/http/httptest.Server のアプローチをテスト戦略に活用する / Go Conference 2023
k1low
9
2.5k
Win Testing Trophy Easily / テスティングトロフィーを獲得する / PHPerKaigi 2023
k1low
6
3.2k
runnによるAPIのシナリオテストの導入と自動化 / stac2022
k1low
10
3.5k
Other Decks in Technology
See All in Technology
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
270
web-application-security
matsuihidetoshi
1
190
Microsoft for Startups Founders Hub_20240429 update
daikikanemitsu
1
2.4k
IaCジェネレーターとBedrockで詳細設計書を生成してみた
tsukasa_ishimaru
4
860
GrafanaMeetup_AmazonManagedGrafanaのアクセス制御機能とマルチテナント環境下でのアクセス制御について
daitak
0
380
エンジニア候補者向け資料2024.04.24.pdf
macloud
0
3.3k
Gradle Build Scanを使ってビルドのことを知ろう potatotips #87
tomorrowkey
2
150
Azure犬駆動開発の記録/GlobalAzureFukuoka2024_20240420
nina01
1
230
今日からできる!簡単 .NET 高速化 Tips -2024 edition-
xin9le
7
3.4k
LayerXにおけるLLMプロダクト開発の今までとこれから
layerx
PRO
3
590
プロンプトエンジニアリングでがんばらない-Agentic Workflow へ-近藤憲児
kenjikondobai
6
1.1k
LLM開発・活用の舞台裏@2024.04.25
yushin_n
3
1.1k
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
33
12k
10 Git Anti Patterns You Should be Aware of
lemiorhan
649
58k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
RailsConf 2023
tenderlove
8
550
Designing for humans not robots
tammielis
248
25k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
222
21k
Being A Developer After 40
akosma
66
580k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
41
4.4k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Clear Off the Table
cherdarchuk
85
310k
Navigating Team Friction
lara
179
13k
Transcript
খࢁ݈Ұ(.01FQBCP *OD 'VLVPLBHP UCMTͰ࣮ݱ͍ͨ͠γεςϜͱ (PʹΑΔͦͷ࣮
ϓϦϯγύϧΤϯδχΞ খࢁ݈Ұ!L-P8 ϗεςΟϯάࣄۀ෦ϗεςΟϯάάϧʔϓϚωʔδυΫϥυνʔϜ IUUQTHJUIVCDPNL-P8
ΞδΣϯμ w UCMTʹ͍ͭͯ w ࣮ݱ͍ͨ͠γεςϜUCMTΛ༻͍ͨύΠϓϥΠϯ w ࣮ݱ͍ͨ͠γεςϜUCMTΛத৺ͱͨ͠ΤίγεςϜ w ·ͱΊ ˞۩ମతͳιʔείʔυͳͲͷϦϯΫΛ(JTUʹ·ͱΊ͍ͯ·͢ɻ
IUUQTHJUJPGVLVPLBHPLMPX Ϧετͷ൪߸ͱϚʔΫ͕ϦϯΫ͍ͯ͠·͢ͷͰ͚ٓ͠Ε߹Θͤͯ͝ཡ͍ͩ͘͞ ˞
UCMT w $*ϑϨϯυϦͳσʔλϕʔευΩϡϝϯτੜπʔϧ w IUUQTHJUIVCDPNL-P8UCMT W w $*ϑϨϯυϦϫϯόΠφϦ w
1PTUHSF42- .Z42-ͳͲͷ3%#.4͚ͩͰͳ͘ɺ#JH2VFSZ"NB[PO %ZOBNP%# $MPVE4QBOOFSͱ͍ͬͨσʔλιʔεʹରԠ
UCMTʹΑΔυΩϡϝϯτੜ w ҎԼͷΑ͏ͳઃఆϑΝΠϧʢUCMTZNMʣΛॻ͍ͯίϚϯυΛ࣮ߦ͢ΔͱEPD TDIFNBʹυΩϡϝϯτ͕ੜ͞ΕΔ
UCMTͷυΩϡϝϯτੜͷΈ UCMTZNMͷAETOAʹࢦఆ͞Εͨσʔλιʔε͔ΒεΩʔϚใΛऔಘ UCMTZNMʹ͋ΔίϝϯτใϦϨʔγϣϯใͰεΩʔϚใΛ֦ॆ ͷεΩʔϚใʢͱ&3ਤදهͳͲͷUCMTZNMͷΓͷઃఆใʣͰυΩϡϝϯτ Λग़ྗ w42-JUFͷυΩϡϝϯτʹίϝϯτΛ༩ͨ͠Γɺ#JH2VFSZͷ&3ਤʹϦϨʔγϣϯ Λ༩͢Δ͜ͱՄೳ
UCMTΛ༻͍ͨύΠϓϥΠϯ
UCMTͷΞʔΩςΫνϟ σʔλιʔε͔ΒεΩʔϚใΛऔಘ͢Δ *OQVU wଟ͘ͷσʔλιʔεΛαϙʔτ͍ͯ͠Δ εΩʔϚใΛૢ࡞͢Δ .BOJQVMBUF εΩʔϚใ͔ΒΞτϓοτΛੜ͢Δ 0VUQVU
w.BSLEPXO͚ͩͰͳ͘+40/1MBOU6.-ɺEPUɺ&YFDFMͳͲΛඪ४αϙʔτ
UCMTͷΞʔΩςΫνϟ
ύΠϓϥΠϯ UCMTTDIFNBKTPOUCMT wUCMT+40/ܗࣜͷϑΝΠϧΛೖྗσʔλιʔεͱͯ͠औΓѻ͑ΔʢTDIFNBKTPOʣ wεΩʔϚใ͔Β+40/ܗࣜʢTDIFNBKTPOʣͰग़ྗՄೳ wUCMTͷग़ྗΛUCMTͷೖྗͱͯ͠औΓѻ͑Δɻͦͷࡍʹσʔλͷܽଛͳ͠
ύΠϓϥΠϯ UCMTTDIFNBKTPOUCMT wUCMTͷػೳ͚ͩͰ*OQVUͱ0VUQVUΛͭͳ͛Δ͜ͱ͕Ͱ͖Δ wUCMTͷTDIFNBKTPOΛதؒϑΥʔϚοτͱͨ͠ύΠϓϥΠϯΛߏஙͰ͖Δ wྫʮσʔλϕʔεʹଓͯ͠TDIFNBKTPOΛੜ͢ΔʯͱʮTDIFNBKTPOʢͱ UCMTZNMʣ͔ΒυΩϡϝϯτΛੜ͢Δʯͱ࣮ߦڥΛ wຊ൪%#͔ΒεΩʔϚใΛऔಘ͘͢͠ͳΔ
TDIFNB4DIFNBʢ؆ུԽ7FSʣ ˞
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ߏʹͳΒͳ͍Α͏ʹߏମؒͷؔ࿈ΛΔඞཁ͕͋Δ
˞
.BSTIBM+40/ ߏମΛจࣈྻʹม ˞
TDIFNB4DIFNB+40/TDIFNB4DIFNB wUCMTʹ͓͍ͯ4DIFNB͔ΒTDIFNBKTPO͚ͩͰͳ͘TDIFNBKTPO͔Β4DIFNB σʔλͷܽଛͳ͘ੜͰ͖Δඞཁ͕͋Δ wͦΕͧΕͷߏମʹ6ONBSTIBM+40/Λ༻ҙ͢Δ͚ͩͰ͍͠ w3FQBJS ͱ͍͏ؔΛ༻ҙͯ͠KTPO6ONBSTIBMʢਖ਼֬ʹKTPO%FDPEFS%FDPEFʣ ޙʹใͷ෮چΛ࣮ߦ wͳͥ6ONBSTIBMޙͳͷ͔ͱ͍͏ͱɺݩͷঢ়ଶʹम෮͢ΔͨΊʹεΩʔϚͷใ͕ શͯඞཁ͔ͩΒɻ wʮ4DIFNBͰςʔϒϧ໊ϢχʔΫͰ͋ΔʯʮςʔϒϧͰΧϥϜ໊Ϣχʔ
ΫͰ͋Δʯͱ͍͏%#ಛ༗ͷ੍݅Λ͏·͘׆༻ͯ͠จࣈྻ͔ΒߏମΛಛఆͯ͠ ม ˞ ˞
UCMTΛத৺ͱͨ͠ΤίγεςϜ
׆༻༻్Λ֦͛ΔͨΊͷ֦ுՄೳͳΞʔΩςΫνϟ wUCMTɺ4DIFNBߏମΛத৺ͱͯ͠*OQVUɺ.BOVQJMBUFɺ0VUQVUͷͭʹ͔Ε ͍ͯΔΞʔΩςΫνϟ wUCMTͷ׆༻༻్Λ֦͛Α͏ͱͨ͠߹ɺΞʔΩςΫνϟͷ֤෦͕֦ுɾସ͍͢͠ ͜ͱ͕·͍͠ w֦ுɾସͰ͖ΔͱUCMTΛ࠶ར༻͍ͯ͠Ζ͍Ζͳ͜ͱ͕࣮ݱͰ͖ͦ͏ͩͱߟ͍͑ͯΔ wUCMTΛ࠶ར༻͍ͭͭ͠Ζ͍Ζͳ͜ͱΛ࣮ݱʹUCMTΛத৺ͱͨ͠ΤίγεςϜ
֦ுΞΠσΞྫ w#JH2VFSZͷϝλσʔλͷө wએݴతϚΠάϨʔγϣϯػೳͷ࣮ݱʢSJEHFQPMFTRMEFGͷΑ͏ͳػೳʣ wಛघͳσʔλιʔεͷαϙʔτ ˞
׆༻༻్Λ֦͛ΔͨΊͷ֦ுՄೳͳΞʔΩςΫνϟ w*OQVUTDIFNBKTPOΛੜͰ͖ΕUCMT͕ಡΈࠐΊΔͷͰ༰қʹ֦ுՄೳ w.BOVQJMBUFͱ0VUQVUΛ֦ுɾସ͘͢͢͠ΔͨΊʹUCMT֎෦αϒίϚϯυͱݺ ΜͰ͍ΔػߏΛ࣋ͭ
֎෦αϒίϚϯυ w(JU͕AHJUGPPAΛAHJUGPPAͱαϒίϚϯυͱͯ͠ೝࣝͨ͠ΓɺLVCFUDM͕ALVCFDUM CBSAΛALVCFDUMCBSAͱೝࣝͨ͠Γ͢ΔΞϨ wUCMTͷ֎෦αϒίϚϯυ wAD DPOpH AΦϓγϣϯίϚϯυͷUCMT͕ୣ͏ wUCMT͕ETOઃఆʹج͍ͮͯ*OQVUͷॲཧΛΘΓʹ࣮ߦ͠ɺڥมܦ༝Ͱ TDIFNBKTPOΛαϒίϚϯυʹ͢ wUCMTΛύοέʔδͱͯ͠Έͨͱ͖ɺTDIFNBKTPOΛ4DIFNBʹΞϯγϦΞϥΠζ͢Δ
͕ؔQVCMJDͰఏڙ͞Ε͍ͯΔͷͰɺͦΕΛར༻͢Δ͜ͱՄೳ ˞ ˞
֎෦αϒίϚϯυͷίϚϯυิ wίϚϯυͷิڥॆ࣮ͷͨΊʹඞཁ wUCMTTQGDPCSBͱ͍͏$-*ϑϨʔϜϫʔΫΛ࠾༻͍ͯ͠ΔʢҎԼDPCSBʣ wͦͯ͠DPCSBʹ4IFMM$PNQMFUJPOग़ྗػೳ͕࣮͞Ε͓ͯΓɺUCMT͜ΕΛར༻͠ ͯίϚϯυิػೳΛ࣮ݱ
TQGDPCSBͷ4IFMM$PNQMFUJPOग़ྗػೳ wDPCSBͷϧʔϧʹԊͬͯίϚϯυαϒίϚϯυΛ࡞͍ͬͯΔͱɺ#BTI;TIͳͲͦ ΕͧΕʹରԠ͢ΔิεΫϦϓτΛࣗಈੜͯ͘͠ΕΔͱ͍͏ศརػೳ ˞
৽͍͠4IFMM$PNQMFUJPOͷ࣮ wैདྷʜิػೳΛੜ͢ΔิεΫϦϓτʢ4IFMMʹΑͬͯҟͳΔʣଆͰ࣮ݱ w4IFMMͷछྨ͝ͱͷิεΫϦϓτͰ࣮͢Δඞཁ͕͋ͬͨ w৽ʜิػೳ෦Λ(PଆͰ࣮֤ͯ͠ิεΫϦϓτͦΕΛݺͼग़͢ܗͰ࣮ݱ w۩ମతʹɺӅ͠ίϚϯυͱͯ͠A@@DPNQMFUFAA@@DPNQMFUF/P%FTDAʢσϑΥϧτʣ͕উखʹ࡞͞Εɺ 4IFMM$PNQMFUJPOग़ྗػೳͰग़ྗ͞ΕΔิεΫϦϓτͰɺ͜ΕΒͷӅ͠ίϚϯυΛୟ͍ͯิީิΛग़ ͢Α͏ʹͳ͍ͬͯΔɻ wಈతͳิީิΛ࣮ݱ͘͢͠ͳͬͨ A7BMJE"SHT'VODUJPOA
w#BTI;TI'JTIɺ1PXFS4IFMMͳͲɺෳछྨͷิεΫϦϓτΛ࣮͘͢͠ͳͬ ͨ ˞ ˞
UCMTͰͷ֎෦αϒίϚϯυͷิػೳͷ࣮ wAUCMTGPP<5"#>AͰิ͕ޮ͘ͳΒAUCMTGPP<5"#>AͰಉ͡ิΛޮ͔͍ͤͨ wैདྷʜʮ֎෦αϒίϚϯυͷϦετΞοϓʯʮ֎෦αϒίϚϯυͷิʯΛ֤4IFMMͷ ิεΫϦϓτ͝ͱʹ֦ு͍ͯͨ͠ w֎෦αϒίϚϯυͷิ֎෦αϒίϚϯυͷิؔΛݺͼग़͢Α͏ʹ࣮ w৽ʜADPCSB$PNNBOEAͷA7BMJE"SHT'VODUJPOAΛ(PͰ࣮͢Εྑ͘ͳͬͨ w֎෦αϒίϚϯυͷิAUCMTGPP@@DPNQMFUFAΛPTFYFDͰ࣮ߦ͢Δ͜ͱͰऔ ಘ wͨͩɺࠓͷ࣮ͩͱ֎෦αϒίϚϯυʹA@@DPNQMFUFAίϚϯυΛཁٻ͢Δ͜ͱʹ ͳΔͷͰվળݕ౼த
˞ ˞
·ͱΊ
·ͱΊ wUCMTͰ࣮ݱ͍ͨ͠γεςϜʢύΠϓϥΠϯɺΤίγεςϜʣͱͦΕΛ࣮ݱ͢ΔͨΊʹඞ ཁʹͳͬͯ͘Δཁૉʹ͍ͭͯͲͷΑ͏ʹ࣮͍ͯ͠Δ͔Λհͨ͠ w$ZDMFߏʹͳ͍ͬͯΔߏମΛ੍݅Λར༻ͯ͠+40/ʹՄٯม w$-*ϑϨʔϜϫʔΫͷػೳΛ׆༻ͨ͠֎෦αϒίϚϯυͷίϚϯυิ wϑΟʔυόοΫΛ͓͍ͪͯ͠·͢
5IBOLZPV ࠷৽ͷ࠾༻ใΛνΣοΫˠ !QC@SFDSVJU