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
390
リリースして 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.3k
ErgoDox を買った話
chocoby
0
850
デザイナーのための tmux 超入門
chocoby
7
9.9k
おすすめ gem
chocoby
2
1.8k
Other Decks in Programming
See All in Programming
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
1
130
バグを見つけた?それAppleに直してもらおう!
uetyo
0
190
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
190
PHPカンファレンス 2024|共創を加速するための若手の技術挑戦
weddingpark
0
100
rails statsで大解剖 🔍 “B/43流” のRailsの育て方を歴史とともに振り返ります
shoheimitani
2
990
Spatial Rendering for Apple Vision Pro
warrenm
0
270
良いユニットテストを書こう
mototakatsu
11
3.4k
EC2からECSへ 念願のコンテナ移行と巨大レガシーPHPアプリケーションの再構築
sumiyae
2
480
Jakarta EE meets AI
ivargrimstad
0
340
Запуск 1С:УХ в крупном энтерпрайзе: мечта и реальность ПМа
lamodatech
0
780
ある日突然あなたが管理しているサーバーにDDoSが来たらどうなるでしょう?知ってるようで何も知らなかったDDoS攻撃と対策 #phpcon.2024
akase244
2
7.3k
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
1.1k
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
Code Review Best Practice
trishagee
65
17k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Documentation Writing (for coders)
carmenintech
67
4.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
How GitHub (no longer) Works
holman
311
140k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
470
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
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 Λ͔ͬ͠Γॻ͍͓ͯ͘
ποίϛͳͲ͋Γ·ͨ͠Β ޙ΄Ͳฉ͔͍ͤͯͩ͘͞ʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠