Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Rubyで楽して タスクを書きたい!
Search
ahogappa
December 06, 2025
Technology
290
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rubyで楽して タスクを書きたい!
ahogappa
December 06, 2025
More Decks by ahogappa
See All by ahogappa
The Ruby One-Binary Tool, Enhanced with Kompo
ahogappa
1
3.4k
RubyKaigi 2024 followup
ahogappa
0
110
It’s about time to pack Ruby and Ruby scripts in one binary
ahogappa
1
7.4k
Other Decks in Technology
See All in Technology
越境するなら専門用語を使うな高校校歌 / If you wanna cross border, you shouldn't use jargon
vtryo
0
150
[Kiro Meetup #7] Kiro Crew Dive Deep
konippi
0
140
すぐできる衛星通信対応 あとは山奥に行くだけ
tatetate55
0
140
`t*(42&t>>10)`だけで音楽が鳴る、Swiftで実装するBytebeat / iOSDC Japan 2026
yutailang0119
0
130
SREは、MCPとAutopilotをこう使え!
kazumax55
3
940
AI 時代のスタートアップエコシステ厶から考究する技術的負債との向き合い方
m3m0r7
PRO
3
2.5k
2026_devsumi_ozono.pdf
o3
3
550
EventBridge に「合流」はない ― サーバーレスのワークフローを育てるということ / No Join in EventBridge
yusukeshimizu
2
440
C#未経験の僕がAIに読めるコードを書かせるまで
maguroalternative
0
220
Issue 駆動でスペシャリストの意図を届ける、AI 実装のアクセシビリティ向上
thkt
0
130
リアーキテクチャ後の障害ゼロを目指したShadow Testingの取り組み
nihonbuson
PRO
1
170
あけおめLINE 傾向とその対策
nasa9084
0
220
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
320
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.2k
Designing Experiences People Love
moore
143
24k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
240
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
3
4.3k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
530
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
460
How to Talk to Developers About Accessibility
jct
2
550
Transcript
Rubyで楽して タスクを書きたい! ahogappa 北陸Ruby会議01
自己紹介 - 平野 晶(@ahogappa) - ワンバイナリRubyとかゲームエンジンとか作ってます - 最近はlinkerとかELFに興味があります - 新潟からきました
まとめ - とあるgemのためにtaskiというタスクランナーを作ってます - タスク同士の依存関係を記述するのは面倒 - 自動で解決できるようにしたい - 実用的なタスクランナーにするには意外と奥深い
None
これをRubyで書き直す!
実装していくと... タスクの依存関係を 手で書くのがしんどい !!
実装していくと... - 長大な処理なので、分割したくなってくる - 処理全体をタスクという細かい単位で分割していく - 可読性、保守性 - タスクには依存関係が存在する(ようになる) -
その関係を依存関係として手動で書くと管理が大変になる - タスクとタスクの間にタスクを入れたくなる、消したくなる - 安定すればそこまでいじるものではないが... - この機能欲しくなってきたなあ...
なぜ作っているか 依存関係を自動で解決して欲しい !! とClaude Codeの実験したい!
理想のタスクランナー - 依存関係が自動で解決される - 逆順に実行できる - 単一実行が保障される - 並列実行ができる -
エラーハンドリングできる - Graceful Shutdownできる - タスクが動的に決定できる - 実行時に実行すべきタスクが決定できる - 実行前にエラーを検知できる - タスクの循環参照 - 存在しないタスクへの依存 - その他 - タスクのツリー表示 - プログレス表示
理想のタスクランナー - 依存関係が自動で解決される - 逆順に実行できる - 単一実行が保障される - 並列実行ができる -
エラーハンドリングできる - Graceful Shutdownできる - タスクが動的に決定できる - 実行時に実行すべきタスクが決定できる - 実行前にエラーを検知できる - タスクの循環参照 - 存在しないタスクへの依存 - その他 - タスクのツリー表示 - プログレス表示
- exportsで他のタスクで参照できる フィールドを公開 - 他のタスクからはクラスメソッドとして 参照できる - 依存関係は悩んだ末、静的解析で解 決で落ち着いた -
各タスクは他のタスクの結果を使いた い、を書くだけで良い
- interfacesで共通のフィールドを定義 - implでどのタスクが選択されるかを決定 - 具象タスククラスはいつも通りに実装 - 並列実行とトレードオフの関係
まとめ(再掲) - とあるgemのためにtaskiというタスクランナーを作ってます - タスク同士の依存関係を記述するのは面倒 - 自動で解決できるようにしたい - 実用的なタスクランナーにするには意外と奥深い