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
リリースして 6 年経つ Gem にどう手を入れるか
Search
Kenta Okamoto
September 13, 2019
Programming
0
440
リリースして 6 年経つ Gem にどう手を入れるか
「第一回 Ruby で LT しちゃわナイト」で発表したスライドです。
Kenta Okamoto
September 13, 2019
Tweet
Share
More Decks by Kenta Okamoto
See All by Kenta Okamoto
Electron で Evernote クライアントを作ってみた
chocoby
5
2.4k
ErgoDox を買った話
chocoby
0
910
デザイナーのための tmux 超入門
chocoby
7
10k
おすすめ gem
chocoby
2
1.9k
Other Decks in Programming
See All in Programming
Graviton と Nitro と私
maroon1st
0
160
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
990
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
0
1.7k
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
610
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
6
1.9k
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
180
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3.3k
Implementation Patterns
denyspoltorak
0
150
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
310
Grafana:建立系統全知視角的捷徑
blueswen
0
280
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
770
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
450
Featured
See All Featured
Practical Orchestrator
shlominoach
190
11k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
250
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
150
Become a Pro
speakerdeck
PRO
31
5.8k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Bash Introduction
62gerente
615
210k
How to make the Groovebox
asonas
2
1.9k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
110
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
38
How STYLIGHT went responsive
nonsquared
100
6k
Transcript
ϦϦʔεͯ͠ 6 ܦͭ Gem ʹͲ͏खΛೖΕΔ͔ 2019/09/13 ୈҰճ Ruby Ͱ LT
ͪ͠ΌΘφΠτ chocoby
ࣗݾհ • @cho_co (Twitter) • @chocoby (GitHub) • chocoby.jp •
झຯ: ࣗసं
ࣗݾհ • όοΫΤϯυ͕ಘҙ • ϑϦʔϥϯε • ࠷ۙͷ͓ࣄ • LINE Bot,
Rails 6.0 ͷΞοϓάϨʔυ, Serverless Framework Ͱ API ࡞
jp_prefecture gem https://github.com/chocoby/jp_prefecture
jp_prefecture gem ͱ • ಓݝΛѻ͏ϥΠϒϥϦ • Ϛελʔσʔλ JIS X 0402
ࢢ۠ொଜίʔυͱ͍͏ن֨ Λجʹ͍ͯ͠Δ • 2013 2 ݄ʹ࠷ॳͷόʔδϣϯΛϦϦʔε • ࠷৽൛ v0.10.0 (2019 9 ݄ݱࡏ) • Rails 6.0 ରԠࡁΈ
ಓݝͷίʔυͰݕࡧ͢Δ
ಓݝͷ໊લͰݕࡧ͢Δ
ϞσϧʹΈࠐΜͰ͏
ಓݝͷϦετΛऔಘ
جຊతͳػೳ࣮ ΄ͱΜͲมΘ͍ͬͯͳ͍
खΛೖΕ͍ͨͱ͜Ζ͋Δ
Ͳ͜ʹखΛೖΕ͍ͨͷ͔ • ݕࡧϩδοΫΛվળ͍ͨ͠ • ͍ͬͯͳ͍ػೳΛഇࢭ͍ͨ͠ • αϙʔτ͢Δ Ruby ͱ Rails
ͷόʔδϣϯΛ ཧ͍ͨ͠
ݕࡧϩδοΫͷվળ
ݕࡧϩδοΫͷվળ • ݕࡧͱʁ • ಓݝΛʮ౦ژʯʮͱ͏͖ΐ͏ʯʮtokyoʯ ʮؔ౦ʯͳͲͷจࣈྻͰݕࡧͰ͖Δ • લํҰகͰݕࡧ͍ͯ͠Δ
ݕࡧϩδοΫͷվળ • όά͕͋Δ • ಓݝΛݕࡧ͢ΔϩδοΫɺͻΒ͕ͳ Ҭ໊ͳͲؚΊͯݕࡧ͍ͯ͠ΔͨΊɺҙਤ ͠ͳ͍ಓݝ͕औಘ͞ΕΔ • https://github.com/chocoby/jp_prefecture/ issues/24
ݕࡧϩδοΫͷվળ • ʮ౦ʯͰݕࡧͨ͠Βʮ੨ݝʯ͕औಘ͞ΕΔ
ݕࡧϩδοΫͷվળ • มߋ 1: ݕࡧ͢Δ߲(ͻΒ͕ͳɺҬͳͲ) ΛࢦఆͰ͖ΔΑ͏ʹ͢Δ • มߋ 2: શҰகʹ͢Δ
• มߋ 3: લํҰகͳͲͰݕࡧ͍ͨ͠έʔε ɺϢʔβʔ͕ϩδοΫΛॻ͚ΔΑ͏ʹ͢Δ
ݕࡧϩδοΫͷվળ
͍ͬͯͳ͍ػೳͷഇࢭ
͍ͬͯͳ͍ػೳͷഇࢭ: ༣ศ ൪߸ͷใ • ಓݝ͝ͱͷ༣ศ൪߸ͷൣғΛ͍࣋ͬͯΔ • KEN_ALL.csv ΛՃͯ͠ YAML Λ࡞͍ͬͯΔ
• https://github.com/chocoby/jp_prefecture/blob/ master/data/zip.yml • ༣ศ൪߸සൟʹมΘ͍ͬͯΔͷͰਖ਼͍͠ใͱݶΒͳ ͍ • ಉ͍ࠝͯ͠Δσʔλظؒߋ৽͍ͯ͠ͳ͍
͍ͬͯͳ͍ػೳͷഇࢭ: ༣ศ ൪߸ͷใ • มߋ: ༣ศ൪߸ͷσʔλΛಉࠝ͠ͳ͍ • ༣ศ൪߸ͷใ͕ඞཁͳ߹ɺϢʔβʔͷ ํͰσʔλΛ༻ҙͯ͠Β͏
αϙʔτ͢Δ Ruby ͱ Rails όʔδϣϯͷཧ
αϙʔτ͢Δ Ruby ͱ Rails όʔδϣϯͷཧ • ݱࡏαϙʔτ͍ͯ͠Δόʔδϣϯ • Ruby 1.9.3
- 2.6 • Rails 3.2 - 6.0 • ςετ͕ඞཁͳύλʔϯ͕૿͑ͯ CI ͷ࣮ߦ͕࣌ؒ ͘ͳΔ • ݹ͍όʔδϣϯΛαϙʔτ͠ଓ͚Δͷ͠ΜͲ͍
αϙʔτ͢Δ Ruby ͱ Rails όʔδϣϯͷཧ • Ruby ͷϝϯςφϯεϙϦγʔ • 2.4
(ηΩϡϦςΟʔ), 2.5 - 2.6 (όά/ηΩϡϦςΟʔ) • https://www.ruby-lang.org/en/downloads/branches/ • Rails ͷϝϯςφϯεϙϦγʔ • 5.2 (ηΩϡϦςΟʔ), 6.0 (όά/ηΩϡϦςΟʔ) • https://railsguides.jp/maintenance_policy.html • 2019 9 ݄ݱࡏ
αϙʔτ͢Δ Ruby ͱ Rails όʔδϣϯͷཧ • Ruby Rails ͷϝϯςφϯεϙϦγʔΛ౿·͑Δͱ…
• Ruby 2.4, 2.5, 2.6 • Rails 5.2, 6.0 • 4.2 ʹ͍ͭͯΜͰ͍Δ • 4.2 Λ͍ͬͯΔํͬͯͲΕ͙Β͍͍·͔͢ʁ
ετϨεͳ҆͘શʹΞοϓά Ϩʔυͯ͠Β͏ͨΊʹ • ΞοϓάϨʔυΨΠυΛ༻ҙ͢Δ • Rails ͷྫ: https://railsguides.jp/ upgrading_ruby_on_rails.html •
Sidekiq ͷྫ: https://github.com/mperham/ sidekiq/blob/master/6.0-Upgrade.md • CHANGELOG Λ͔ͬ͠Γॻ͍͓ͯ͘
ποίϛͳͲ͋Γ·ͨ͠Β ޙ΄Ͳฉ͔͍ͤͯͩ͘͞ʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠