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
580
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
Copilot coding agentにベットしたいCTOが開発組織で取り組んだこと / GitHub Copilot coding agent in Team
tnir
0
240
2030年のSREを考える / SRE-in 2030
tnir
0
110
Ruby Guessr was harder to me RubyKaigi 2025
tnir
0
13
Bundler CHECKSUMS
tnir
0
18
Cloud Run & GKE Autopilot (late 2024)
tnir
0
58
A life with Rails 8.0 (beta)
tnir
0
100
三代目CTO at stmn, inc. / CTO at stmn
tnir
1
7.2k
Teach programming with Postman 101
tnir
0
33
Cloud-agnostic Serverless built with GitLab
tnir
0
380
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
96
6.1k
Bash Introduction
62gerente
613
210k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
530
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
840
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
What's in a price? How to price your products and services
michaelherold
246
12k
Six Lessons from altMBA
skipperchong
28
3.9k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Thoughts on Productivity
jonyablonski
69
4.7k
GraphQLとの向き合い方2022年版
quramy
49
14k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
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