reading-notes

Express, NPM, TDD, CI/CD

An introduction to NodeJS and Express

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

Imagine you have two computers that need to talk to each other, but they speak different languages. Middleware steps in to help them communicate effectively. It acts like a translator to ensure information flows between these computers.

Node web framework

Express is “unopinionated.” What does that mean?

When people say Express is “unopinionated,” it means that the Express.js web application framework for Node.js doesn’t enforce strict conventions or coding styles on developers. It provides flexibility, allowing developers to make their own choices about how to structure and design their web applications, unlike opinionated frameworks like Ruby on Rails or Django, which come with predefined conventions and best practices.

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

A module is a self-contained, reusable unit of code that encapsulates a specific functionality or a set of related functions. Modules help break down a larger program into smaller, manageable components, making the codebase more organized and maintainable.

What is NPM?

What version of npm are you running on your machine?

9.8.1

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

To install the “jshint” library/package into your Node.js project, you can use the “npm install jshint” npm command in your project’s root directory.

What is TDD?

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

Tests are important because they guarantee the quality and safety of our creations.Tests are like quality checks for things we create, such as computer programs or cars. They help ensure that what we make works correctly and is safe to use by catching problems before they become big issues.

What are three expected benefits of testing

Improved Quality, Bug Detection/ Prevention, Maintainability. Additionally, testing can also lead to increased developer productivity, better collaboration among team members, and enhanced customer satisfaction, as it helps deliver software that is more reliable and meets user expectations.

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

Individual pitfalls in writing tests include creating overly complex tests and failing to achieve comprehensive test coverage. Team pitfalls involve inconsistent testing practices among team members and neglecting the maintenance of tests over time.

CI/CD

What are three benefits of Continuous Integration?

Improved Code Quality, Early Issue Detection, Faster Development and Deployment

What is the difference between Continuos Delivery and Continuous Deployment?

the difference is in the final step of the process. In CD, code changes are automatically prepared for production but require a manual decision to release them. In Continuous Deployment, there is no manual intervention, and code changes are automatically deployed to production as soon as they pass all tests and checks. =

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

GitHub is like the engine that powers collaboration and teamwork in software development. It keeps track of changes, helps teams work together, and ensures that the software is high-quality and reliable before it’s released to the public. It’s a critical tool that makes modern software development possible.

Reflection

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

The backend isn’t discussed nearly as often as frontend, so I am looking forward to solidify my understanding of what exactly is needed.

Bookmark and Review