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
TypeProf 開発レポート 2026-05 / TypeProf Dev Report 2...
Search
Takumi Shotoku
May 15, 2026
Technology
140
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
TypeProf 開発レポート 2026-05 / TypeProf Dev Report 2026-05
Omotesando.rb #121
https://omotesandorb.connpass.com/event/392749/
Takumi Shotoku
May 15, 2026
More Decks by Takumi Shotoku
See All by Takumi Shotoku
Automatically generating types by running tests
sinsoku
4
19k
滅・サービスクラス🔥 / Destruction Service Class
sinsoku
8
2.9k
テストを書かないためのテスト/ Tests for not writing tests
sinsoku
1
310
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
350
"型"のあるRailsアプリケーション開発 / Typed Rails application development
sinsoku
11
3k
Let's get started with Ruby && Rails Tips
sinsoku
0
500
LTの敷居を下げる / Lower the threshold for LT
sinsoku
2
440
CircleCIの高速化🚀 / CircleCI faster
sinsoku
3
1.5k
Railsアプリと型検査 / Rails app and type checking
sinsoku
5
1.7k
Other Decks in Technology
See All in Technology
GuardrailからGovernanceへ~AIエージェント運用の次の課題~
sbspsy
1
230
なぜ人は自分のプロジェクトを 「なんちゃってアジャイル」と 自嘲するのか
kozotaira
0
260
Amazon EVS で VCF 9.0 / 9.1 のサポート開始まとめ
mtoyoda
0
280
型は壁、Rustでもバグを直すな、表現できなくせよ
nwiizo
12
1.8k
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
8.4k
AIで政治は変わるのか? — 中高生と考えたAI時代の民主主義(東海高校サタデープログラム)
eitarosuda
0
400
NDIAS CTF 2026 問題解説会資料
bata_24
0
180
勉強会企画をアプリで構造化してみた 〜そこで見えた、AIとの付き合い方〜 / I've structured a study group plan using an app.
pauli
0
330
Empower GenAI with Agile - あなたのアジャイルが生成AIのバフになる仕組み
hageyahhoo
1
140
人を動かすのは時間ではなく、納得感 〜新任EMが入社3ヶ月、組織を2回変えた話〜
kakehashi
PRO
3
190
ローカルLLMとLINE Botの組み合わせ その3 / LINE DC Generative AI Meetup #8
you
PRO
0
130
はじめてのWDM
miyukichi_ospf
1
130
Featured
See All Featured
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.6k
The SEO Collaboration Effect
kristinabergwall1
1
500
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
410
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
890
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
320
Test your architecture with Archunit
thirion
1
2.3k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
220
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.6k
30 Presentation Tips
portentint
PRO
1
340
Transcript
TypeProf ։ൃϨϙʔτ 2026-05 Omotesando.rb #121 2026/05/14
ࣗݾհ • ໊લ: ਖ਼ಙ (aka: ਆ) • ॴଐ: גࣜձࣾmov •
GitHub: @sinsoku (ը૾ӈ্) • X: @sinsoku_listy (ը૾ӈԼ) • Omotesando.rb, Asakusa-bashi.rbs 2
We are hiring! 3
ΞδΣϯμ 1. Rubyͷܕք۾ͷ 2. TypeProf ͷհ 3. ։ൃͷਐḿใࠂ 4
! Ruby ʹܕ͕͋Δͱศརͳͷ͔ʁ 5
⭐ ܕͷϝϦοτ • υΩϡϝϯτ • ίʔυδϟϯϓ • ೖྗิ • ܕݕࠪ
ܕͷ͋ΔݴޠʹൺͯRubyͷαϙʔτऑ͍ɻ 6
ʮClaude Code Λ͏ͷͰ ίʔυΛॻ͘ػձ͕গͳ͍ʯ 7
⭐ ܕͷϝϦοτ • υΩϡϝϯτ • ίʔυδϟϯϓ • ೖྗิ • ܕݕࠪ
ܕͷ͋ΔݴޠʹൺͯRubyͷαϙʔτऑ͍ɻ 8
ͦ͏Ͱ͢Ͷ 9
! ܕͷՄೳੑ • AI͕ܕΛ׆༻ͯ͠ਫ਼্͕͕Δ • ܕʹΑΔ࠷దԽͷՄೳੑ • ZJIT, Ruby VM
• Spinel 10
Rubyͷܕք۾ͷπʔϧ 11
ruby RBS TypeProf gem_rbs_collection soutaro Steep rbs-inline shopify Sorbet Tapioca
RubyDex rbs_rails pocke Orthoses ksss rbs-trace sinsoku method-ray dak2 type-guessr riseshia 12
! ͔Βͳ͍ 13
ruby RBS TypeProf gem_rbs_collection soutaro Steep rbs-inline shopify Sorbet Tapioca
RubyDex rbs_rails pocke Orthoses ksss rbs-trace sinsoku method-ray dak2 type-guessr riseshia ⭐ ⭐ 14
RBS RubyͰܕΛѻ͏ͨΊͷϓϩτίϧͰɺ֦ுࢠ *.rbsɻ module ChatApp VERSION: String class User attr_reader
login: String attr_reader email: String def initialize: (login: String, email: String) -# void end end 15
Rubyͷίʔυʹॻ͚ΔʢRBS v4.0ʣ class Calculator # @rbs (Integer, Integer) -" Integer
def add(a, b) = a + b end 16
gem_rbs_collection • gemͷRBSϑΝΠϧΛཧ͢ΔϦϙδτϦ • ίϛϡχςΟʹΑͬͯϝϯς͞Ε͍ͯΔ • gem࡞ऀͱ͕ؔͳ͍ • TypeScriptͷDefinitelyTyped1Έ͍ͨͳͷ 1
https://github.com/DefinitelyTyped/DefinitelyTyped 17
ܕੜ ! / ܕݕࠪ ruby RBS TypeProf gem_rbs_collection soutaro Steep
rbs-inline shopify Sorbet Tapioca RubyDex rbs_rails pocke Orthoses ksss rbs-trace sinsoku method-ray dak2 type-guessr riseshia ⭐ ⭐ ✅ ✅ ✅ ✅ # # # # # 18
TypeProfͱ Rubyͷίʔυ͔ΒܕΛਪ͠ ͯ͘ΕΔπʔϧɻ ࡞ऀRubyίϛολʔͷ Yusuke Endoh(@mame) ͞Μ 19
ϝιουఆٛͷදࣔ 20
ͷݕग़ 21
TypeProf ͷྑ͍ͱ͜Ζ RBSΛॻ͘ඞཁ͕ͳ͍ʂʂ 22
ruby RBS TypeProf gem_rbs_collection soutaro Steep rbs-inline shopify Sorbet Tapioca
RubyDex rbs_rails pocke Orthoses ksss rbs-trace sinsoku method-ray dak2 type-guessr riseshia ⭐ ⭐ ✅ ✅ ✅ ✅ # # # # # 23
ಋೖखॱʢެࣜʣ 1. Gemfile ʹ typeprof ΛՃ͢Δ 2. bundle install Λ࣮ߦ͢Δ
3. bundle exec typeprof -"init 4. VSCode ʹ Ruby TypeProf ΛՃ 24
ಋೖखॱʢඇެࣜʣ 1. Gemfile ʹ ruby-lsp-typeprof ΛՃ͢Δ 2. bundle install Λ࣮ߦ͢Δ
3. bundle exec typeprof -#init ! ಋೖָ͚ͩͲɺެࣜͷVSCode֦ுͷํ͕ଟػೳɻ2 2 ruby-lsp-typeprof ϝιουఆٛͷද͔ࣔ͠Ͱ͖ͳ͍ɻ 25
TypeProf ͷίϯτϦϏϡʔτ RubyKaigi 2025Ҏ߱ʹগͣͭ͠ίϯτϦϏϡʔτ͍ͯ͠Δɻ 26
ओͳ׆ಈ༰ 1. TypeProf Λࢼ͢ͱΤϥʔ͕ग़Δ • bin/typeprof tmp/redmine/app 2. ࠶ݱίʔυΛ࡞Δ 3.
ཧղͰ͖Δൣғͷ࠷খͷύονΛ࡞Δ Claude Code Λͬͯௐࠪɺ࣮Λ͍ͯ͠Δɻ 27
28
29
doc/report_guide.md 30
Omotesando.rb #115 (2025-11-13) • ! v0.31.0 ͷհ • ✅ Redmine
ͷίʔυͰղੳ͕ޭ • # GitLab ͷίʔυͰղੳ͕ࣦഊ • To be continued... 31
2026-05 ͷTypeProf • ଟ͘ͷRailsΞϓϦͰΤϥʔͳ͘ಈ͘ • ύϑΥʔϚϯε͕গ͠ྑ͘ͳͬͨ • ͔͠͠ɺ·͍ͩ ! •
ܕਪͷਫ਼࣮༻తͰͳ͍ • ಛʹRailsΞϓϦͰ untyped ͕ଟ͍ 32
! ฐࣾͷRailsΞϓϦʹࢼݧతʹಋೖ $ time bundle exec typeprof app sig real
5m14.929s user 5m10.690s sys 0m1.814s ղੳରͷϑΝΠϧ 7970 Ͱ͢ɻ 33
! ίʔυͷن $ bin/rails stats +----------------------+--------+--------+---------+---------+-----+-------+ | Name | Lines
| LOC | Classes | Methods | M/C | LOC/M | +----------------------+--------+--------+---------+---------+-----+-------+ | Controllers | 27756 | 22218 | 632 | 2846 | 4 | 5 | | Helpers | 192 | 147 | 1 | 19 | 19 | 5 | | Jobs | 4036 | 3081 | 148 | 248 | 1 | 10 | | Models | 98268 | 67457 | 1701 | 6779 | 3 | 7 | | Mailers | 1200 | 957 | 27 | 100 | 3 | 7 | | Channels | 42 | 33 | 4 | 7 | 1 | 2 | | Views | 583 | 465 | 0 | 0 | 0 | 0 | | JavaScript | 105435 | 96211 | 0 | 40 | 0 | 2403 | | Libraries | 30302 | 24057 | 307 | 1344 | 4 | 15 | +----------------------+--------+--------+---------+---------+-----+-------+ | Total | 267814 | 214626 | 2820 | 11383 | 4 | 16 | +----------------------+--------+--------+---------+---------+-----+-------+ Code LOC: 214626 Test LOC: 0 Code to Test Ratio: 1:0.0 app/ 131,494 lines Ͱɺsig/ rbs_rails ͷࣗಈੜͰ͢ɻ 34
! ܕਪͷਫ਼ # Total methods: 15507 # Fully typed: 5956
# Partially typed: 2504 # Fully untyped: 7047 # # # Overall: 12081/28794 typed (42.0%) # 16713/28794 untyped (58.0%) bundle exec typeprof -"show-stats ͔ΒൈਮͰ͢ɻ 35
·ͱΊ • ܕؔ࿈πʔϧྨΛΔͱཧղ͍͢͠ • RBS ͕ϓϩτίϧ • ܕݕࠪ4ͭ • TypeProf
RailsΞϓϦͰࢼͤΔΑ͏ʹͳ͖ͬͯͨ • ύϑΥʔϚϯεɺܕਪͷਫ਼ࠓޙʹظ 36
! ͓·͚ 37
RubyKaigi 2026 ޙʹwriteݖݶΛ͍͍ͨͩͨ 38
39
! ϦϦʔε͠Α͏ https://github.com/ruby/typeprof/pull/456 40