Maybe fixing a bug just spawned a dozen new ones. Or your code breaks in such a weird way that you wonder if you really understand it at all. You think it’s time for a deep dive.| Justin Weiss
Have you ever found a Rails topic that didn’t make any sense to you?| Justin Weiss
In my most recent article, I mentioned a great new feature in Rails 5.1, delegate_missing_to. With delegate_missing_to, any method that you can’t find on one object is called on another object, instead:| Justin Weiss
Last week, during RailsConf 2017, Rails 5.1 shipped.| Justin Weiss
What code of yours isn’t tested? Is it code that deals with complicated situations that you don’t control? Threads, running commands, git, networking, or UI?| Justin Weiss
Have you ever wanted to import a bunch of data into your app from a CSV file? Or maybe you need to fix badly encoded characters in some of your customer reviews. Or you changed your mind about how you wanted to store data in Redis, and had to move everything from the old format to the new one.| Justin Weiss
In last week’s article, you learned a short process that solves most encoding problems. But there’s one encoding problem that’s much harder to solve.| Justin Weiss
You only really think about a string’s encoding when it breaks. When you check your exception tracker and see| Justin Weiss
This article is also available in Korean, thanks to Soonsang Hong!| Justin Weiss
When you research how to deploy your Rails app, you’ll see a lot of names: Apache, Unicorn, Puma, Phusion Passenger, Nginx, Rainbows, and many more. They all seem to fit under the “deploying Rails” category of software, but there’s a key difference between them. Some are “web servers,” and others are “app servers.”| Justin Weiss
This article is also available in Korean, thanks to Dohyung Ahn!| Justin Weiss
When you use Ruby to wrap an API, you have to have a way to configure it. Maybe the wrapper needs a username and secret key, or maybe just a host.| Justin Weiss
Monkey Patching. When you first try Ruby, it’s amazing. You can add methods right to core classes! You don’t have to call Time.now.advance(days: -1), you can write 1.day.ago! It makes Ruby a joy to read and write. Until…| Justin Weiss
When you’ve been deeply focused on a big project or a new job, you might poke your head up and feel lost. Like the tech world has moved beyond you. Did that time you didn’t spend learning new things finally catch up with you? And how can you close that gap?| Justin Weiss
When you run into a strange, seemingly unsolvable bug, improving your logging can be the best step you can take. Great logging is the easiest way to detect and fix entire classes of bugs. When you log enough information, you can see how your data changes during a request. You can track the calls you make to other services, and investigate the response. In fact, when debuggers failed, logging helped me fix the toughest bug I’ve ever run into.| Justin Weiss
Why did Rails become so popular, so quickly?| Justin Weiss
Ruby conferences are awesome. There are so many people sharing so much knowledge, and you’ll take something away from almost every talk. And even if you can’t be there, new conferences mean lots of new talk videos.| Justin Weiss
Imagine a question that can be either “pending”, “approved”, or “flagged”. Or a phone number that’s a “home”, “office”, “mobile”, or “fax” (if it’s 1982).| Justin Weiss
This article is also available in Korean, thanks to Soonsang Hong!| Justin Weiss
There are a ton of books, videos, podcasts, and courses for learning Rails. There’s no way you’d have time to go through them all! So what’s the best way for an absolute beginner to learn Ruby and Rails? Which resources should you start with, and when?| Justin Weiss
You’re confident about the core ideas behind Rails. You can write working code, no problem. And you’re learning more about code quality, refactoring, writing great tests, and object-oriented design.| Justin Weiss