View on GitHub

reading-notes

Readings: Express, NPM, TDD, CI/CD

Reading

An introduction to NodeJS and Express

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

Middleware are custom functions or scripts run on the request or response objects. They are run during the request-response cycle.

Node Web Framework

Express is “unopinionated.” What does that mean?

Unopinionated means there isn’t a “right way” to do things. That can make the framework more versatile yet more challenging to use.

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

A module is a JavaScript library or file that can be imported with the require method.

What is NPM?

What version of npm are you running on your machine?

version 9.1.2

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

npm i jshint

What is TDD?

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

Tests are essential to ensuring code works before it goes into production. In addition, it allows for a way to check edge cases without relying on user feedback or having unexpected downtime.

What are three expected benefits of testing

Directly from the reading:

  • many teams report significant reductions in defect rates, at the cost of a moderate increase in initial development effort
  • the same teams tend to report that these overheads are more than offset by a reduction in effort in projects’ final phases
  • although empirical research has so far failed to confirm this, veteran practitioners report that TDD leads to improved design qualities in the code, and more generally a higher degree of “internal” or technical quality, for instance improving the metrics of cohesion and coupling

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?

What is the difference between Continuous Delivery and Continuous Deployment?

Continuous delivery is an extension of continuous deployment. Continuous delivery is small modular changes that are tested during deployment allowing for little downtime during updates.

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

GitHub has built-in testing that looks at the changes made to the code base and checks for issues before sending the changes down the pipeline.

Reflection

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

My learning goals are to retain what I am learning. There is so much in the README to learn, and not as much time as I would like to learn it all. I plan to take notes on topics I want to revisit later to ensure I get the most out of this course.