Skip to the content.

Express, NPM, TDD, CI/CD

Return to Home

Questions

Why this matters

Node is often used for building server-side applications and creating back-end services and is what we’ll be using in this 401, and we have to learn how to use middleware properly. NPM is important because thats what we’re using to install packages. TDD is a habit that we need to get into to become industry ready and test our code properly.

An introduction to NodeJS and Express

Explain middleware, answer as though I were a non-technical recruiter. Middleware is a software layer that modifies or extends an application’s functionality.

Express the most popular __ __ __. Node middleware

Express is “unopinionated.” What does that mean? Express is “unopinionated,” meaning it does not force specific tools or workflows on the user.

What is a module and why is modularity useful to us as developers? A module is self-contained code that performs a specific task. Modularity makes code easier to understand, maintain, reuse, test, debug, and integrate with other code.

What is NPM?

What version of npm are you running on your machine? 8.15.0

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 important because they help ensure that an application is working correctly.

What are three expected benefits of testing

improved quality of the application, increased confidence in the application, and easier maintenance of the application.

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

Individual pitfalls - writing tests that are too broad or too specific, and not writing enough tests to adequately cover the application.

Team pitfalls - not having a consistent testing strategy, and not having a dedicated testing resource.

CI/CD

What are three benefits of Continuous Integration?

Benefits of Continuous Integration - faster feedback, easier identification of integration issues, and reduced risk of errors.

What is the difference between Continuos Delivery and Continuous Deployment? Explain how GitHub fits into this process assuming the listener comes from a non-technical background

Continuous Delivery involves automatically releasing code to a staging or production environment, while Continuous Deployment involves automatically releasing code to production.