Lambda School - Week 8: Keep It Simple

“Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.”

— John Woods

Asynchronous requests, AJAX, using APIs, and HTTP methods. To those in the industry, they're ubiquitous and used on a daily basis. To the majority of people, it might as well be Chinese. Remember when you first started off learning about transfer protocols? Then you might know what Week 8 of Lambda School felt like!

As a quick intro; I’m a student at Lambda School’s Full-Stack Web Development program. Lambda School offers 9-month programs in web development, data science, and iOS development that are free until you get a job. If you don’t get a job, they don’t get paid.

I do a write-up every single week about my experiences. If you're not caught up just yet, you can start with Part One right here, or just keep reading!

Internetting Is Magic

Have you ever stopped and wondered how miraculous our modern technology is? Have you ever pulled up a website that just worked? Well, it turns out a lot goes into it behind the scenes.

Every page you load, every link you click, every form you submit, it all takes numerous processes under the hood to go off without a hitch. That's the beauty of it. You hit a couple of buttons, and an Amazon package arrives at your doorstep a couple of days later. Magic, right? Well, it takes a bit of work to pull it all off. The demystification is both scary and awe-inspiring.

The first half of this week was completely dedicated to creating Single-Page Applications (SPAs) using React Router. React Router is the most popular package used for client-side browsing. With SPAs, the browser does not have to request and load a new page whenever you click on a link. When first loading the page, all the data is requested at once. Then, when you click the link, it simply switches out the content for the new page. It makes for faster, more snappier applications. I find that it makes for a better user-experience but you run the risk of making your application slow to load.

Days 3 and 4 were all about understanding the basics of HTTP and AJAX. This is the bread and butter of making responsive web pages so they took the time. The instructors tried introduced the anatomy of HTTP requests, how AJAX works, using JSON, and how to make API calls using Axios. There were a couple of people who struggled for a bit, but nothing that wasn't overcome in a couple of hours.

This week was relatively light in terms of workload. To most, it felt like a breath of fresh air. This week was more about theory than anything else. Making sure you know exactly how the browser's history API works was given greater emphasis than doing another coding challenge.

This gave us plenty of time to work on side-projects. Some of us decided to dive deeper into APIs, while others wanted to brush up on their React or vanilla JavaScript. I personally played around with Electron which allows you to build React apps for desktop users.

The More You Know

As always, here's a small overview of what we covered this week.

  • React-Router, Routes, Links, etc.
  • Nested Routes
  • Native-browser history() api;
  • ES6 Async functions, .then(), and .catch();
  • AJAX and making AJAX calls;
  • HTTP and CRUD;
  • HTTP Requests
  • Axios vs. native fetch();

In addition, I did some extracurricular work and research by myself:

  • Hot Module Replacement and its pros and cons;
  • Finished reading Robin Wieruch's ‘Road To Learn React’. It was a good way of getting a more nuanced view on opinionated matters. It also gave more theoretical backing than we got during class. There's only so much Lambda can cover in a few hours of instruction after all. They assume students will go out by themselves and explore.
  • Finished Weeks 2 & 3 of this free Princeton course on Algorithms. We'll be covering algorithms and Computer Science in greater depth later in the curriculum. It never hurts to be prepared, though. I also enjoy doing the occasional HackerRank challenges, so it's a fun diversion.
  • Did some preliminary research on Electron.js. I definitely want to learn how to build desktop apps and using Electron seems to be the easiest solution. Already being familiar with React will be a major boon. I did look into Flutter, but I wasn't too keen on having to learn Dart or Java

State of the Lambda Union

Short update this week. A serious flu has kept me bedridden for the past couple of days. I'll make it up to you come next week!

Au revoir!

Sign Up For Friday Favorites!

Join the 500+ people who receive my Friday Favorites newsletter in their inbox every week. It's a mash-up of the most interesting links, books, and ideas I came across that week, as well as my latest articles and book notes. If you're curious and looking for high-quality information, you should definitely join.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.