Coursera Rails Module 2 Notes
Intro to Ruby
This module goes through a general introduction to Ruby. One thing that I find interesting is how optimistic Ruby is, in the sense that everything except forfalse
and nil
is true. This is especially interesting from the perspective of comparing true and false in sqlite where sqlite stores 0 as false and 1 as true. I have not had to deal with this yet, but it is nice to keep in mind going forward. Another nice thing that I have not used that much is irb
this is basically a Ruby repl that allows you to quickly test out concepts in your shell. I also love (since I work at a CI company) that the very first lesson about ruby talks about rspec and even has us use it go grade our assignments. It is never too early to start thinking about tests.
Tour of Ruby Data Types
The next module took a nice tour of Ruby data types. I learned some pretty neat things.- Strings in Ruby super expressive, string interpolation is pretty amazing and very clean. Destructive Methods Have
!
, I like this convention, you see it a lot in Clojure. - %w can make multiple strings into an array (like using .split() in JS)
- You can get a random element from an array with
.sample
, pretty neat - Hash Order is maintained, this is really powerful
Object Oriented Ruby
- All methods public by default
- Clean class creation with useful helper methods for getter/setter
- Talked about how most of the functionality in Collections comes from using the Enumerator mix-in, gave an example of how to use it, super powerful!
Unit Testing
Again, I love that this course started right off the bat talking about unit testing. A+ to the course creators for covering this topic. The instructor did a good job talking about the differences between Test::Unit, MiniTest, and RSpec with great examples of how to use all of them.Assignment
The final assignment for this module was to write a program that reads a file and calculates word frequency. Overall it was pretty simple, I think the material did a good job preparing us for the task, and caused us to use a lot of the different tools that we learned about Ruby.Parting Thoughts
I have often heard that Ruby was designed for developer happiness. I really love the clean syntax, well documented API, and elegance. The next module will be a deep dive into Rails, looking forward to using more of the stuff that I have learned in this Ruby crash course.Thank you for reading! Share your thoughts with me on bluesky, mastodon, or via email.
Check out some more stuff to read down below.
Most popular posts this month
- Reinstalling Windows at 1am
- 2024
- SQLite DB Migrations with PRAGMA user_version
- Microblog
- Setting up ANTLR4 on Windows
Recent Favorite Blog Posts
This is a collection of the last 8 posts that I bookmarked.
- Submarines DevCon 2025 Keynote Speech from JoshHaines.com
- The people should own the town square from Mastodon Blog
- Divine Attah-Ohiemi: My 30-Day Outreachy Experience with the Debian Community from Planet Debian
- 25 Years of the Mac OS Dock from The Internet Review
- “Founder Mode” and the Art of Mythmaking from charity.wtf
Articles from blogs I follow around the net
Submarines DevCon 2025 Keynote Speech
I was asked to give a keynote speech at the Rolls-Royce Submarines Developer Conference in February 2025. The post below contains some sanitized details of the talk for both attendees to reference and others to learn from.
via JoshHaines.com February 4, 202506/01/2025
# Today is the fourth anniversary of switching to my own custom CMS. It doesn't seem possible that I've been using it for that long. Each year I've written about the major changes; these last 12 months have had the least. I started strong with …
via Colin Walker - Daily Feed January 15, 2025Now (January 2025)
What I'm doing now. January 2025 edition
via Robb Knight • Posts • Atom Feed January 14, 2025Generated by openring