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
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
830
コードジェネレーターで 効率的な開発をする / 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
内製AIチャットボットで学んだDatadog LLM Observability活用術
mkdev10
0
130
めちゃくちゃ開発するQAエンジニアになって感じたメリットとこれからの課題感
ryuhei0000yamamoto
0
140
visionOS 開発向けの MCP / Skills をつくり続けることで XR の探究と学習を最大化
karad
1
960
楽しく学ぼう!ネットワーク入門
shotashiratori
1
480
形式手法特論:SMT ソルバで解く認可ポリシの静的解析 #kernelvm / Kernel VM Study Tsukuba No3
ytaka23
1
600
Claude Code 2026年 最新アップデート
oikon48
14
11k
20260311 技術SWG活動報告(デジタルアイデンティティ人材育成推進WG Ph2 活動報告会)
oidfj
0
370
ABEMAのバグバウンティの取り組み
kurochan
1
130
Go 1.26 Genericsにおける再帰的型制約 / Recursive Type Constraints in Go 1.26 Generics
ryokotmng
0
140
SLI/SLO 導入で 避けるべきこと3選
yagikota
0
120
身体を持ったパーソナルAIエージェントの 可能性を探る開発
yokomachi
1
130
CyberAgentの生成AI戦略 〜変わるものと変わらないもの〜
katayan
0
280
Featured
See All Featured
Thoughts on Productivity
jonyablonski
75
5.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
320
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
400
KATA
mclloyd
PRO
35
15k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Designing for Timeless Needs
cassininazir
0
170
Designing Powerful Visuals for Engaging Learning
tmiket
0
290
[SF Ruby Conf 2025] Rails X
palkan
2
840
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Statistics for Hackers
jakevdp
799
230k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
75
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ΛͬͯΫϥυͷίϯϙʔω ϯτΛ։ൃͯ͘͠ΕΔؒΛ୳͍ͯ͠·͢ʂ ؾܰʹ͓͔͚͍ͩ͘͞ʕ⊙౪⚆ʔ