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
190
研究の再現性を高める 仕組みを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
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
240
コードジェネレーターで 効率的な開発をする / Efficient development with code generators
linyows
0
240
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
370
非コンテナ環境において宣言的Deploymentを手軽に実現する / Declarative deployment in non-container environments
linyows
0
150
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
840
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
380
奥が深いメールのシステム / The depth of Email system
linyows
4
550
IaCにおけるテスト考察 / Tests in IaC
linyows
2
620
リバースエンジニアリングとGoでSlackの認知負荷を下げる / Reducing cognitive load in Slack with Reverse-engineering and Go
linyows
2
370
Other Decks in Technology
See All in Technology
彩の国で始めよう。おっさんエンジニアから共有したい、当たり前のことを当たり前にする技術
otsuki
0
130
watsonx.data上のベクトル・データベース Milvusを見てみよう/20250418-milvus-dojo
mayumihirano
0
110
Recap of Next - Google Cloud で実践する クラウドネイティブ最前線 / The Frontlines of Cloud-Native with Insights from Google Cloud
aoto
PRO
1
100
SDカードフォレンジック
su3158
1
580
Devinで模索する AIファースト開発〜ゼロベースから始めるDevOpsの進化〜
potix2
PRO
7
3.2k
LLM as プロダクト開発のパワードスーツ
layerx
PRO
1
230
Tokyo dbt Meetup #13 dbtと連携するBI製品&機能ざっくり紹介
sagara
0
450
Ops-JAWS_Organizations小ネタ3選.pdf
chunkof
2
140
食べログが挑む!飲食店ネット予約システムで自動テスト無双して手動テストゼロを実現する戦略
hagevvashi
3
410
3月のAWSアップデートを5分間でざっくりと!
kubomasataka
0
110
サーバレス、コンテナ、データベース特化型機能をご紹介。CloudWatch をもっと使いこなそう!
o11yfes2023
0
140
20250411_HCCJP_AdaptiveCloudUpdates.pdf
sdosamut
1
110
Featured
See All Featured
Optimizing for Happiness
mojombo
377
70k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.3k
A better future with KSS
kneath
239
17k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
The Pragmatic Product Professional
lauravandoore
33
6.5k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Product Roadmaps are Hard
iamctodd
PRO
52
11k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Side Projects
sachag
452
42k
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ΛͬͯΫϥυͷίϯϙʔω ϯτΛ։ൃͯ͘͠ΕΔؒΛ୳͍ͯ͠·͢ʂ ؾܰʹ͓͔͚͍ͩ͘͞ʕ⊙౪⚆ʔ