Singletons and Caching: Diving Into an Error
I was debugging a Rails API and came across a new-to-me error that seemed, on the surface, a bit obscure.
Software Developer and Learner
I was debugging a Rails API and came across a new-to-me error that seemed, on the surface, a bit obscure.
I enjoy working in tech. I enjoy building something useful, and stretching my brain around thorny coding problems, and making machines do my bidding. But I’m well aware that tech, as industry, is full of problems. Sometimes tech is the bad guy. It doesn’t ask if it should build something; just if it can. It tries to solve tech problems with more tech. It’s classist. It’s full of white men and not many other types of people. This collection of reading material confronts some of those issues.
The resources I’m sharing in this post don’t have a particular theme: instead, it’s a miscellany of interesting and/or useful articles that all fall under the broad umbrella of web development.
Here’s a neat trick I picked up recently. Ruby has a super
keyword: when you call it inside a method, super
calls the parent class’s implementation of the method with the same name. You can extend ActiveRecord’s built-in methods – like getters and setters – quite neatly with super
.
The coding bootcamp I attended, the Flatiron School, was a remote online-based version of their immersive in-person program. All the resources of (and actually more curriculum materials than) the in-person program, but without the daily commute. I found it immensely valuable, and fit seamlessly with my learning style. But there are a few unique challenges to learning and working remotely: How do you stay focused? How do you keep on track without an instructor leaning over your shoulder? And how do you untangle yourself when you’re stuck on a tough problem?
When I spend time working in the terminal, I like my shell prompt to display all sorts of helpful info about where I am and what I’m working on. Want to make your prompt colorful, or display your current directory, or the time, or the git branch you’re on? Here are a few resources for doing just that.
Looking to combine an AngularJS frontend framework with a Ruby on Rails backend? Here are a handful of helpful articles and tutorials I’ve used. Many of these guides accomplish similar goals in slightly different ways, and so illustrate a variety of approaches you can use for setting up your app.
As I’m hunting for a software development job, I have to keep reminding myself that this process is as much about me selecting an employer who fits my needs as it is about an employer finding a worker who fits their needs. The positive effects of a well-adjusted work environment and coworkers who mesh can’t be underestimated.
If you’ve allowed users to log into your Rails app through Facebook (or Google, or Twitter, or…) you know the basics of OAuth. You know that you shouldn’t commit your Facebook application’s key and secret into your public Github repo. You might have used the fantastic dotenv or figaro gems to store your configuration variables in environment while in development.
Playing around with your homemade apps in a local environment is fun, but what happens when you want to share what you’ve made? Deploy to Heroku. The process is fairly straightforward, and the official guide is a great resource.
A year ago I tried out for my local roller derby league, the Long Island Roller Rebels. Around the same time, I began to seriously study programming.
I’m wrapping up the Flatiron Learn Verified curriculum final project: an AngularJS app powered by a Rails API. I chose to build a choose-your-own-adventure game app, with inventory and character creation features.
Moving from the familiar framework of Rails to something completely new – AngularJS – has been an interesting journey. Here are a handful of my favorite resources on learning Angular.
As mentioned in previous posts, I’m currently learning full-stack web development at Flatiron School’s Learn Verified program. Before this, I worked in science fiction book publishing at a literary agency. Why the change? Why software development? Here’s the short version:
I’ll admit I didn’t like JavaScript at first, coming straight from Ruby. All those curly braces and semicolons. But by the time I reached the final project assessment, it had grown on me. Dynamically changing page content and AJAX calls were actually pretty fun, and integrating JS with a Rails API was eye-opening.
It’s Rails assessment time! I’m chugging along at the Flatiron School Learn Verified program, and just completed the Rails section. For this section’s final project, I was tasked to a build a content management system with a couple of interesting requirements (complex associations, nested forms, data validations, Omniauth…). I decided to make a Homebrewer app for tracking your homebrewed meads, beers, and wines.
As the second major assessment project for the Flatiron School Learn Verified program, I was required to build a Sinatra app following the model-view-controller structure, using a database and ActiveRecord, with user accounts. I’ve come to look forward to these end-of-section final projects: coming up with an independent idea and implementing it from the ground up has been pretty fun and rewarding.
I’m currently going through the Flatiron School’s Learn Verified program for full stack web development. To wrap up the section on object-oriented Ruby, we’re supposed to build a gem that provides a CLI interface for an external data source. (Basically: scrape an existing website, wrap up the data in a CLI, package as a gem installable by anyone.)
Salutations, universe!