Happy Holidays! We have two weeks off before starting our final month of Launch Academy. So far, here’s what I’ve done with this strange and blissful (and sometimes stir-crazy-inducing) thing called free time:
- Seen Star Wars
- Perfected a homemade hot chocolate recipe (here)
- Explored the Harvard Museum of Natural History (free on Wednesdays from 3-5 PM with an MA license)
- Discovered Grey’s Anatomy (I know, I know, I’m 10 years late) and gotten my boyfriend and twin sister addicted to the show
- Seen a play at the ART
- Completed a “personal dashboard” app making use of web APIs. APIs, also known as Application Program Interfaces, allow us to interact with applications without pulling in their entire code. For instance, using the Facebook API, websites can allow users to log in using their Facebook credentials. In my dashboard app, I used 3 APIs: A NYTimes API (which pulls in the top stories from the paper), a Weather Underground API (which provides me with the current weather for my location), and a SeatGeek API (which can give me a list of Boston events for the current day). All of these APIs have terrific documentation.
- Read up on SASS, literally standing for “Syntactically Awesome Stylesheets,” and fallen in love with how it keeps my CSS “dry” (eliminating unnecessary repetition of code).
- Brainstormed about a Rails side project — which will use the Foundation framework for styling — that I hope to complete during break: A review site for home fries. As a lover of brunch, I take my home fries very seriously.
It’s been quite nice.
At the same time, I itch to wake up early every day, hop on the Green Line, and code for 13-hour days with my fellow LA geeks. We may meet up at Mission Control for a casual hackathon next week, so I’m looking forward to that — and to diving into our team projects and my Breakable Toy (a.k.a. the project I present to hiring partners on Career Day) upon my return from break!
In the two weeks before break, we dedicated significant time to learning Active Record, which builds on SQL. Active Record’s awesomeness shines through in the creation, manipulation, and persistence of data in more complex apps. Then, right before break, we finally accomplished what we’ve all been most excited about: riding the Rails. In other words, we have fully transitioned from playing around with the Sinatra framework to using Ruby on Rails.
The key difference between Sinatra and Rails is that Rails is an MVC (model-view-controller) framework. Here’s a diagram below (not mine) to give you a picture of what that means.
Consider an app which allows you — the user — to view and write restaurant reviews. Let’s just say, for example, that you went to the Allston Diner for brunch and left raving about their home fries.
On this review site, you fill out a form with your comments and hit “submit.” The controller then receives your input and interacts with the model, allowing the data to be saved properly to the database. The controller also sends an updated “view” back to the browser: a page showing the newly added review.
We had started out with Sinatra to help scaffold our introduction to Rails. Sinatra is a lightweight, minimalist framework, which makes it more suitable than Rails for building smaller, simpler apps. However, for larger projects with many moving parts, Rails offers an advantage. For one thing, Rails has greater security benefits. Check out this interesting Reddit discussion comparing the two frameworks!
FYI: I’ve been a little lax about keeping my Github up to date, so I’m off to fix that now…
Enjoy the holidays, everyone, and have a Happy New Year!