The first phase of Dev Bootcamp was very much still in the realm of teaching best programming practices through the study of algorithms, design patterns, and proper database setup. The second phase, however, jumped directly into a field I had very little knowledge of—web development proper. During these three weeks, I gained a new understanding of server-side and client-side technologies, routing conventions, using layout templates, increasing site responsiveness, and much, much more.
Week 4 – Sinatra
Nope, not the singer. Sinatra is an extremely lightweight web framework that uses Ruby. (Incidentally, it’s not the only web framework named after a musician—the popular Python framework Django also takes its name from a 20th-century musician.) Looking back, it seems a little silly and a bit naïve, but before this week, I didn’t really have a clear grasp about how everything comes together on the web. That is, how a newly created page inherits the same basic layout as the rest of a website (I knew that the method I used to build this very small website, copy-and-pasting the site template into each individual html file, wasn’t right, but I didn’t understand what the right way was), how to secure certain parts of a site based on whether a user is logged in or is the “owner” of the content, how to marry the data on the back end with what gets seen on the front end, etc., etc. Learning all this new stuff made this quite an exciting week—it was as if I had been initiated into the web-based verison of the Eleusinian Mysteries (I’ve gone ahead and included an explanatory link for those less familiar with the original Demeter, who has nothing to do with computer science).
The other notable thing about this week was the importance of two unpleasant-sounding four-letter acronyms, CRUD and REST. One deals with database operations and the other with web routing conventions, and both are intimately tied together. Once the principles of REST are internalized, routing for basic websites becomes very straightfoward.
Week 5 – Ajax
(Note: this isn’t technically an Ajax request, because no data is being sent to the server that will affect the back end, but rather it mimics the responsiveness of an AJAX request.)
Week 6 – Consolidation and Exploration
This was an atypical Dev Bootcamp week. It was simultaneously the most laidback and arguably the most stressful for many in the cohort. Laidback because the relentless pace momentarily abated to allow for review. Stressful because it featured a full-day assessment which wasn’t a full-day assessment because that’s a word that puts undue pressure on people to perform but was nevertheless a full-day assessment even if you don’t want to call it that.
After the “not an assessment,” we were given a couple days to explore anything we wanted as long as it involved an API. I chose a fairly uninspired, but very practical project—demonstrating how geolocation works in HTML5, hitting the Google Maps API, and setting up third-party login by using OAuth and the Facebook API. As it turned out, each of these three things would factor into my final project.
* * * * *
This concludes Part 2 of this massive blog post. Return to Part 1 or go to Part 3.