Core Concepts & Setup Flashcards
Main Core Concepts about Backend (12 cards)
What is Node.js?
Node.js is a runtime environment that allows you to execute JavaScript code on the server side.
What is Express.js?
A minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications.
What is MongoDB?
A document-oriented NoSQL database used for high volume data storage
What is Mongoose?
A MongoDB object modeling tool designed to work in an asynchronous environment.
What is Bun?
Bun is an all-in-one JavaScript runtime & toolkit designed for speed, complete with a bundler, test runner, and Node.js-compatible package manager.
What are the key features of Node.js?
Event-Driven Architecture: Utilizes an event loop for asynchronous operations.
Non-Blocking I/O: Efficient handling of multiple operations without blocking the main thread.
npm (Node Package Manager): A vast ecosystem of packages to extend functionality.
What are the key features of Express.js?
Routing: Define URL paths and HTTP methods.
Middleware Support: Functions that execute during the request-response cycle.
Template Engines: Integrate with various templating engines for dynamic content.
What are the key features of MongoDB?
Flexible Schema: Store data in JSON-like documents.
Scalability: Designed to handle large amounts of data.
Aggregation Framework: Perform complex data analysis operations.
What are the key features of Mongoose?
Schema Definitions: Define the structure of your documents.
Model-Based: Interact with your data through models.
Middleware: Pre and post hooks for operations.
What are the key features of Bun?
Performance: Built from scratch using the Zig programming language for optimal speed.
Compatibility: Aims for 100% Node.js compatibility.
Integrated Tools: Includes a bundler, test runner, and package manager.
When to choose SQL?
Choose SQL when your application requires structured data, complex queries, and strong transactional support.
When to choose NoSQL?
Opt for NoSQL if you need flexibility in data models, horizontal scalability, and are dealing with large volumes of unstructured or semi-structured data.