Authentication, Databases, Performance & Scaling, System Design & Architecture, Node.js & Security, Database Mastery (ACID & Optimization), Frontend & React, React Performance & Advanced Hooks

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/67

flashcard set

Earn XP

Description and Tags

Flashcards covering key vocabulary related to authentication and database concepts.

Last updated 11:23 AM on 4/25/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

68 Terms

1
New cards

Authentication

The process of verifying who a user is.

2
New cards

Authorization

Determines what an authenticated user can do.

3
New cards

JWT (JSON Web Token)

A secure ID card used to identify users across web applications.

4
New cards

Access Token

A temporary token with a short lifespan, used for API requests.

5
New cards

Refresh Token

A long-lived token used to obtain a new access token when the original expires.

6
New cards

Sessions

Stateful method where the server remembers user data.

7
New cards

Cookies

Small pieces of data stored on the user's computer by the browser.

8
New cards

Bcrypt

A one-way function used to hash passwords.

9
New cards

SQL

Structured Query Language; used for databases with strict schema.

10
New cards

NoSQL

A flexible, document-based database format (like MongoDB) for unstructured data.

11
New cards

N+1 Query Problem

An issue that arises when a single query results in multiple subsequent queries to the database.

12
New cards

Joins

A method to combine records from two or more tables in a database.

13
New cards

ACID properties

A set of properties (Atomicity, Consistency, Isolation, Durability) ensuring reliable database transactions.

14
New cards
Caching
A technique to store frequently accessed data in a faster storage (like RAM) for quick access.
15
New cards
TTL
Stands for Time to Live; the expiration date for cached data to prevent it from staying forever.
16
New cards
CDN
Content Delivery Network; servers located geographically to store images/videos closer to users and reduce lag.
17
New cards
CAP Theorem
A principle in distributed systems stating you can only choose two of the following: Consistency, Availability, or Partition Tolerance.
18
New cards
Consistency (C)
A property wherein all users see the exact same data at the same time.
19
New cards
Availability (A)
A property ensuring the system always responds to requests, even with slightly outdated data.
20
New cards
Partition Tolerance (P)
A requirement for a system to continue operating despite network failures.
21
New cards
Message Queues
A method of offloading slow tasks to background workers so that users do not experience delays.
22
New cards
RabbitMQ/Kafka
Examples of message queue systems that help manage background processing of tasks.
23
New cards
Queue
A data structure where tasks wait to be processed by background workers.
24
New cards

Vertical Scaling

Increasing the resources of a single server (e.g., more RAM, CPU power) to handle more load.

25
New cards

Horizontal Scaling

Adding more servers to distribute the load; essential for handling large-scale applications.

26
New cards

Load Balancer

A device or software that distributes network or application traffic across multiple servers to ensure no single server is overwhelmed.

27
New cards

Monolith

A software architecture where all components are interconnected and interdependent, making it easy to deploy but hard to scale.

28
New cards

Microservices

An architectural style that structures an application as a collection of small, loosely coupled services, enhancing modularity and scalability.

29
New cards

MVC Pattern (Model-View-Controller)

A software design pattern that separates an application into three main logical components: Model (data), View (UI), and Controller (business logic).

30
New cards
Node.js Runtime
A JavaScript runtime built on Chrome's V8 JavaScript engine.
31
New cards
Single-Threaded
Node.js has a single main thread that handles all requests.
32
New cards
Non-blocking I/O
A method of processing input/output that allows the server to continue executing other tasks without waiting for operations to complete.
33
New cards
Event Loop
The mechanism that manages asynchronous tasks in Node.js, enabling the main thread to remain non-blocked.
34
New cards
Async/Await
A syntax in JavaScript that allows asynchronous code to be written in a synchronous manner, improving code readability.
35
New cards
SQL Injection (SQLi)
A type of attack where an attacker inserts malicious SQL code into a database query to manipulate the database.
36
New cards
Parameterized Queries
A method of using templates for database queries that treat inputs as data rather than executable code.
37
New cards
XSS (Cross-Site Scripting)
An attack that injects malicious scripts into web pages understood by users' browsers to steal information such as cookies.
38
New cards
CSRF (Cross-Site Request Forgery)
An attack that tricks a user's browser into making unwanted requests to a web application in which they are authenticated.
39
New cards
CSRF Tokens
Unique keys used to validate that a request originated from an authenticated user's site.
40
New cards
Environment Variables (.env)
Files used to store configuration settings, such as API keys and database passwords, separate from your codebase.
41
New cards

Atomicity

The property ensuring that a transaction is either fully completed or not executed at all; if part of a transaction fails, the entire transaction fails.

42
New cards

Consistency

The principle that a database must always transition from one valid state to another, adhering to all predefined rules and constraints.

43
New cards

Isolation

The ability of concurrent transactions to operate independently without interference, ensuring each transaction's operations remain unaffected by others.

44
New cards

Durability

The guarantee that once a transaction has been committed, it will remain so, even in the event of a system failure.

45
New cards

Indexing

A data structure that improves the speed of data retrieval operations on a database table, enabling quick lookup without scanning rows.

46
New cards

N+1 Query Problem

An inefficiency that occurs when a single query results in multiple subsequent queries, which can be mitigated using Joins or Eager Loading.

47
New cards

One-to-Many Relationship

A type of data relationship where one record in a table is associated with multiple records in another table, such as a user with many posts.

48
New cards

Many-to-Many Relationship

A relationship where multiple records in one table can be associated with multiple records in another table, such as students enrolled in various courses.

49
New cards

Inner Join

A database operation that returns only the rows where there is a match in both tables provided in the query.

50
New cards

Left Join

A database operation that returns all rows from the left table and matched rows from the right table; if there is no match, NULLs are displayed for the right table.

51
New cards

let vs const

Use const by default; use let only if the value will change.

52
New cards

Arrow Functions

A shorter syntax for functions, e.g., () => {}.

53
New cards

Destructuring

Method to pull values out of objects or arrays easily, e.g., const { name } = user.

54
New cards

Components in React

Reusable building blocks of the UI that define how a part of the interface should appear.

55
New cards

Props in React

Data passed down from parent components to child components; they are read-only.

56
New cards

State in React

Data managed inside a component that can change over time, influencing the component's rendering.

57
New cards

Virtual DOM

A lightweight copy of the real DOM that React uses to detect changes efficiently before updating the real DOM.

58
New cards

useState Hook

A Hook that lets functional components manage state.

59
New cards

useEffect Hook

Handles side effects in components, such as data fetching or timers, and runs after the component renders.

60
New cards

useContextHook

Avoids prop drilling by sharing data globally across components.

61
New cards
Re-render Problem
Occurs each time state changes, causing lag if components are heavy.
62
New cards
Memoization
Caching technique used in React to prevent unnecessary re-renders.
63
New cards
React.memo
A higher-order component that prevents re-renders unless props change.
64
New cards
useMemo
A hook that caches the result of an expensive calculation.
65
New cards
useCallback
A hook that caches a function to prevent child components from re-rendering.
66
New cards
CSR (Client-Side Rendering)
A rendering strategy where the browser downloads a blank page and JavaScript constructs the page.
67
New cards
SSR (Server-Side Rendering)
A rendering strategy where the server builds HTML for each request, benefiting SEO.
68
New cards
SSG (Static Site Generation)
A rendering strategy where the page is built once at compile time, resulting in faster load times.