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
研究の再現性を高める 仕組みをGoでつくる / Creating a system to im...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
linyows
October 23, 2024
Technology
1
340
研究の再現性を高める 仕組みをGoでつくる / Creating a system to improve the reproducibility of research using go
Oct 23, 2024 Fukuoka.go#20 での発表資料です。
linyows
October 23, 2024
Tweet
Share
More Decks by linyows
See All by linyows
Protocol Buffersの型を超えて拡張性を得る / Beyond Protocol Buffers Types Achieving Extensibility
linyows
0
210
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
840
コードジェネレーターで 効率的な開発をする / Efficient development with code generators
linyows
0
430
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
610
非コンテナ環境において宣言的Deploymentを手軽に実現する / Declarative deployment in non-container environments
linyows
1
520
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
1.1k
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
610
奥が深いメールのシステム / The depth of Email system
linyows
4
770
IaCにおけるテスト考察 / Tests in IaC
linyows
2
910
Other Decks in Technology
See All in Technology
AlloyDB 奮闘記
hatappi
0
200
Phase03_ドキュメント管理
overflowinc
0
2.2k
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
4
13k
中央集権型を脱却した話 分散型をやめて、連邦型にたどり着くまで
sansantech
PRO
1
290
スケールアップ企業でQA組織が機能し続けるための組織設計と仕組み〜ボトムアップとトップダウンを両輪としたアプローチ〜
tarappo
4
340
1GB RAMのラズピッピで何ができるのか試してみよう / 20260319-rpijam-1gb-rpi-whats-possible
akkiesoft
0
840
Agent Skill 是什麼?對軟體產業帶來的變化
appleboy
0
210
事例から紐解くSHIFT流QA支援 ~大規模プロジェクトの品質管理支援、QA組織立ち上げ~ / 20260320 Nozomu Koketsu
shift_evolve
PRO
0
130
ThetaOS - A Mythical Machine comes Alive
aslander
0
140
Phase10_組織浸透_データ活用
overflowinc
0
1.4k
スピンアウト講座06_認証系(API-OAuth-MCP)入門
overflowinc
0
980
Tebiki Engineering Team Deck
tebiki
0
27k
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
72
12k
My Coaching Mixtape
mlcsv
0
84
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
240
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Designing Experiences People Love
moore
143
24k
The Curious Case for Waylosing
cassininazir
0
270
Docker and Python
trallard
47
3.8k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Designing Powerful Visuals for Engaging Learning
tmiket
0
290
Accessibility Awareness
sabderemane
0
84
Transcript
Fukuoka.go #20 Tomohisa Oda / Oct 23, 2024 ݚڀͷ࠶ݱੑΛߴΊΔ ΈΛ(PͰͭ͘Δ
Fukuoka.go #20 @linyows Blog: tomohisaoda.com Affiliation: Sakura internet, Inc. ɹɹɹɹɹɹCognano,
Inc.
Fukuoka.go #20 ๏ ݚڀͰϝʔϧૹ৴ʹ͓͚ΔूͱϝʔϧΩϡʔ͕ू͞ΕΔ͜ͱͰΛճආ͢ΔͨΊ ʹಁաܕ4.51ϓϩΩγΛఏҊ͍ͯ͠Δ ๏ ಁաܕ4.51ϓϩΩγͷੑೳධՁͷͨΊʹطଘख๏Ͱ͋Δ1PTU fi YΛ͍͔ͬͯͭ͘ͷൺֱ ࣮ݧΛߦ͍ͬͯΔ
๏ ࣮ݧͰɺͷ࠶ݱɺϝʔϧϨΠςϯγʔϦιʔεফඅੳͳͲΛߦ͍ͬͯΔ ๏ ֶज़ݚڀʹ͓͍ͯ࠶ݱੑ৴པੑಁ໌ੑͷͨΊʹͱͯॏཁɺͱ͍͏ͷࣗ໌͕ͩखܰ ʹͲ͏͢Ε͍͍ͱ͍͏ͷͳ͍ ๏ ಛʹใֶ͋Δ͍ιϑτΣΞֶ࣮ݧՊֶʹൺͯ࠶ݱੑΛ୲อ͍͢͠ ͡Ίʹ
Fukuoka.go #20 ιϑτΤΞͷ࣮ݧΛ୭Ͱ࠶ݱͰ͖ΔΑ͏ʹ͍ͨ͠
Fukuoka.go #20 ๏ Ұ࿈ͷ࣮ݧΛϫʔΫϑϩʔͱఆٛ͢Δ ๏ ྫ͑ZBNMͳͲਓ͕ಡΈ͍͢ܗࣜͰϫʔΫϑϩʔΛϑΝΠϧʹ هड़͢Δʢόʔδϣϯཧʣ ๏ ͦͷఆٛϑΝΠϧ͔ΒϫʔΫϑϩʔͷ࣮ߦ͕؆୯ʹߦ͑Δʢ࣮ݧ ͷͨΊͷڥߏஙείʔϓ֎ʣ
๏ ϓϩάϥϛϯάݴޠͰ֦ு͕Ͱ͖ɺൺֱతʹϝϯςָ͕ ཁ݅
Fukuoka.go #20 ๏ (/6.BLF 5BTL fi MFλεΫ࣮ߦܥ ίϚϯυґଘ͔ͭਖ਼͘͠ಈ͘อূ͕ͳ͍ ๏ /O
.BLF FYJOUFHSPNBU ϫʔΫϑϩʔࣗಈԽ4BB4ܥ ఆٛϑΝΠϧͷΤΫεϙʔτͰ͖Δ͕αʔϏεґଘͰෑډ͕ߴ͍ ๏ "OTJCMF*B$ܥ ࣮ݧڥͷߏஙʹඞཁ͕࣮ͩݧͷ༰Λఆٛ͢Δʹείʔϓ͕ҟͳΔ ๏ (SBEMF "QBDIF"OU "QBDIF.BWFOϏϧυܥ ఆٛϑΝΠϧ͕9.-ͩͬͨΓ͢Δɺͦͯ͠KBWBWBʜ طଘπʔϧͷௐࠪ
Fukuoka.go #20 ๏ "SUJMMFSZ (BUMJOH "QBDIF+.BUFSෛՙςετܥ +BWBͰهड़ͨ͠γφϦΦͷ࣮ߦͰ͖Δ ๏ "QBDIF"JS fl
PXσʔλύΠϓϥΠϯܥ ෳͷίϯϙʔωϯτ͕ඞཁͰखؒͩ͠తͱҟͳΔ ๏ +FOLJOT$*$%ܥ ͜ΕఆϢʔεέʔε͕ҟͳΔ ๏ 1PTUNBO *OTPNOJB 3VOOγφϦΦςετܥ લ̎ͭ+4Ͱهड़͢Δඞཁ͕͋Δ͕ɺSVOOZBNMͰهड़Ͱ͖ͯҰ൪༗ྗ طଘπʔϧͷௐࠪ
Fukuoka.go #20 ͦͦʜ طଘͷϫʔΫϑϩʔࣗಈԽπʔϧ܈Ͱϝʔϧૹ৴Λఆͯ͠ ͍Δͷ͕ͳ͍ 😭
Fukuoka.go #20 ๏ ҟͳΔૹ৴ݩɺҟͳΔૹ৴ઌʹରͯ͠ಉ࣌ʹϝʔϧΛ܁Γฦ ͠ૹ৴͢Δ ๏ ड৴ͨ͠ϝʔϧͷϔομʔΛύʔεͯ͠ϨΠςϯγʔΛूܭ ͢Δ ͲΜͳ࣮ݧΛ͍ͯ͠Δͷ͔
Fukuoka.go #20 'JHVSF
Fukuoka.go #20 ๏ ϫʔΫϑϩʔࣗಈԽπʔϧͰͷ࣮ݧఘΊɺ(PͰ࣮ݧΛ TDSJQUͱͯ͠هड़ͯ͠ݚڀਐΊͨ ๏ ݚڀͷՌ݄ͷ*054Ͱൃද༧ఆ ๏ ҰํͰɺͦͷίʔυΛݟͯԿΛ͍ͬͯΔͷ͔Λ͙͢ʹཧղ Ͱ͖Δͷ(PQIFSͷΈͩΖ͏ʜ
ͦ͏͜͏͍ͯ͠Δ͏ͪʹకΊΓ͕ʜ
Fukuoka.go #20 ιϑτΤΞͷ࣮ݧΛ୭Ͱ࠶ݱͰ͖ΔΑ͏ʹ͢Δʂ
Fukuoka.go #20 ๏ ͢Ͱʹ͋ΔϓϩμΫτʹίϛοτ͢Δͷ͍͍͕ࣗͷཁ݅ Λຬͨͨ͢Ίʹझຯͱͯࣗ͠Ͱ࡞Δͷͩ ๏ ࣗͷ෦ͷେ͖͞ʹͽͬͨΓ߹͏୨Λ࡞ΔΑ͏ͳͷ ๏ ͱ͍͏͜ͱͰϫʔΫϑϩʔࣗಈԽπʔϧΛ࡞Γ࢝Ίͨ ͳ͚Ε࡞Ζ͏ɺ͋ͬͯ࡞Ζ͏
Fukuoka.go #20 ๏ Ұ࿈ͷ࣮ݧΛϫʔΫϑϩʔͱఆٛ͢Δ ๏ ྫ͑ZBNMͳͲਓ͕ಡΈ͍͢ܗࣜͰϫʔΫϑϩʔΛϑΝΠϧʹ هड़͢Δʢόʔδϣϯཧʣ ๏ ͦͷఆٛϑΝΠϧ͔ΒϫʔΫϑϩʔͷ࣮ߦ͕؆୯ʹߦ͑Δʢ࣮ݧ ͷͨΊͷڥߏஙείʔϓ֎ʣ
๏ ϓϩάϥϛϯάݴޠͰ֦ு͕Ͱ͖ɺൺֱతʹϝϯςָ͕ ཁ݅ʢ࠶ܝʣ ίί͕ॏཁ
Fukuoka.go #20 ๏ (PͰϓϥάΠϯԽ͢ΔʹͲ͏͖͔͢ͷߟΛࡢͷ(P$POJO,ZPUPͰൃදͨ͠ ๏ ඪ४ͷQMVHJOύοέʔδΛ͏ͱɺຊମͱϓϥάΠϯΛಉ͡πʔϧνΣΠϯͰϏϧυ ͠ͳ͚ΕͳΒͳ͍ ๏ ͭ·Γ$(0Λ༗ޮʹ͠HDDͷόʔδϣϯؾʹ͢Δඞཁ͕͋Δ ๏
ຊମͱϓϥάΠϯΛࣗલͰཧ͢ΔલఏͰͳ͍ͱݫ͍͠ ๏ ࠓճ31$ʹΑΔϓϥάΠϯػߏͰ͋ΔIBTIJDPSQHPQMVHJOΛ༻͢Δ ๏ ཧతʹQSPUPCVGΛͬͯଞͷݴޠͰϓϥάΠϯΛ࣮͢Δ͜ͱͰ͖ΔͩΖ͏ ֦ுੑͷ࣮ݱ
Fukuoka.go #20 'JHVSF
Fukuoka.go #20 ๏ ϫʔΫϑϩʔʹ͓͚Δશͯͷ࣮ߦΛϓϥάΠϯଆͰߦ͏ఆ ๏ ͦͷ࣮ߦͷ͜ͱΛ"DUJPOTͱఆٛ͢Δ ๏ "DUJPOT)551ɺ4.51*."1ɺ(31$ɺ4IFMMɺ44)ͳͲ৭ʑ ߟ͑ΒΕΔ ๏
ͦ͏͢Δͱ"DUJPOT͕ϓϥάΠϯΠϯλʔϑΣʔεΛ௨ͯ͠ཁٻ͢ Δใ༷ʑͰ͋Γɺ༷ʑͰ͋Δʢड͚ೖΕΒΕͳ͍ͷͰճʣ ຊମͱϓϥάΠϯؒͷใ
Fukuoka.go #20 ܕ͕ఆ·Βͳ͍1SPUPCVGͷఆٛͲ͏͢Δ
Fukuoka.go #20 ๏ ຊମͱϓϥάΠϯؒͰNBQ<TUSJOH>BOZͰेͩΖ͏ͱߟ͍͕͑ͯͨQSPUPCVGʹͦΜͳܕͳ͔ͬͨ ๏ HPPHMFQSPUPCVG"OZ͋Δ͍HPPHMFQSPUPCVG4USVDUΛJNQPSU͢ΕBOZܕΛ͏͜ͱͰ͖Δ ๏ લऀϓϦϛςΟϒͳܕΛϥοϓͨ͠ϝοηʔδΛఆٛ͠γϦΞϥΠζ͢ΔͨΊૹड৴Ͱ.BSTIBM 6ONBSTIBM͕ඞཁ ๏
ޙऀఆٛෆཁ͕ͩಉ༷ʹߏମͰγϦΞϥΠζ͢ΔͷͰૹड৴Ͱม͕ඞཁ ๏ ܕΛ໌ࣔతʹ͢ΔલऀΛ͍͍͕ͨɺωετ͢ΔNBQ<TUSJOH>BOZΛදݱͰ͖ͳ͍ ๏ ͱ͍͑ޙऀ<>CZUFܕͷ··ૹΕͳ͍ͷͰ෦ͰCBTFʹΤϯίʔυ͞ΕΔ͕ड৴ଆͰࣗલͰσ ίʔυ͢Δඞཁ͕͋Γͦ͏Ͱటष͍ QSPUPCVGʹ͓͚ΔNBQ<TUSJOH>BOZͷ՝
Fukuoka.go #20 'JHVSF
Fukuoka.go #20 ๏ ͋Β͔͡Ίܕ͕Θ͔Βͳ͍ ͷ͔ͩΒ͍ͬͦͷ͜ͱ NBQ<TUSJOH>BOZΛKTPOʹ ͯ͠͠·͏ ๏ KTPOΛTUSVDUQC4USVDUʹ͠ ͯड͚͠Λ͢Δ
๏ αʔόʔଆͰ TUSVDUQC4USVDUΛKTPOʹ͠ ͯNBQ<TUSJOH>BOZʹ͢ QSPUPKTPOΛ͏ͱ͍͏ΞΠσΞ
Fukuoka.go #20 ๏ IUUQTHJUIVCDPNMJOZPXTQSPCFͱΓ͋͑ͣެ։͍ͯ͠Δ ๏ ϫʔΫϑϩʔ<>8PSL fl PX<>+PC<>4UFQͱ͍͏ߏ ๏ 4UFQϓϥάΠϯͰ͋Δ"DUJPOTΛAVTFTAΩʔϫʔυͰࢦఆ͢Δ
๏ Πϝʔδ(JUIVC"DUJPOTʹ͍ۙ ๏ "DUJPOTAXJUIAΩʔϫʔυΛͬͯใΛಘΔʢίί͕ઌ΄Ͳͷ KTPOʹͳΔʣ ϫʔΫϑϩʔࣗಈԽπʔϧ1SPCF
Fukuoka.go #20 ઌ΄Ͳͷ࣮ݧ͕͜ͷΑ͏ͳఆٛͰ࠶ݱͰ͖Δʢ·ͩಈ͔ͳ͍ʣ
Fukuoka.go #20
Fukuoka.go #20 'JHVSF
Fukuoka.go #20 'JHVSF IUUQBDUJPOTΛͬͨఆٛɻ ͪ͜ΒҰԠಈ͘ɻ
Fukuoka.go #20 ๏ ࣮͖͢͜ͱ͕Γͩ͘͞Μ͗͢Δ͕ɺࠓܞΘ͍ͬͯΔϓ ϩδΣΫτͰ͏ͱ͍͏ϞνϕʔγϣϯͰؤுΔ ๏ ݁Ռͷग़ྗ͕ૉ͗͢ΔͷͰϦονʹ͍ͨ͠ ๏ 4UFQͷ࠶ར༻ੑ ΞΠσΞͱͯ͠ZBNMͷΤΠϦΞεΛ͏
ෳͷXPSL fl PXͷ߹ҰͭͷZBNMͱͯ݁͠߹͢Δ ࠓޙͷ՝
Fukuoka.go #20 ๏ ݚڀͷ࠶ݱੑΛखܰʹ࣮ݱ͍ͨ͠ͱࢥ͕ͬͨطଘιϑτΣΞͰ༰қͰͳ ͔ͬͨ ๏ ͍ΖΜͳݚڀ͕͋ΔͷͰશͯΛຬͨ͢ιϑτΣΞ͋Β͔͡ΊఏڙͰ͖ͳ͍ ๏ ͦͷͨΊ֦ுੑͷߴ͍ιϑτΣΞΛΦʔϧϓϥάΠϯԽͰࣗ࡞͢Δ͜ͱʹͨ͠ ๏
ຊମͱϓϥάΠϯHSQDͰ௨৴͠ɺ͋Β͔͡Ίܕ͕ෆ໌ͳ༷ΛKTPOΛ͏͜ ͱͰղܾͨ͠ ๏ ػೳ͕શવΓͯͳ͍ͷͰॆ࣮͍ͤͯ͘͞ ·ͱΊ
Fukuoka.go #20 ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ ͘͞ΒΠϯλʔωοτͰ 𝝣 (0ΛͬͯΫϥυͷίϯϙʔω ϯτΛ։ൃͯ͘͠ΕΔؒΛ୳͍ͯ͠·͢ʂ ؾܰʹ͓͔͚͍ͩ͘͞ʕ⊙౪⚆ʔ