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
200
研究の再現性を高める 仕組みを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
250
コードジェネレーターで 効率的な開発をする / Efficient development with code generators
linyows
0
250
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
380
非コンテナ環境において宣言的Deploymentを手軽に実現する / Declarative deployment in non-container environments
linyows
0
150
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
870
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
390
奥が深いメールのシステム / The depth of Email system
linyows
4
550
IaCにおけるテスト考察 / Tests in IaC
linyows
2
630
リバースエンジニアリングとGoでSlackの認知負荷を下げる / Reducing cognitive load in Slack with Reverse-engineering and Go
linyows
2
380
Other Decks in Technology
See All in Technology
DjangoCon Europe 2025 Keynote - Django for Data Science
wsvincent
0
350
Compose におけるパスワード自動入力とパスワード保存
tonionagauzzi
0
170
Goの組織でバックエンドTypeScriptを採用してどうだったか / How was adopting backend TypeScript in a Golang company
kaminashi
12
9k
AZ 名とAZ ID の違いを 何度でも言うよ
miu_crescent
PRO
0
110
MySQL Indexes and Histograms – How they really speed up your queries
lefred
0
140
SREからゼロイチプロダクト開発へ ー越境する打席の立ち方と期待への応え方ー / Product Engineering Night #8
itkq
2
1.1k
AWS全冠芸人が見た世界 ~資格取得より大切なこと~
masakiokuda
6
6.5k
MCPを理解する
yudai00
12
8.5k
OPENLOGI Company Profile for engineer
hr01
1
25k
Simplify! 10 ways to reduce complexity in software development
ufried
1
160
OpenLane-V2ベンチマークと代表的な手法
kzykmyzw
0
140
意思決定を支える検索体験を目指してやってきたこと
hinatades
PRO
0
370
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Documentation Writing (for coders)
carmenintech
69
4.7k
Typedesign – Prime Four
hannesfritz
41
2.6k
Building Adaptive Systems
keathley
41
2.5k
Code Review Best Practice
trishagee
67
18k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
590
StorybookのUI Testing Handbookを読んだ
zakiyama
29
5.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Why Our Code Smells
bkeepers
PRO
336
57k
Building Applications with DynamoDB
mza
94
6.4k
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ΛͬͯΫϥυͷίϯϙʔω ϯτΛ։ൃͯ͘͠ΕΔؒΛ୳͍ͯ͠·͢ʂ ؾܰʹ͓͔͚͍ͩ͘͞ʕ⊙౪⚆ʔ