Every year the dev community rolls up its sleeves and dives into new learning projects on the time of Advent in the Christian calendar. There is the Advent of Code, the #adventcado hashtag of articles, and more.
These are all awesome, and every year I have wanted to build a complementary learning project centered on my own communal Jewish calendar, which has its own calendrical opportunities to build something.
This year I am excited to share 49 Days of Ruby!
What is 49 Days of Ruby and why exactly 49 days? Well those are both great questions. Let's answer them one at a time.
What is 49 Days of Ruby?
This project will strive to take the participant on a learning journey that incrementally grows one's knowledge in Ruby one day at a time.
The journey starts on the first day (today!). Each day of the journey carries forward from the previous day, and grows the participant's Ruby knowledge more. It may be that some material will be review, and that is okay. Reviewing things you already know is a great way to concretize that learning!
Why Exactly 49 Days?
Now, to the next question of why exactly 49 days? It seems a bit arbitrary, no? The answer is that the 49 Days of Ruby parallels the count of the Omer in the Hebrew calendar, referred to as the Sefirat HaOmer in Hebrew.
From the second day of Passover, for seven weeks, until the next holiday of Shavuot, a daily count is kept. There are lots of reasons why this count was prescribed, and a fuller discussion of the Sefirat HaOmer is beyond the scope of this project. If you're curious you can read more about the idea here, here, or here.
Suffice it to say, 49 Days of Ruby is your chance to partake in this counting adventure with a particular Ruby-driven focus!
Daily Guide to the 49 Days
Each day I will publish a new article covering a specific topic in Ruby and I will update this section with the link. You can also follow along with the #49daysofruby hashtag on Twitter.
Daily Guide:
- Introduction (you're here!)
- Installing Ruby
- Interactive Ruby
- Variables
- Data Types: Strings
- Data Types: Integers
- Data Types: Booleans
- Data Types: Symbols
- Data Structures: Arrays
- Data Structures: Hashes
- Objects
- Conditional Statements, Part I
- Conditional Statements, Part II
- Regular Expressions
- Environment Variables
- Reading and Writing Files
- Methods
- Parameters
- Exceptions
- Classes
- Inheritance
- Duck Typing
- Type Checking
- Self
- Mutable and Immutable Objects
- Pattern Matching
- Object Oriented Ruby
- Debugging
- Command Line Interfaces (CLI)
- CLI: Collecting Input
- Working with Databases
- Working with Ruby Gems
- Creating a Ruby Gem
- Ruby and HTTP
- Web Scraping
- APIs: Building HTTP Calls
- APIs: Using SDKs
- Rack
- Middleware
- Web Frameworks: Sinatra
- Web Frameworks: Hanami
- Web Frameworks: Rails
- A Detour into Version Control
- Commenting Code
- Intro to Testing
- Testing Frameworks: Minitest
- Testing Frameworks: RSpec
- Ruby Community
- Putting It All Together
Come back tomorrow for the next installment of 49 Days of Ruby! You can join the conversation on Twitter with the hashtag #49daysofruby.
Top comments (2)
Love this idea! I haven't used Ruby in ages, so will come along for the ride!
That's awesome! Welcome to the journey. :)