I wanted to change things up today so I started reading the React book today. It had a lot of examples and code snippets so 550 actually is not as much as it seems LOL. The book has a total of approximately 962 pages but some of that is not actual content but rather labelling as almost all books have.
The topics covered were mainly the basics but it was interesting to read another person’s explanation of concepts that I am already familiar with. The most interesting part was their use of the React hooks useReducer
hook. It make me really think about what it means to have a reducer
function and how react hooks work under the hood.
I started up some notes on React hooks so that I can cover that exact topic. Previously, I had written all of my notes on React in Microsoft OneNote. At the time I was handwriting my notes using a tablet pen. It was fun and looked nice but it was much slower and more difficult to search through for specific terms/topics. I have been intending to re-do them with my updated style of README
(markdown files) note pages. This will be a bit of a longer process but in the long run, the benefits will out way the costs.
The one thing that I have learned with all my coding studies is, that, storing your own relevant code snippets are key to increasing your coding speed. Documentation for tools and libraries are great but ultimately, we all have our own usage and styles of said tools and libraries. Sometimes we have one particular problem that we need to solve. Documenting those problems and the relevant solutions is paramount to our success. You can always refer back to your own notes quickly. Docs are inherently less familiar to us. The examples are never quite like what we need in a real project. Plus, once you learn how to you CLI commands like find
and grep
it becomes even more helpful.
To each is there own but I have transitioned from taking notes on paper, taking notes with a tablet and pen, to taking notes with diagrams and graphics software, to ultimately just taking notes with typing and README
files. I may continue to transition to something else but the bulk of my notes have come in the last year when I started to transition to README
files. I mean, even my blog posts are written as README
files.
Regardless, of what you choose I believe that note-taking is key part of learning and with the amount of learning I am trying to do it because the foundation to how I progress forward and not forget all that I have learned.
TLDR;
Okay, so here are the highlights of what I did:
- React -> Continued reading How to Code in React by Joe Morgan. Reade approximately 58% of the book. Mainly review but some interesting code patterns were used that I am less familiar with. I am going to take notes on those to keep a reference to it if I run into it again. I hope to finish the rest of it tomorrow so that I can keep moving forward with my backend studies.
- Practice -> Started working on the Inventory Management Application project from The Odin Project. The projects seems like a smaller version of the Local Library project so I am excited to try and produce it while looking at as few references as possible. I want to see if I really know what I am doing or not LOL. Should be fun!
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.