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
Progressive Rails 8.1 (alpha) / progressive-rai...
Search
tnir
November 14, 2024
0
390
Progressive Rails 8.1 (alpha) / progressive-rails-8-1
- A life with Rails 8.1 (alpha)
2024-11-xx STORES.jp talks about Rails
tnir
November 14, 2024
Tweet
Share
More Decks by tnir
See All by tnir
Cloud Run & GKE Autopilot (late 2024)
tnir
0
31
A life with Rails 8.0 (beta)
tnir
0
92
三代目CTO at stmn, inc. / CTO at stmn
tnir
1
6.6k
Teach programming with Postman 101
tnir
0
21
Cloud-agnostic Serverless built with GitLab
tnir
0
360
The Challenge at Contribute & Sessions from GitLab Contribute 2019 New Orleans
tnir
3
1.4k
The State of Docker: product and community
tnir
3
1k
GitLab Overview & Version 12.x
tnir
2
3k
Engineering life with containers on AWS
tnir
1
7.2k
Featured
See All Featured
Bash Introduction
62gerente
611
210k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
For a Future-Friendly Web
brad_frost
176
9.6k
Designing for Performance
lara
606
69k
GitHub's CSS Performance
jonrohan
1030
460k
Statistics for Hackers
jakevdp
798
220k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
102
18k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
Making Projects Easy
brettharned
116
6.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.1k
Transcript
Progressive Rails 8.1 (alpha) @tnir - 2024-11-14 - STORES &
Rails @STORES HQ
@tnir Takuya Noguchi X: @tn961ir • https://github.com/tnir • https://gitlab.com/tnir
#storesrb @tn961ir @tnir (Takuya N) • Ruby 25y • Rails
18y • GitLab Core Team (2015-) • geminabox / nronn maintainer • Bundler / forem (dev.to) contributor • CTO at B2B SaaS sponsoring Kaigi on Rails 2023/2024 RubyKaigi 2023/2024 Rails Girls Japan 2023-2024 https://github.com/ruby/ruby
https://contributors.rubyonrails.org/releases/8-0-0/contributors 31th (tied)
#storesrb @tn961ir State: Rails 6.1 in 2023 • A Rails
app started in 2016 (< 1M LOCs) ◦ (3 sub Rails apps beside) • 1k+ modules, 250+ models • 100+ public gem dependencies (direct & indirect) ◦ 10 unmaintained gems 😞 ◦ A few edgy gems 🎉 https://x.com/edawerd/status/1833261508924739915 Gusto: 4.18M LOCs
🤝Rails 8.0.0.beta1 Sep 2024 (Rails World 2024)
A life with Rails 8.0 (beta) - Proposals on Rails
https://speakerdeck.com/tnir/a-life-with-rails-8-dot-0-beta
🎉Rails 8.1.0.alpha (2024-10-23 - 2 days before Kaigi on Rails
2024)
#storesrb @tn961ir activerecord dependency gemspec in dependent gems: Gem::Specification.new do
|spec| spec.add_dependency 'activerecord', '>= 6', '< 8' end ↓ Gem::Specification.new do |spec| spec.add_dependency 'activerecord', '>= 6', '< 9' end
None
#storesrb @tn961ir Releases based on Rails edge • ~ 85
releases since we moved to edge (Sep 2023) • ~200 days passed since Rails World 2024
#storesrb @tn961ir gem “rails”, …, branch: “main” # Bundle edge
Rails instead: gem "rails", github: "rails/rails", branch: "main" ↓ # Gemfile gem "rails", github: "rails/rails", branch: "main" With Bundler: ~= git clone --depth 1 “https://github.com/rails/rails.git”
Build in environments
#storesrb @tn961ir On (my) local • ~ 5-6 sec 🎉
• (MacBook Air M2 24GB, N/W 2Gbps(max))
#storesrb @tn961ir On (my) local • ~ 5-6 sec 🎉
• (MacBook Air M2 24GB, N/W 2Gbps(max) Tokyo 23)
#storesrb @tn961ir On CI (AWS CodeBuild) • ~ 34-35 sec
• (general1.large, Linux) ◦ 8vCPU, 15GB, N/W ?? (ap-northeast-1)
#storesrb @tn961ir CI: caching gems (production) • Cache strategy in
CodeBuild ◦ No Amazon S3/Local caching • Cache in Docker Build ◦ multi-stage build && docker build --cache-from. ◦ Disadvantage for updating gems daily/weekly (=cache miss) • ❗0.5 min out of 10 min (CI duration)
#storesrb @tn961ir Summary • Rails edge in production: the hard
way ◦ … working as CxO • ⚠We are hiring Rails enthusiasts⚠
None
https://x.com/stmn_eng