Code Blog

Andrew Johnson

3 June 2020 Handlebars

I used all the strategies I used for the previous assignments. None of them worked for this assignment. I had an extreme amount of difficulty getting anything to render with the templates. It was easy to get the twitTemplate.js file to work, but all the rendering on the server side was painful. I am still dramatically confused on how to templetatize a website. I got help on Piazza, looked at the lecture notes, attended lectures, and tried following along during the lectures. All of these strategies failed. I also tried doing several Google searches, but that only made me more confused. This was the hardest assignment for me by far. I imagine I am missing one tiny detail that is critical to get anything to work, but I cannot find what is missing. I had major issues rendering anything to the screen. The whole page was blank. Because of this, I can't narrow down a particular issue. It could have been anything. For the future, I will try going to office hours to have someone look over my code. Usually, someone else can see something that I do not. Hopefully this will save me headache in the future.

18 May 2020 Node JS and Auto-Grading Troubles

I used the same strategy I used for assignment 3 to complete this assignment. I find it is best to work on the assignment during the lectures. I get to follow along and immediately apply the new material. The lectures are also easy to follow along with that I can look something up immediately and not get lost. This way I was able to search how to use fs.readFile and cache file data before it was covered in class. I also really enjoyed learning how to set up my own website server. This is locally hosted, but Node JS lets me write my own server that I could host publically. I've always wanted to know how to do this.

The programming went smoothly, but the automatic grading gave me a lot of trouble. I was able to use npm test to test my server locally, but my Github repository was not able to automatically test the server when I commited and pushed a change to server.js. Regardless of what I did, nothing appeared next to Latest commit... in the blue header. There should have been a red "X" or a green check mark if a test was conducted. I asked on Piazza if anyone knew what was going on. Quan Nguyen graciously looked at my repository. He determined my Github workflow was never set up for my repository. I do not know why it was never set up. At least my server passes all tests when I run the testing locally. I've commited and pushed my final version to the Github repository, and I hope the automatic grading will be fixed soon.

11 May 2020 Lots of Experience with the DOM

Assignment 3

The third assignment went extremely well for me. The key difference is I added features to this project as the new material was being explained during lecture. This kept me on-track to complete the assignment in a timely manner, let me practice the new material, and made the lectures infinitely more useful by letting me ask questions as I run into trouble. I already knew a lot of JavaScript. So, the lectures and my previous experiences were all I needed to complete the majority of the assignment. However, there were a few details with selecting objects in the DOM that I needed to search up. For example, length is not used to find the number of children an object has. The correct term is childElementCount. Nearly every issue that came up was related to the DOM in some way. Before this class, I did not even know about the existance of DOM. After using it, I can see why it is the standard way to control dynamic content on a webpage. It's safe and easy for me to use since I now know the right keywords. I'll continue using my strategy of working along during lectures to hopefully make assignment 4 go smoothly as well.

27 April 2020 CSS

Assignment 2

This is the second assignment of CS290. This assignment focused solely on CSS. I already knew the basics of CSS and a few of the style properties. However, I never had to recreate a website using GIFs and pictures. The most difficult part of this assignment was looking at the mocks and taking several guesses on what CSS property the original used. Because of this, I had learned about new properties like sticky navigations and relative positioning, neither of them I used. Also because of this, I learned about flexboxes, which is completely new to me, and I used it a lot. I tried doing online searches to figure out how to use flexboxes, but the search results were never solved my issues with everything scaling the wrong way. Piazza helped me solve a few issues, such as avoiding the use of position:relative for everything aligned on the right side, but the lecture notes saved me almost every time. The notes included everything I needed plus hints on which properties to use or not to use. Because of this I avoided using float for the navigation bar and the twits. Overall, this assignment went well for me. I'll be sure to continue referencing the notes for when I need help.

8 April 2020 First Beginnings with Git and GitHub

Assignment 1

This is the first assignment of CS290. Overall, this assignment went smoothly. I already have knowledge with HTML and CSS, and I was able to recall all the details with a few web searches. All the issues I had were with Git and GitHub. I have never used either of them before this assignment. When I was just getting started on my project, I kept messing up with some command and needing to get another copy of the folder from GitHub. I tried reading about what I was doing wrong, but no sources helped. However, I rewatched the recorded lecutures and was able to figure out my mistake. Apparently, the reason why my files were not showing up after in the GitHub repository after I commit them is because I need to push them after I commit them. Looking back, this is a silly error, but I seriously had trouble with it for the longest time. Seeing every step in the process during the lecture helped me understand. If I get stuck in the future, I'll remember to watch the lectures.