Please remember to support #BlackLivesMatter however you can.

Spiced Begins

I was worried I wasn't going to be able to take part because I hurt my back pretty bad. Fortunately, they are still partially doing Remote learning so I can do everything from my bed. It is however strange because the painkillers I'm on are pretty powerful and I don't want to take them during class. I certainly notice it in my writing (so please don't judge me on this post)

Our teacher, David seems pretty cool. He's got a nice entertaining vibe, really likes to talk, and explains things well. Because I came in late I missed all the other introductions.

Setup

The first thing we went over was getting our development environment set up. Since we're doing Web Development, we'll be focusing mostly on JavaScript. So, we need Node.js, which is a JavaScript "runtime environment", or, a place that runs JavaScript Code outside of the browser. Later we will be building web-servers with this and our future apps will also run in Node.

We went over what Git is and why we use it. David gave a great metaphor for this. "Git is like your checkpoints in video games, if you die, you don't have to go all the way back to the beginning." The installation is just:

sudo apt install git

I'm not going to go over the configuration here. Then we installed and set up VsCode, with ESlint, and Prettier.

ESlint is an NPM package. Although NPM could stand for Node Package Manager, which would make sense because that's what it does, it doesn't🤣. ESlint is a code analyzer that finds bad style and errors in your code. It is very helpful.

Prettier is a pligin for VsCode (probably other editors as well) and makes your code Prettier👨‍💻 There are configuration files at the root of our caper-code repositories for these.

Command Line Intro

I have to say, I really feel like I've come a long way this last year. The command line wasn't new to me before, but I realized I've done good work and feel very comfortable in the command line. David went over basic navigation in the filesystem. Pwd, cd, cd .., mkdir, etc...

Here's a Command Line Cheat-Sheet.

David also shared this beautiful video about the Unix System. Enjoy!

GitHub

The way they track your work at Spiced is, of course through GitHub. They set up a private repository on github, we then clone it and create our own branch. That branch is what we work in for the course. This was my first time creating a new branch! It's really neat to be able to see all the branches of my classmates. During the class I started taking notes in an HTML document. (I've never inserted HTML into this editor before. I'm impressed!)

Today

  1. git clone < git repository >
    • Do this in a folder that is convenient for you (e.g. Desktop, Documents, etc.).
  2. cd caper-code
  3. git checkout -b yourname (replace "yourname" with your name)

Every Day

  1. git status - shows you what is happening in your branch in your local repo
  2. git add < filename > - adds a change so that it will be committed the next time you commit
  3. git status - allows you to ensure that you added the right stuff
  4. git commit -m "something sensible" - actually commits the changes you added. you know can get back to this state in an emergency
  5. git push origin mybranch:mybranch

Indentation

Finally we talked about indentation, spaces and line-breaks in JavaScript. Javascript (mostly) doesn't care about spaces, indentationsor line-breaks. This allows you to "minify" the code, which basicly takes out all of those things and puts all of your code on one, really long line. This enables the interpreter to read it faster, not so much the case for humans.

Our first assignment was to format a piece of javascript code, save it to a file in our branch and push that branch up to GitHub. Easy Peasy!

See You Tomorrow!

I hope this wasn't to bad, I'm still a little loopy. Tomorrows post should be better.