Days 0 To 4 Of #100DaysOfCode

As I start again with the #100DaysOfCode challenge, I thought it would be a great idea to document the process. I update Twitter sometimes with my progress, but the character limit isn't enough for me to express everything I am thinking and all the things I am learning. The blog is also perfect for me to remember all the concepts which I need to remember

Day 0: I worked on setting up my environment for the challenge. I knew I needed to get into a routine, and I knew I need a routine that was as easy to follow as possible. I also needed to get my goals sorted out. What is it that I want to achieve with this challenge? Part of the reason the first round failed is that I was just winging it. I had no end goal.

• Goal 1: solidify my JavaScript knowledge.

• Goal 2: I need to improve my React skills. Build full static pages and apps with React.

• Goal 3: build a few websites using Bootstrap and WordPress.

• Goal 4: Have fun during the challenge

I also decided to split the 100 days into months. The first month (or 30 days) will be me finding and fixing any gaps I might have in my fundaments of JavaScript and React. One of the things I picked up when I started taking my coding seriously was how I knew how to create certain effects with JavaScript, but I didn’t fully understand why what I was doing worked. I could explain the HOW but not the WHY. That needs to be fixed.

The second month (days 31 to 60) should be all about taking a deeper dive into React. Or as deep as any self-taught developer can get without a job. I have a lot to learn. As much as I know what I will need to be focusing on over the next few months, I also know that there is a lot of things that I don't even know I don't know. I am very excited about finding those and filling up the gaps.

My primary reference during this learning will be Scrimba. I will use their JavaScript Bootcamp as my main revision source while reading Eloquent JavaScript to supplement the course. For React, I will be doing the Free React course on scrimba, before then tackling the React Bootcamp. The book I will use to supplement my React learning will be React In Action.

Day 1:

Today was a light day. I worked on variables and strings as I slowly got into the habit of learning and studying for a few hours every day. The material covered all the basics of var, let, and const, along with the basics of strings and naming conventions.

Day 2:

Day 2 was another easy day. This was a revision on conditionals and types. I had gone through most of the concepts already when I read Eloquent JavaScript. Also, most tutorials have a similar section, and so did my Python course. The syntax might be different, but the concepts are always the same. This was also the first time I ran into an explanation of ternaries. I had seen the code before but had never understood what I was reading. As cool as they may be, ternaries need to be used cautiously because that syntax is not easy to read. Short-Circuiting is a lot easier to read, but I still prefer normal conditionals for now.

Days 3 and 4:

Functions. I was not looking forward to this section of the course. Most learning materials (including Eloquent JavaScript) explain this concept so badly that I have struggled for a while with it. I know this is basic, but I hardly ever understand what people are trying to explain when they bring up functions. I usually leave these suctions more confused than when I started. Mostly because so many books try to fit in the most complex function structures they can. It does not help a beginner. Scrimba was different. Reed and Per did a great job of not only explaining what functions are but also on how to structure and use them. Even though it took me two days to complete, this was the highlight of my week. I understood WHY I wrote functions the way I did

function functionName(input1, input2){

 return `what you need the function to do`;
}
functionName = (input1, input2) => {

  return `what you need the function to do`;
}