View profile

Days #7-10: Week in Review - Javascript runtime environment and engine, Merge Sorted Arrays, Instagram Clone

Puppy Nomadic
Puppy Nomadic
It’s Day 10, and I finished my Instagram clone for CodeSmith, but I did not write a post here for a few days since my last post.
I’ve been trying to focus on getting the Precourse assignments done. After writing the Day 6 post on JSON Parser, it also felt difficult to write another post of equal length and quality. In order to make this habit more sustainable, going forward, I will stick to the spirit of this daily LOG, and keep each post short.
Here’s a week in review, counting backwards from Day 10:

Day 10: Instagram Clone
Finished a basic version of the Instagram clone using jQuery and vanilla Javascript. Code here.
Precourse 3: Instagram Clone on Vimeo
Precourse 3: Instagram Clone on Vimeo
In the process, I learned:
  • CSS Grid
  • jQuery for API loading / getting & posting
  • conditional rendering
  • Window scroll technique using jQuery for loading images to give “infinite scroll” effect
  • the vanilla JS way dividing an application into components (video shared by Max)
Day 9: Organized notes & Github repositories
Upgraded my system for organizing my notes/code/posts for #100DaysOfCodeSmith, using:
  • Notion for all my CodeSmith notes
  • Github repository for relevant code & LC challenges
  • Hashnode blog for longer posts like the JSON Parser post
Will keep using Twitter & Revue for quick daily logs, and bookmarking of links. The idea is to keep the barrier to writing low, and the process as easy as possible.
I also continued through Will’s Front End Masters courses: “Javascript the Hard Parts,” to try to a deeper grasp of Javascript fundamentals before the Immersive program starts.
Here is a useful post listing important Javascript concepts to know before learning React:
Day 8: Leetcode challenge with Mariko
Mariko and I met to share our solutions for this Leetcode problem: Merge Sorted Array.
I wrote up two ways to approach this problem. The first, by making a copy of the first array, and pushing the merged/sorted numbers into the copied array. The second, by looping backwards from the end of the first array, finding the largest numbers first, and filling in the “0"s at the end of the array.
My code for this week is here. I’ll be storing our weekly LC challenges in this repository.
Puppy Nomadic 🐾
Learning React UI Diagramming @codesmith_ from this amazing teacher: @willsentance yesterday!

Can’t wait for part 2 on Friday!
Day 7: Learning about the Javascript Engine
I attended Will’s first React UI Diagramming workshop, which was awesome! Towards the end of the workshop I asked (very basic) question about what he meant by data being stored via closure in “Javascript” rather than in “local storage.” Isn’t Javascript a language? How is data being stored there?
He replied that Javascript is also the runtime application which is part of the browser. In addition to this non-persistent memory, there is also local storage in the browser, which allows for persistent memory during a particular session. Beyond that, there’s the server, which is not the user’s local memory but remote storage, where the website is being served.
Satty sent some links to learn more about the Javascript Engine, which I’m bookmarking here:
Ryan Seddon: So how does the browser actually render a website | JSConf EU 2015
Week in Review
I’ve used this last week to create a system for learning more effectively in the next 13 weeks of my learning during the CodeSmith Immersive program. These are habits I want to continue far beyond the program, and adopt continual learning and practice of coding as a big part of my daily life.
However, in terms of time efficiency, I need to be wary of spending too much time on documentation, which takes away from the time I need to spend simply coding. I need to be solving problems for as many hours a day as possible, and if I’m not doing that, I’m not using my time well.
Precourse Week 1:   April 22 - April 29.
Precourse Week 1: April 22 - April 29.
Precourse Week 2:  Apr 30 - May 6th.
Precourse Week 2: Apr 30 - May 6th.
Spent 13 hours and 49 minutes coding on my birthday :)
But the day before that, I did not feel like I was using my time well:
Puppy Nomadic 🐾
Frustrated with myself -- instead of coding today, I spent a lot of time organizing notes, putting together a Readme for a repo, editing blog...

This is not coding.

Time is precious. So many topics to learn, LC problems to solve.

If I'm not struggling, I'm wasting time. STOP.
Next Steps
In order to focus on finishing Precourse work, I did not have time yet to write up an entry on lexical parsing, and redoing the JSON Parser challenge using a tokenizer. I will still try to do this in an upcoming post.
Did you enjoy this issue? Yes No
Puppy Nomadic
Puppy Nomadic @puppynomadic

Let's pull each other up by our Bootstrap.js 🪴 👩🏻‍💻 🦮

=== Journey of software craftsmanship ===

{"Formerly": ["nonprofit community organizer", "teacher", "researcher", "government director"],
"Future": ["software engineer", "web3 dev", "developer advocate", "technical program manager"]

In order to unsubscribe, click here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Created with Revue by Twitter.