If you don’t know how something is called (e.g. **
) in Ruby, check this project: What do you call this in Ruby?.
Install and Manage Ruby Versions
ruby-install and chruby. What’s .ruby-version?
Stable versions across all implementations, please check Ruby Versions. Currently you should use Ruby 2.5+.
Key sites
-
Idiosyncratic Ruby - 66+ posts of Ruby’s Specialities
-
Master Enumerable and this post
-
The _why documentary
-
Jim Weirich (author of Rake, inspirations for many people)
-
Rubular to tinker RegExps
-
strftimer - because who can remember?
-
Ruby API documentations
But Hey! I am a book person.
Books
A free one to get started, hands on: Learn Ruby the Hard Way.
What really got me Ah, I understood Ruby now, is "Confident Ruby" by Avdi Grimm. If you want to understand deeper about Ruby at lower level: Ruby Under a Microscope.
Writing better code in Ruby: Principles of Object Oriented Design in Ruby and 99 Bottles of OOP by Sandi Metz.
Active People
Read their blog post, watch their Conference presentation (search on YouTube or ConfreaksTV)
- Aaron Patterson — Legendary tenderlove, GC, Ruby & Rails Commiter
- Avdi Grimm — RubyTapas
- Hongli Lai — Author of Phusion, Passenger, Ruby Memory
- Justin Searls — Great Presenter on Engineering Practices
-
Michel Martens — Simplicity-driven developer
- mote Template Engine in just 42 LOC
- syro A simple router for web applications
- micromachine Minimal Finite State Machine
- Mike Perham — Author of Sidekiq - Twitter
- Nate Berkopec — Rails performance posts on Speedshop Blog (Newsletter), Puma
- Ryan Davis — Many ruby infrastructures are maintained solely by him
- Richard Schneems — Sprockets, Rack, Puma, Heroku
- Sam Saffron - Benchmarking, performance
- Samuel Williams Concurrency, Async I/O, Fibers
- Sandi Metz — HOWTO write great Ruby code
-
Andrew Kane — He wrote many great articles on Ruby on Rails & Ruby.
- ankane/production_rails - Best practices for running Rails in production
- ankane/secure_rails - Rails Security Best Practices
- ankane/search_guide - Best Search practices for developers and code to implement them.
- ankane/the-ultimate-guide-to-ruby-timeouts - Everything you need to know about Timeout in Ruby
- ankane/shorts - Short, random tutorials and posts
- Piotr Szotkowski
https://talks.chastell.net/ - Jeremy Evans - Lead developer for Sequel and Roda
- Janko - Author of Shrine (File Upload), Ruby off Rails evangelist
- Luca Guidi - Author of Hanami
- Ryuta Kamizono - Rails Core Team
- Colby Swandale - Author of ruby api, ex-bundler maintainer
Find more folks: https://github.com/trending/developers/ruby?since=monthly
Blog
-
Thoughtbot's blog: Giant Robots
They have moved toward Elixir and Elm, but still a lot of gems there.
-
Concise easy to consume posts about Ruby & Ruby on Rails.
-
The Pug Automatic by Henrik Nyh
Useful techniques, tricks regarding Ruby and Rails.
-
MONKEY & CROW by Adam Sanderson
Some deep articles about Ruby Standard Library, Ruby language and Rails.
He writes so many deep dive posts of Ruby
Scenarios
Here is common recommended choice of certain things I learned from talking to people, my experience, etc.
Why you have to pick a good library, gem. Because once your application grew, some libraries have things that they are not good at for your particular edge cases and it's very expensive or a lot of effort to change. These libraries are validated and flexible to handle real-world challenges.
Nowadays I tried to choose boring ones an minimal production (standard library, what big company is using).
- Background job: Sidekiq (A case study)
- File Uploads: shrine with image_processing
- Making Requests: HTTPX gem
- Markdown: CommonMarker with
HTML::Pipeline
- Emoji: Gemoji and Twemoji (this blog)
- Concurrency: Concurrent Ruby
- Async I/O: https://github.com/socketry
- Time Calculations: Monotonic Time
- CLI apps: tty
- Timeout
- Nokogiri for HTML, XML parsing
- Parser and AST gem
- Scraping: Kimurai Scraping Framework
- Others: See what is trending on GitHub.
Great Posts
- I am a puts debuggerer by Tenderlove
- Processing large CSV files with Ruby
- 10 tips for debugging on production
- IO in Ruby
Follow @RubyInside / Ruby Weekly to read more like this.
But Hey! I want to read some real Code.
Code Reading
See Code Reading.
Conferences
FAQ
Single Quote or Double Quote?
Double quote: https://github.com/rails/rails/pull/38841