Friday, October 7, 2016

Project Week, and starting MEAN (it's nice!)

Project Week (Week 6)
Started Tuesday with Python project week, where for 3 days I built a web app with a team of 3 other people. Ideas pitched were a yarn finding app (type of yarn, stores, etc), a bike trip planner app (route planning, pit stops, repair stations, bike shops), and a happy hour finder app. We went with the latter, integrating Google Maps, Yelp, and Facebook APIs. We used Facebook to implement a login and commenting system, Yelp to pull data on restaurants, and Google to present the Yelp information on a map. We presented our project on Friday morning after working into the wee hours of the night on Friday morning. I got home at 2:30 AM and was back at the dojo at 8:30 AM. We didn't end up finishing the project and getting it completely or even mostly functional, but there was some functionality. Many lessons were learned from this first project.

Starting MEAN (Week 7)
This Monday, we started the MEAN stack (MongoDB, Express, Angular, and Node), which is a popular combo of JavaScript frameworks for building a full-stack web application. We also got our black belt exam results back. I was surprised to get a 9/10, because I wasn't expecting to receive a belt at all given the quality of my submission and omission of a few requirements. However, that missing point was also returned because it was deducted for not having the web app deployed when it in fact, was. So actually I scored a 10/10 and earned my first black belt! Very pleased with the result.

Started Node and got into Express this week. Node seems to be a light JavaScript web server, and Express is built on Node to make it a bit more user-friendly to use. I've fallen a bit behind on the assignments but hope to catch up today/over the weekend.

Monday, September 26, 2016

Python Black Belt and Project Week - Week 6 Monday

Hello! It's Monday of 6th Week, and we've just taken our Python Black Belt exam. 4.5 hours, starting at 9 AM. I didn't get any work done over the weekend, contrary to the previous post. However, I did get login and registration done, so that made the first part of the black belt more painless. I won't spoil the exam for future cohorts, but it involves building on simple login and registration and adding new features, akin to 'The Wall' assignment. There were a couple of things I failed to implement from the wireframe given, but for the most part, the website performs pretty close to the wireframe expectations. I just hope they don't expect it to look exactly like the wireframe given, because it doesn't. But all the content is there. Hopefully I'll be able to scrape enough points up to get a red belt?

Moving forward, project week starts tomorrow, where we'll take everything we've learned so far in the Python stack and combine it with APIs to (hopefully) create an awesome web app. We've got some ideas floating our group right now and we'll pick something to work with tomorrow. Updates to come!

Saturday, September 24, 2016

Deployment frustrations!

This week we got started with Pylot, a MVC framework built on Flask. It's pretty lightweight, and basically takes the Flask framework and splits it into the traditional model-view-controller architecture. Essentially all we do is split our Pylot files and link it back together, or compartmentalize our application for scalability/organization. At the end of the week, we started with deploying to Amazon EC2, which brought about its own raft of problems. The most common problem I've experienced thus far is the 502 Bad Gateway thrown by nginx. It's frustrating to follow all the instructions to a T and still get an error. I troubleshooted and was able to deploy by Friday night, but after attempting it again today (Saturday), I got the same error. I'm taking this as a good stopping point (for now) and will try again later. However, this is all a learning experience and repeating the steps multiple times only helps reinforce my understanding of exactly what I'm doing, instead of blindly following a tutorial.

I somewhat doubt the usefulness of the Pylot MVC framework, especially considering that it's made in-house (Coding Dojo developed) and Django is the most popular Python web framework, although there's no denying its ease of use and value for teaching the MVC model. For now, I'll take what I can get, since I haven't mastered Pylot completely yet either.

Monday will be our cohort's Python black belt exam. If I'm to earn a black belt, I need to have mastered deployment and Pylot. Earlier in the week I had planned on getting Pylot and deployment done by Friday, but I've fallen behind schedule and plan to spend the rest of the weekend getting ready for the black belt. I've tempered my expectations from receiving a black belt to at least a red belt (8/10 to 9/10 points on the test, black belt is 9/10+), but we can try as many times as there are tests (so 6 or 7?). The black belt requires a successful deployment. Given everyone else's frustrations, I'm glad I'm not alone, and also glad to finally have encountered a problem that took more than a few hours to solve.

Friday, September 9, 2016

Update: Week 4 Python

The time is 2:16 PM, Friday August 9th. I have a package that I'm eager to get to at home, but as much as I want the instant gratification of opening a package that I traded some of my hard-earned money for, coding and solving problems compels me to stay.

This week we began the Python module, starting with Python fundamentals, then moving to the Flask micro-framework web server. Thus began our journey into back-end technologies. No longer are we serving up single webpages, we're actually running a server that stores and cooks up webpage content on demand, as simple as the projects have been. 

It's taken a while to get used to the syntax and structure of Python and especially Flask, but I think I'm getting the hang of it. I'm no longer leading in terms of content done, but that's ok. I also haven't fully completed all of the content so far, electing to skip some more repetitive stuff to keep pace. As of right now, I've completed the Flask section and now returning to finish up MySQL, so that I can tackle the Flask + MySQL section.

It's been a pretty productive week. Maybe I'll revisit my ecowebhosting domain with a new pair of eyes and see how much I understand. 

Monday, August 29, 2016

Late update, summary, thoughts so far.

It's been a while, blog! Three weeks, in fact. Today is the Monday of the 3rd week of Coding Dojo, so I should probably give an update on what I've covered so far.

Here's a summary of the past 2 weeks:
- 1st Week: HTML, CSS, and a little bit of Javascript
- 2nd Week: jQuery, Git, and "putting it all together"

In addition, every day we have an algorithms session at 9 AM, where we are given a few algorithms to implement in Javascript and where we are grouped with and deliberate with other cohort members to come up with the best solution to the problem. If you've ever taken an algorithms and data structure course at the university level, what we learn there will be very familiar to you.

I was amazed at the range of backgrounds of the people in my cohort. Contrary to my belief that most of my cohort would be young, fresh-out-of-college students with engineering backgrounds, most members are older than I am and some haven't touched a computer for reasons other than Facebook or e-mail. However, that doesn't mean that I can be complacent in my studies, because everyone works as hard or harder than I do to catch up or get familiar with the content.

Day to day life in the Dojo is pretty relaxed. As mentioned, we have an algorithms session at 9 AM, sometimes a lecture on the current topic on the Learning Platform, and then you're free to work for the rest of the day. Lunch can be taken whenever, or bought from the "First Call"-playing food truck that stops by every day at 11:30 AM. Later in the afternoon, there is a remedial algorithms session for those who didn't understand the morning's session, and sometimes another demo of an optional framework or topic like Bootstrap.

Right now, we are in the middle of "catch-up", where we're free to get ahead on the platform or go back and review content that we maybe haven't fully understood or are confident in. Hopefully we can get back to our regularly scheduled content tomorrow? but there seems to be an instructor retreat for the next two days, so what the schedule will be is yet to be determined.

Here's to the next 13 weeks!

Sunday, August 14, 2016

test post pls ignore

Sitting here on the Sunday before Coding Dojo officially starts tomorrow! I'm part of the August 15, 2016 Onsite Bootcamp. I created this blog as part of the requirements before starting and also as a way to keep track of my progress throughout the program. We also had to create Facebook, Twitter, Github, and Dropbox accounts. I had all of them already except a blog. So here I am!