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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
puripuri2100
June 08, 2023
Programming
0
640
研究の場においてのRust 製ソフトウェアのバージョン管理について
puripuri2100
June 08, 2023
Tweet
Share
More Decks by puripuri2100
See All by puripuri2100
法律文書の自動解析2024
puripuri2100
0
66
絵文字は構文解析できるのか
puripuri2100
0
97
係り受け解析を用いた法律文書中の略称規定の解析についての報告
puripuri2100
0
3.1k
気胸の胸部CTデータの可視化
puripuri2100
0
310
SATySFiで作成する構文解析器
puripuri2100
0
270
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
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
960
How to stabilize UI tests using XCTest
akkeylab
0
140
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
150
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
1.1k
RailsのValidatesをSwift Macrosで再現してみた
hokuron
0
120
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
150
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
120
Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a NewSQL Database That's Simple to Self-Host on Kubernetes
nnaka2992
0
180
Migration to Signals, Signal Forms, Resource API, and NgRx Signal Store @Angular Days 03/2026 Munich
manfredsteyer
PRO
0
140
Fundamentals of Software Engineering In the Age of AI
therealdanvega
2
290
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記
mkmk884
0
180
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
220
Featured
See All Featured
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
110
Fireside Chat
paigeccino
42
3.8k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
150
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
How to Ace a Technical Interview
jacobian
281
24k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
120
Side Projects
sachag
455
43k
How GitHub (no longer) Works
holman
316
150k
For a Future-Friendly Web
brad_frost
183
10k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
94
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 に全てあります 俺ってどうしたらいいですか状態