Today, we talked about forms in React. And practiced more React-y stuff. The more important part of the day was that I stood up in front of people, talked, and was slightly less terrified than I am when I see a spider! But we’ll get to that in a second. First, the React stuff:
Application state vs. UI/local state. Sometimes, we know ahead of time that some kinds of state are going to be localized to a particular area of our app – state like form data, timers, small animations, etc.
It’s been a slightly crazy week. I missed two days of class to attend Node.js Interactive North America, which was enormously fun and educational but also meant that I had two days of class to catch up on, in addition to staying on top of what we were learning every day.
I’ve spent most of this weekend doing some preliminary review for our upcoming Junior Phase checkpoint. (Basically, our “final” exam.
We’ve now entered the wonderful but occasionally odd and confusing world of React. It’s a super cool piece of technology and I’m very quickly falling head-over-heels for it, but it’s also…weird. It’ll take a little bit of time to get used to. To learn and practice React, we’ve been building a Spotify clone, which Fullstack has affectionately dubbed “Juke.” We started by building probably one of the simplest apps ever (and a prerequsite to learning anything new in the programming world):
We spent the day continuing to work with JQuery and AJAX on our Trip Planner app (previous posts: here and here, this time with the goal of making it persistent – that is, making the user’s trip data more permanent by saving it to and retrieving it from a database, rather than an object that clears itself every time the page is refreshed or the server is reset.
First, we reconfigured a get route so that it would serve up all of our attraction information.
We ended class early on Wednesday because of the holiday. Given the couple of hours that we had, my pair and I primarily worked on figuring out how to “persist” (at least until the server is reset) the hotels, restaurants, and activities that the user chooses on the days that they add them to – so, for example, if the user chooses a hotel and three restaurants on Day 2, that hotel and those restaurants will populate the itinerary every time the user switches to Day 2.
Yesterday morning, we had a checkpoint over Express and Sequelize – a three-hour long evaluation of sorts to see where we were at in our understanding of the concepts and their usage. I spent the almost the past week reviewing and studying and ensuring I understood the ins-and-outs of things like setting up models with validations and getters and setters and class methods and instance methods and hooks, creating associations between models, handling routes, communicating with the database to create/update/read/destroy, and eager creation and loading.
With a CS Saturday about functional programming, immutability, and Git under our belts, we’re officially halfway through Junior Phase.
Yeah, so, that’s a thing.
The Week By the Numbers: Cups of coffee had: 5.5
Miles ran: 4 (ugh)
Current length of to-do list: 37
Hours I’ve spent snuggling with/walking dogs: 3
For most of the immersive so far, I felt like I was at least sort of staying on top of things – I may have been struggling to tread water, but my head was still above the surface.
Let’s talk about feelings for a second. I’m generally a very optimistic person with a decent amount of confidence in myself, my critical-thinking and problem-solving abilities, and my ability to stick with something when it’s challenging. I don’t like to dwell on the negatives, and I generally try not to let myself get too down.
But today was kind of a sucky day. It didn’t start off that way. I woke up after six hours of sleep feeling a little sleepy, but feeling pretty good about most of the material we had covered in the past couple of days.
A couple of good changes have been made over the past couple of days. First, I’ve been making it a priority to get outside every day – even if it’s just for 15 minutes, it’s been great to just step away from a screen for a bit. Second, I’ve rearranged my desk setup so that my second monitor (which is actually just a 42-inch TV, but anyway) is at eye-level behind my laptop (which is below eye-level, often meaning I would be hunched over), and it’s been a game-changer.
The past day has been a complete whirlwind of learning and figuring out why things are going wrong. We built a Wikipedia clone with the following features:
A homepage that lists all the pages in the Wiki The ability to create new pages Page searching Tagging We started from the very beginning – a blank text editor, in which we required a bunch of modules, set up our middleware, enabled our Nunjucks rendering engine and created simple templates, and created and connected to our Postgres database.