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
5
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Masafumi Okura
July 29, 2023
Technology
290
0
Share
5
TokyuRuby会議14
https://tokyurubykaigi.github.io/tokyu14/
Masafumi Okura
July 29, 2023
More Decks by Masafumi Okura
See All by Masafumi Okura
Metaprogramming isn't real, it can't hurt you
okuramasafumi
0
140
Developing static sites with Ruby
okuramasafumi
1
410
Why doesn't Ruby have Boolean class - final version
okuramasafumi
0
390
Reading Rails 1.0 Source Code
okuramasafumi
0
360
RDoc meets YARD
okuramasafumi
4
220
Why doesn't Ruby have Boolean class?
okuramasafumi
0
44
My KaigiEffect at RubyKaigi 2025, part 1
okuramasafumi
1
100
Writing documentation can be fun with plugin system
okuramasafumi
0
260
Alba: Why, How and What's So Interesting
okuramasafumi
0
500
Other Decks in Technology
See All in Technology
AIにより大幅に強化された AWS Transform Customを触ってみる
0air
0
260
来期の評価で変えようと思っていること 〜AI時代に変わること・変わらないこと〜
estie
0
130
Navigation APIと見るSvelteKitのWeb標準志向
yamanoku
2
140
VSCode中心だった自分がターミナル沼に入門した話
sanogemaru
0
880
QA組織のAI戦略とAIテスト設計システムAITASの実践
sansantech
PRO
1
300
第26回FA設備技術勉強会 - Claude/Claude_codeでデータ分析 -
happysamurai294
0
310
制約を設計する - 非決定性との境界線 / Designing constraints
soudai
PRO
3
250
Bref でサービスを運用している話
sgash708
0
220
OCI技術資料 : 証明書サービス概要
ocise
1
7.2k
GitHub Actions侵害 — 相次ぐ事例を振り返り、次なる脅威に備える
flatt_security
12
7.2k
15年メンテしてきたdotfilesから開発トレンドを振り返る 2011 - 2026
giginet
PRO
2
260
ThetaOS - A Mythical Machine comes Alive
aslander
0
230
Featured
See All Featured
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
200
GitHub's CSS Performance
jonrohan
1032
470k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
230
How GitHub (no longer) Works
holman
316
150k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
53k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
How STYLIGHT went responsive
nonsquared
100
6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Transcript
Neovim, LSP, Ruby TokyuRubyձٞ14 OKURA Masafumi, 2023-07-29
ࣗݾհ • ໊લɿେխ࢙ • ॴଐɿϑϦʔϥϯε • Vimྺɿ10ʢRubyྺͱಉ͡ʂʣ • ͖ͳVimͷίϚϯυɿuʢΞϯυΡʣ
Neovim
TreeSitter
JSONͰఆٛ͞Ε ͨύʔαʔ
ΑΓྑ͍ ϋΠϥΠτͳͲ
Ruby
ඍົʹյΕ͍ͯΔ
additional_vim_regex_highlightin g = { "ruby", "vim" }
VimΈࠐΈͷ SyntaxΛ༗ޮԽ
Ͱ͖Εͨ͘͠ͳ ͍…
ੈ·͞ʹ ”େύʔαʔ࣌” * https://yui-knk.hatenablog.com/entry/2023/05/23/191049
TreeSitterͷRuby ରԠΛվળͯ͘͠ ΕΔਓɺٻΉʂ
1
͝ਗ਼ௌ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ʂ
ωϧυϦοϓͰᔸΕΔ࠷ߴͷ ᘖᘣ TokyuRubyձٞ14 OKURA Masafumi, 2023-07-29
ࣗݾհ • ໊લɿେխ࢙ • ॴଐɿϑϦʔϥϯε • ͖ͳᘖᘣ౾ͷḦΓํɿϑϨϯνϩʔετ • ͖ͳ٤ళɿೣ೬ࣷ
ᘖᘣͷᔸΕํ
ϖʔύʔυϦοϓ • ϝϦοτ • ָʢಛʹܕ͚ย͚ʣ • நग़ํ๏ΛͰ͖Δ • σϝϦοτ •
ຯ͕୶ധʹͳΓ͕ͪʢϖʔύʔ͕ΦΠϧΛٵ͏ͷͰʣ • ϑΟϧλʔͷิॆ͕ඞཁ
ϑϨϯνϓϨε • ϝϦοτ • ؆୯ͰᔸΕ͍͢ • ΦΠϧ͕๛ͰίΫ͕͋Δ • σϝϦοτ •
ث۩ͷআ͕େม • คͬΆ͘ͳΔ • ࡉ͔͍ௐઅۤख
ωϧυϦοϓ • ϝϦοτ • ΦΠϧ͕దʹग़͍ͯΔ • நग़ํ๏ΛͰ͖Δ • σϝϦοτ •
ث۩ʢϑΟϧλʔʣͷ͓खೖΕ͕໘
ωϧυϦοϓ͕ Ұ൪ඒຯ͍͠ ͱࢥ͏
2
͝ਗ਼ௌ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ʂ
ActiveSupportͷIn fl ectorʹ ͍ͭͯ TokyuRubyձٞ14 OKURA Masafumi, 2023-07-29
ࣗݾհ • ໊લɿେխ࢙ • ॴଐɿϑϦʔϥϯε • ͖ͳActiveSupportͷΫϥεɿIn fl ector •
ਪ͠Railsίϛολʔɿbyroot
In fl ector
୯ܗͱෳܗΛ มͨ͠Γ͢Δ
camelize
underscore
ٯͷಈ͖Λ͢Δ
ҙ
camelize(underscore('SSLError')) # => "SslError"
3
͝ਗ਼ௌʢུʣ
Kaigi on Rails CFPͷ͓Βͤ TokyuRubyձٞ14 OKURA Masafumi, 2023-07-29
ࣗݾհ • ໊લɿେխ࢙ • ॴଐɿϑϦʔϥϯε • ՝֎׆ಈɿKaigi on RailsͷӡӦ •
ߦͬͯΈ͍ͨΧϯϑΝϨϯεɿEuruko
Kaigi on Rails
Call for Papers (Proposals)
7݄31·Ͱʂ
https:// okuramasafumi.hate nablog.jp/entry/ 2023/07/12/182236
ϓϩϙʔβϧΛ ௨͢ςΫχοΫ
1. Ξϐʔϧ͢Δϙ ΠϯτΛ໌֬ʹ͢ Δ
2. ௌऺΛ໌֬Խ͢ Δ
3. ྔΛॻ͘
ຊฤ
10݄27,28
ઙڮ ώϡʔϦοΫϗʔϧ& ΧϯϑΝϨϯε
4
͝ਗ਼ௌʢུʣ
RubyͰϋϩʔϫʔϧυ͢Δ 31൪ͷํ๏ TokyuRubyձٞ14 OKURA Masafumi, 2023-07-29
ࣗݾհ • ໊લɿେխ࢙ • ॴଐɿϑϦʔϥϯε • ͖ͳRubyͷϝιουɿinstance_eval • ͖ͳgemɿAlbaʢࣗ࡞ࣗԋʣ
Ruby30प Πϕϯτ
ʮRubyͰϋϩʔϫʔϧυ͢ Δ30ͷํ๏ʯ
31൪ͷํ๏
TokyuRubyձٞ
%W(T H o e k l y l u o
R , u \u0020 b w y o K r a l i d g ! i).select.with_index {|s, i| i.odd? }.join
Hello, world!
TokyuRubyKaigi
5
͝ਗ਼ௌ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ʂ