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
研究の場においてのRust 製ソフトウェアのバージョン管理について
Search
puripuri2100
June 08, 2023
Programming
640
0
Share
研究の場においてのRust 製ソフトウェアのバージョン管理について
puripuri2100
June 08, 2023
More Decks by puripuri2100
See All by puripuri2100
法律文書の自動解析2024
puripuri2100
0
66
絵文字は構文解析できるのか
puripuri2100
0
98
係り受け解析を用いた法律文書中の略称規定の解析についての報告
puripuri2100
0
3.2k
気胸の胸部CTデータの可視化
puripuri2100
0
310
SATySFiで作成する構文解析器
puripuri2100
0
280
SATySFiの開発についての要望
puripuri2100
0
450
法律文書の自動解析
puripuri2100
1
950
汎用的なコードフォーマットライブラリの作成
puripuri2100
0
330
ユーザーがカスタマイズできるクラスファイル ―v0.0.x と v0.1.x それぞれでの実装 ―
puripuri2100
0
390
Other Decks in Programming
See All in Programming
存在論的プログラミング: 時間と存在を記述する
koriym
5
730
AI Assistants for YourAngular Solutions @Angular Graz, March 2026
manfredsteyer
PRO
0
130
ロボットのための工場に灯りは要らない
watany
12
3.3k
PHPで TLSのプロトコルを実装してみる
higaki_program
0
680
How to stabilize UI tests using XCTest
akkeylab
0
150
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
1.4k
Nuxt Server Components
wattanx
0
230
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
6
1.1k
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
740
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
110
一度始めたらやめられない開発効率向上術 / Findy あなたのdotfilesを教えて!
k0kubun
3
2.7k
夢の無限スパゲッティ製造機 -実装篇- #phpstudy
o0h
PRO
0
180
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
97
エンジニアに許された特別な時間の終わり
watany
106
240k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Skip the Path - Find Your Career Trail
mkilby
1
93
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
160
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
140
Fireside Chat
paigeccino
42
3.9k
Paper Plane (Part 1)
katiecoart
PRO
0
6.2k
The browser strikes back
jonoalderson
0
860
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
95
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
300
Transcript
研究の場においての Rust 製ソフトウェアの バージョン管理について 筑波大学情報科学類 2 年 puripuri2100 アークエッジ・スペース Rust
勉強会 2023 年 6 月 7 日
1/6 自己紹介 インターネットネーム: puripuri2100
1/6 自己紹介 インターネットネーム: puripuri2100 筑波大学情報科学類 2 年
1/6 自己紹介 インターネットネーム: puripuri2100 筑波大学情報科学類 2 年 SATySFi/Rust/OCaml が好き
1/6 自己紹介 インターネットネーム: puripuri2100 筑波大学情報科学類 2 年 SATySFi/Rust/OCaml が好き ドキュメントの整備・処理
構文解析
1/6 自己紹介 インターネットネーム: puripuri2100 筑波大学情報科学類 2 年 SATySFi/Rust/OCaml が好き ドキュメントの整備・処理
構文解析 筑波大学情報科学類産学間連携推進室という研究室で研究している
1/6 自己紹介 インターネットネーム: puripuri2100 筑波大学情報科学類 2 年 SATySFi/Rust/OCaml が好き ドキュメントの整備・処理
構文解析 筑波大学情報科学類産学間連携推進室という研究室で研究している 「法律文書の自動解析」というテーマ
1/6 自己紹介 インターネットネーム: puripuri2100 筑波大学情報科学類 2 年 SATySFi/Rust/OCaml が好き ドキュメントの整備・処理
構文解析 筑波大学情報科学類産学間連携推進室という研究室で研究している 「法律文書の自動解析」というテーマ 成果を情報処理学会で発表したところ大会奨励賞と学生奨励賞を受賞
2/6 研究の話 法律文書を解析していろいろなデータを抽出する 読替規定分 参照表現 略称の定義
2/6 研究の話 法律文書を解析していろいろなデータを抽出する 読替規定分 参照表現 略称の定義 解析ソフトウェアを多数作っていく上で出てきた要求
2/6 研究の話 法律文書を解析していろいろなデータを抽出する 読替規定分 参照表現 略称の定義 解析ソフトウェアを多数作っていく上で出てきた要求 よく使う機能をライブラリ化(例:数百万の条文を探索)
2/6 研究の話 法律文書を解析していろいろなデータを抽出する 読替規定分 参照表現 略称の定義 解析ソフトウェアを多数作っていく上で出てきた要求 よく使う機能をライブラリ化(例:数百万の条文を探索) 他の解析ソフトウェアでの解析結果を利用したい
2/6 研究の話 法律文書を解析していろいろなデータを抽出する 読替規定分 参照表現 略称の定義 解析ソフトウェアを多数作っていく上で出てきた要求 よく使う機能をライブラリ化(例:数百万の条文を探索) 他の解析ソフトウェアでの解析結果を利用したい 論文化して再現実験できるようにするには解析ソフトウェアごとに独立して
管理する必要がある
2/6 研究の話 法律文書を解析していろいろなデータを抽出する 読替規定分 参照表現 略称の定義 解析ソフトウェアを多数作っていく上で出てきた要求 よく使う機能をライブラリ化(例:数百万の条文を探索) 他の解析ソフトウェアでの解析結果を利用したい 論文化して再現実験できるようにするには解析ソフトウェアごとに独立して
管理する必要がある なぜ Rust
2/6 研究の話 法律文書を解析していろいろなデータを抽出する 読替規定分 参照表現 略称の定義 解析ソフトウェアを多数作っていく上で出てきた要求 よく使う機能をライブラリ化(例:数百万の条文を探索) 他の解析ソフトウェアでの解析結果を利用したい 論文化して再現実験できるようにするには解析ソフトウェアごとに独立して
管理する必要がある なぜ Rust cargo・ tokio・ serde・ anyhow があるから
3/6 依存関係のグラフ 法令データ 法令解析用ライブラリ lib.rs 判例データ 解析ソフトウェアA main.rs 解析ソフトウェアB lib.rs
main.rs 解析ソフトウェアC main.rs 解析ソフトウェアD lib.rs main.rs 解析ソフトウェアE main.rs JSON JSON
4/6 ところで 頻繁に各ライブラリが更新される 解析手法のアップデート 新しい解析手法のための新しい関数追加 実験のサイクルを高速に回すにはリリース作業は邪魔 どうする? 法令データ 法令解析用ライブラリ lib.rs
判例データ 解析ソフトウェアA main.rs 解析ソフトウェアB lib.rs main.rs 解析ソフトウェアC main.rs 解析ソフトウェアD lib.rs main.rs 解析ソフトウェアE main.rs JSON JSON
5/6 現在の依存関係の管理 リポジトリと commit タグを指定 jplaw_text = { git="https://github.com/japanese-law-analysis/ jplaw_text.git",
rev="f98b48e" }
5/6 現在の依存関係の管理 リポジトリと commit タグを指定 jplaw_text = { git="https://github.com/japanese-law-analysis/ jplaw_text.git",
rev="f98b48e" } メリット
5/6 現在の依存関係の管理 リポジトリと commit タグを指定 jplaw_text = { git="https://github.com/japanese-law-analysis/ jplaw_text.git",
rev="f98b48e" } メリット 実験を気軽に回せる
5/6 現在の依存関係の管理 リポジトリと commit タグを指定 jplaw_text = { git="https://github.com/japanese-law-analysis/ jplaw_text.git",
rev="f98b48e" } メリット 実験を気軽に回せる 「適切な設計」で時間を浪費しないで済む
5/6 現在の依存関係の管理 リポジトリと commit タグを指定 jplaw_text = { git="https://github.com/japanese-law-analysis/ jplaw_text.git",
rev="f98b48e" } メリット 実験を気軽に回せる 「適切な設計」で時間を浪費しないで済む うまくいったらたまにリリースすれば良い
5/6 現在の依存関係の管理 リポジトリと commit タグを指定 jplaw_text = { git="https://github.com/japanese-law-analysis/ jplaw_text.git",
rev="f98b48e" } メリット 実験を気軽に回せる 「適切な設計」で時間を浪費しないで済む うまくいったらたまにリリースすれば良い デメリット
5/6 現在の依存関係の管理 リポジトリと commit タグを指定 jplaw_text = { git="https://github.com/japanese-law-analysis/ jplaw_text.git",
rev="f98b48e" } メリット 実験を気軽に回せる 「適切な設計」で時間を浪費しないで済む うまくいったらたまにリリースすれば良い デメリット たまに破壊される 同じ構造体を使っているつもりでも互換性が無いことがある
5/6 現在の依存関係の管理 リポジトリと commit タグを指定 jplaw_text = { git="https://github.com/japanese-law-analysis/ jplaw_text.git",
rev="f98b48e" } メリット 実験を気軽に回せる 「適切な設計」で時間を浪費しないで済む うまくいったらたまにリリースすれば良い デメリット たまに破壊される 同じ構造体を使っているつもりでも互換性が無いことがある パッケージマネージャの恩恵が半減(submodule 時代へ逆戻り)
6/6 まとめ 研究で作るソフトウェア群の管理が難しい 実験のしやすさ 他の人にとっての再現のしやすさ 互換性の維持
6/6 まとめ 研究で作るソフトウェア群の管理が難しい 実験のしやすさ 他の人にとっての再現のしやすさ 互換性の維持 モノは https://github.com/japanese-law-analysis に全てあります
6/6 まとめ 研究で作るソフトウェア群の管理が難しい 実験のしやすさ 他の人にとっての再現のしやすさ 互換性の維持 モノは https://github.com/japanese-law-analysis に全てあります 俺ってどうしたらいいですか状態