Day 04: Setting Up MongoDB Locally

The more I progress with backend development the more I appreciate the time I spent getting more comfortable with the terminal and shell scripting. This is a skill that was one of my best investments. I was setting up MongoDB locally to continue working on the Local library Express application. I already had MongoDB installed but I did not have it setup to run it easily from the shell. I updated the Path and got it running on my local server. Overall, it just felt good doing everything in the terminal and not needing to use the GUI. I can’t wait to see where I will be a year from now if I keep this up!

TLDR;

Okay, so here are the highlights of what I did:

  • Mongoose -> Briefly looked through the docs for the package since I will be using in this current project. I will not spend too much time on it since I don’t know if I will be using it in future projects as well. I lean a bit more toward SQL databases and I am still not totally comfortable with ORM/ODMs. I don’t know we will see how it goes.
  • Shell Scripting -> Reviewed the differences between $() and ${} usage in scripts. I was making some simple mistakes due to be rusty. Basically $(command) is used to include the output of a command inside of another command or string. The ${variable} syntax is a method of variable substitution. I need to review more on this because I still have some questions. I cannot wait for the time when I can learn some more about shell scripting. I think improving my shell scripting skills is like a multiplier for all my other programming skills. Setup and infrastructure is a huge part of dev that gets downplayed for the shiny stuff.
  • Practice -> Continued working through the practice ‘Local Library’ project in the MDN ExpressJS guide. I am on part three where I set up the database and mongoose ORM. Today was a slow day. I hope to tighten up and get more done tomorrow.


Goal For Round 8 of the #100DaysofCode Challenge

This is my eighth round of the “#100daysofcode” challenge. I will be continuing my work from round five, six, and seven into round eight. I was working through the book “Cracking the Coding Interview” by Gayle Laakmann McDowell. My goal was to become more familiar with algorithms and data structures. This goal was derived from my goal to better understand operating systems and key programs that I use in the terminal regularly e.g. Git. This goal was in turn derived from my desire to better understand the fundamental tools used for coding outside of popular GUIs. This in turn was derived from my desire to be a better back-end developer.

I am currently putting a pause on the algorithm work to build some backend/full stack projects. I primarily want to improve my skills with the back-end from an implementation perspective. I have improved tremendously in terminal and CLI skills but I lost focus due to how abstract the algorithm concepts got. I wanted to work on things that were more tangible until I can get to a position where I could directly benefit from improving my algorithm skills and theoretical knowledge. So that’s the focus right now. Build my backend skills and prove my full stack capabilities by building some dope projects.

Again, I still have no idea if my path is correct but I am walking down this road anyways. Worst case scenario I learn a whole bunch of stuff that will help me out on my own personal projects. Best case scenario I actually become one of those unicorn developers that go on to start a billion dollar company… You never know LOL.