The log of my #100DaysOfCode challenge. Started on September 26, 2022.
Today's Progress: Reviewing basic JavaScript logical statements, loops, if statements, data types.
Thoughts: Fairly easy review.
Today's Progress: Learn how to use Git on the command line, including push/pull workflow with a partner.
Thoughts: Quite fun and feels far more efficient than using a heavy Git GUI like I have been the past few years.
Link to work: Romeo and Juili-Git
Today's Progress: Exercises using logical operators, variables, loops and functions.
Thoughts: Fairly simple and logical.
Today's Progress: Reviewing variables, data types, many exercises.
Thoughts: Enjoyable if a bit easy.
Today's Progress: First all day hackathon.
Thoughts: Nice little challenge, but not very difficult.
Link to work: Building a rock, paper, scissors app in JavaScript
Today's Progress:
Thoughts:
Link to work: DOM 101, DOM 102, Intro to CodeWars
Today's Progress:
Thoughts:
Link to work: Rock Paper Scissors, DOM Edition, DOM Events
Today's Progress:
Thoughts:
Link to work: Async clock, Talking to servers using fetch()
Today's Progress:
Thoughts:
Link to work: Navigating Data
Today's Progress:
Thoughts:
Link to work: Created an app that can fetch data from a cloud API based on a user's query
Today's Progress: Created a 10 second elevator pitch/intro for myself. Started hacking on Frontend Mentor challenges to use CSS, HTML and JS to build designs. Learn a lot about Agile development, UI and UX. Made a basic webpage without previewing the page once until I'd finished coding it.
Thoughts: Much less intensive than last week already, but I don't feel very confident in my design skills, especially CSS.
Link to work: Basic webpage
Today's Progress: Learnt a lot about the 5-stage design process and design thinking. Then learn how to use CSS variables.
Thoughts: Design thinking is quite interesting, and I can see now why designers and developers are typically two distinct roles, there's a lot to cover and specialise in. Definitely a lot to keep in mind when designing projects in the future.
Link to work: CSS variables workshop
Today's Progress: Learnt about UI, UX, wireframing and CSS organisation.
Thoughts: Lots of interesting topics today. Figma is something I should intend to use lots in the future for designing. CSS Diner was great practice for using CSS selectors. Learn about SASS and other CSS frameworks briefly mentioned.
Link to work:
Today's Progress: Learn some advanced CSS including flexbox and responsive design. Presentation on using user interviews during the design process.
Thoughts: Review other flexbox resources - haven't quite got this yet. My skill in CSS is slowly improving but I need more practice.
Link to work:
Today's Progress: Hackathon day, built a high fidelity wireframe using Figma and then created it using HTML and CSS.
Thoughts: Challenging project and don't feel very confident in my design skills but got the job done. I should practice more with Frontend Mentor and CSS flexbox to gain confidence in it.
Link to work: Website from scratch
Today's Progress: Learning all about NodeJS, CommonJS modules and importing NPM modules.
Thoughts: Very interesting topic if quite unfamiliar syntax. Destructuring also feels quite alien and I need to look into it.
Link to work: Modules workshop, working with files
Today's Progress: Learn how to setup an Express project, and use the fs module to parse and stringify to modify JSON.
Thoughts: Not too bad learning how to setup my own Node + Express project but this syntax needed for parsing and stringifying I need to practice using.
Link to work: Express workshop
Today's Progress: Learnt about CRUD and REST, how to use Postman to debug APIs, and how to setup GET/POST/PATCH/DELETE routes in Express.
Thoughts: Quite challenging. Debugging feels harder than web development where you have the browser dev tools, though I'm sure it's just because it's brand new to me.
Link to work: Building a REST API
Today's Progress: Learnt how to use middleware to modularise our code, splitting up our main logic from our route handlers. Also how to use Express to serve a static site.
Thoughts: Lots of tricky concepts today, but I'm starting to get familiar with route handlers in Express now.
Link to work: Building a REST API (continued)
Today's Progress: Hackathon day, creating an API from scratch to interact with our client code.
Thoughts: I understand creating APIs much better now, feels like the week's learning has all come together. Presentation went quite well and we probably made the most progress in the hackathon compared to our group.
Link to work: Building a backend
Today's Progress: Learning how to do basic SQL queries, make tables, and SQLBolt exercises.
Thoughts: A bit difficult, and a dramatic shift of topic once I felt I was truly getting to grips with Express.js. Curious how SQL will tie into our project.
Link to work: Intro to Postgres, DB-Fiddle for workshop.
Today's Progress: Learning more advanced SQL including JOINs, SQLBolt for various aspects, pgexercises and SQL Murder Mystery.
Thoughts: SQL isn't as daunting as I thought, and quite interesting. Seeing it as similar to JavaScript now, just need to master the syntax.
Link to work: SQL JOINS, SQL Murder Mystery
Today's Progress: Learning how to use node-postgres
package to connect to a SQL cloud database. Rewriting my 100 Days of Code notes into a git repo, to better detail my progress and for greater accountability.
Thoughts: Quite challenging, though the cloud server we were using went down halfway so I'm not sure if the debugging was failing due to that or our own code.
Link to work: Connecting NodeJS library app to SQL
Today's Progress: Mindset workshop on how to reach compromises and consensus amongst groups, progress check meeting with enablement coaches, continuing yesterday's project with Node project and managed to write several functions, delivered group presentation on offset vs cursor-based pagination.
Thoughts: Workshop was quite interesting and valuable since I used different probably less effective methods for disagreements before. Progress check went really well, glad I could prove I can do well on both mock interviews and coding exams. Did significant progress on the workshop in the time given, and successfully wrote a few functions using parameterised queries. Presentation went well also and was interesting learning from others' ones as well especially about arrow functions, API versioning and GraphQL.
Link to work: Connecting NodeJS library app to SQL (continued)
Today's Progress: Hackathon day, built a REST API with Node.js, Express & PostgreSQL.
Thoughts: Went pretty well building out this backend, though I need some more practice with using node-postgres to make debugging faster.
Link to work: Built a REST API with Node.js, Express & PostgreSQL
Today's Progress: Learning about the importance of code testing, and trying my first automated tests using Jest.
Thoughts: Interesting topic that has seemed important to know when I made PRs for large open-source projects. Also good input from an alumni today to not prematurely optimise with tests until the feature is complete.
Link to work: Introduction to Jest
Today's Progress: Learning a lot about Test-Driven Development and trying this approach to development.
Thoughts: I've heard TDD said many a time whilst browsing tech sites, so it's very interesting to try it in practice. Also informative talk from Cypress devs today, excited to try out this tool more tomorrow.
Link to work: Test-driven development
Today's Progress: Lots of experimenting with Cypress for automating tests like selecting buttons, inputting data in fields, etc. Then experimenting with SuperTest for writing a test suite for an API.
Thoughts: Quite fun learning how to properly automate end-to-end and API testing. I'm getting the syntax well and can see how it's very useful to have these tests rather than having to manually test via a user as well as Postman for example.
Link to work: Introduction to Cypress, API Endpoint Testing
Today's Progress: Learnt about NoSQL databases (especially Couchbase), continuted API testing using SuperTest, and built my own CodeWars-like coding exercise using Jest for tests.
Thoughts: Fun practical way to use tests by creating my own CodeWars-like exercise, which makes me appreciate all the free CodeWars exercises I've been doing so far. Also got to experience a wide range of different problems by testing my colleagues' DIY exercises too.
Link to work: Make my own CodeWars-like code exercises
Today's Progress: Built multiple tests for an Express.js to-do app.
Thoughts: Was quite frustrating that we got tripped on two minor bugs including forgetting to explicitly import our environment variables, but building the tests itself with Cypress, Jest and SuperTest went quite well.
Link to work: Test-athon
Today's Progress: Learnt how to write basic React, JSX and props.
Thoughts: I like that JSX is very readable and builds on existing HTML skills. Was a bit tricky initially but a some more time spent on it has allowed me to much better debug how and why code wouldn't work.
Link to work: Recap for last week, Intro to React
Today's Progress: Using Create React App, writing React function components, props and children.
Thoughts: Nice to now be using React in a React project rather than just plain HTML. Props and children seem a little unintuitive, practice on them.
Link to work: Array methods, React Components
Today's Progress: Learning State in React and utilising the useState hook.
Thoughts: This is the hardest topic in the bootcamp so far, and it seems most of the class is struggling similarly. Gonna need to spend even more time outside class focused on this subject to get it internalised.
Link to work: React useState hook, using useState with onChange.
Today's Progress: Learning spread and slice immutable methods on arrays, and using the map method to create multiple components with unique ids.
Thoughts: Today went much better. Grasped using immutable methods like the spread operator and slice on arrays quite quickly, as well as using map on React components. Feel I've fully grasped props now and children. Am feeling a lot more confident about the hackathon tomorrow, which I didn't expect to be.
Link to work: Immutable array methods, React lists and keys
TEMPLATE
Today's Progress:
Thoughts:
Link to work: