reading-notes

Class 401.02

Notes

Readings

An introduction to NodeJS and Express

  1. Explain middleware

    Middleware is like a bridge that helps different parts of a software application talk to each other smoothly.

  2. Express the most popular web framework for Node.js

    Express is the most popular web framework for Node.js.

  3. Express is “unopinionated.” What does that mean?

    Express being “unopinionated” means it doesn’t force you to use specific tools or patterns, giving you flexibility in how you build web applications.

  4. What is a module and why is modularity useful to us as developers?

    A module is like a toolbox that contains pre-made bits of code, and modularity is useful because it helps developers organize and reuse code, making projects easier to manage and collaborate on.

What is NPM?

  1. What version of npm are you running on your machine?

    You can check the npm version by running npm -v in your terminal.

  2. What command would you type to install a library/package called ‘jshint’ into your node project?

    To install the ‘jshint’ library/package in your Node project, you can use the command npm install jshint.

What is TDD

  1. Explain why tests are important. Please explain as though I were your non-technical elder.

    Tests are crucial because they act like safety nets for software. Just like how seatbelts keep us safe in cars, tests ensure that our computer programs work as expected, reducing the chances of errors and making technology easier and more reliable to use.

  2. What are three expected benefits of testing?

    Testing helps catch bugs early, improves code quality, and provides documentation for how the software should work, making it easier for developers to collaborate and maintain projects over time.

  3. Name at least 2 individual pitfalls and at least 2 team pitfalls commonly encountered while writing tests.

    Individual pitfalls include writing tests that are too complex or not covering enough scenarios. Team pitfalls often involve inconsistent testing practices among team members and insufficient communication about testing goals and strategies.

CI/CD

  1. What are three benefits of Continuous Integration?

    Continuous Integration (CI) helps catch and fix bugs early in the development process, ensures that code changes don’t break existing functionality, and promotes collaboration among team members by providing a centralized and automated testing and deployment process.

  2. What is the difference between Continuous Delivery and Continuous Deployment?

    Continuous Delivery (CD) is a practice where code changes are automatically built, tested, and prepared for release, but the actual deployment to production is a manual decision. In contrast, Continuous Deployment (CD) takes automation a step further by automatically deploying code changes to production as soon as they pass all tests, without manual intervention.

  3. Explain how GitHub fits into this process assuming the listener comes from a non-technical background.

    Think of GitHub as a digital platform that acts like a collaborative workspace for software development. It’s like a place where multiple people can work on a document at the same time, but instead of a document, it’s a piece of software. GitHub helps developers store and manage code, track changes, collaborate with others, and ensure that new code updates are thoroughly tested before being used by real users.

Things I want to learn more about

References