49 Days of Ruby: Day 1 - Intro

Ben Greenberg - Mar 28 '21 - - Dev Community

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:

  1. Introduction (you're here!)
  2. Installing Ruby
  3. Interactive Ruby
  4. Variables
  5. Data Types: Strings
  6. Data Types: Integers
  7. Data Types: Booleans
  8. Data Types: Symbols
  9. Data Structures: Arrays
  10. Data Structures: Hashes
  11. Objects
  12. Conditional Statements, Part I
  13. Conditional Statements, Part II
  14. Regular Expressions
  15. Environment Variables
  16. Reading and Writing Files
  17. Methods
  18. Parameters
  19. Exceptions
  20. Classes
  21. Inheritance
  22. Duck Typing
  23. Type Checking
  24. Self
  25. Mutable and Immutable Objects
  26. Pattern Matching
  27. Object Oriented Ruby
  28. Debugging
  29. Command Line Interfaces (CLI)
  30. CLI: Collecting Input
  31. Working with Databases
  32. Working with Ruby Gems
  33. Creating a Ruby Gem
  34. Ruby and HTTP
  35. Web Scraping
  36. APIs: Building HTTP Calls
  37. APIs: Using SDKs
  38. Rack
  39. Middleware
  40. Web Frameworks: Sinatra
  41. Web Frameworks: Hanami
  42. Web Frameworks: Rails
  43. A Detour into Version Control
  44. Commenting Code
  45. Intro to Testing
  46. Testing Frameworks: Minitest
  47. Testing Frameworks: RSpec
  48. Ruby Community
  49. 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.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .