reading-notes

Class 2 Express, NPM, TDD, CI/CD

Link to article: An introduction to NodeJS and Express

Link to article: What is NPM?

Link to article: What is TDD?

Link to article: CI/CD


An introduction to NodeJS and Express

Explain middleware, answer as though I were a non-technical recruiter.

Middleware is a layer of software that acts as a bridge between different applications, allowing them to communicate and share data efficiently.

Express the most popular __ __ ____.

Express is the most popular Node web framework

Express is “unopinionated.” What does that mean?

Express being “unopinionated” means it doesn’t impose strict rules or preferences on how you develop web applications, giving you more flexibility.

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

Modules are self-contained code units that serve specific functions, and their modularity is useful to developers for efficient organization, reusability, and simplified maintenance.

What is NPM?

What version of npm are you running on your machine?

9.6.4

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

npm install jshint

What is TDD?

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

Tests are crucial because they help ensure that the code works as intended, catch bugs early, provide confidence in software quality, and make future changes safer and more predictable.

What are three expected benefits of testing

Testing provides three benefits: bug detection, software quality assurance, and code maintainability.

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

CI/CD

What are three benefits of Continuous Integration?

Three benefits of Continuous Integration are early bug detection, faster feedback loop, and improved collaboration among developers.

What is the difference between Continuos Delivery and Continuous Deployment?

Continuous Delivery involves manual approval for software releases, while Continuous Deployment automatically deploys changes without human intervention.

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

GitHub is a place where developers store and work on their code, allowing teams to collaborate and integrate their work with the CI/CD process.

Reflection

What are your learning goals after reading and reviewing the class README?

My learning goals after reading and reviewing the class README are to gain a better understanding of Node.js, Express, testing practices, and CI/CD workflows.