Closures
Functions that retain access to variables from their outer scope even after execution.
CoreConceptLab
863 Concepts Explained
Functions that retain access to variables from their outer scope even after execution.
Handles asynchronous operations with resolve and reject states.
Syntactic sugar over promises to write asynchronous code in synchronous style.
Mechanism that handles execution of multiple chunks of code in single-threaded JS runtime.
JavaScript behavior of moving declarations to the top of the scope before execution.
Defines the accessibility of variables and functions in different parts of the code.
Mechanism by which JavaScript objects inherit features from one another.
Refers to the object that is executing the current function.
Allows splitting code into reusable modules using import and export.
A shorter syntax for writing functions with lexical this binding.
Extract values from arrays or objects into variables.
Used to expand or collect elements in arrays and objects.
Functions passed as arguments to other functions for execution.
Delays execution of a function until a pause in events.
Limits how often a function can execute over time.
Defines how JavaScript code is evaluated and executed.
Tracks function execution order in JavaScript.
Functions that take other functions as arguments or return them.
Containers for storing data values using var, let, or const.
Primitive types like string, number, boolean, null, undefined, and symbol.
Collections of key-value pairs representing structured data.
Ordered lists of elements that can hold multiple values.
Functions passed as arguments to be executed later.
Mechanism for objects to access properties of other objects.
ES6 syntax for creating objects and inheritance structures.
Reusable pieces of code imported and exported between files.
String interpolation using backticks and ${} syntax.
Automatic conversion of values between types.
Enforces cleaner coding practices and prevents silent errors.
Actions that occur in the browser, like clicks or key presses.
Interacting with and updating HTML elements dynamically.
Lightweight data format for exchanging structured data.
Stores key-value data persistently in the browser.
Stores temporary data for a single browser session.
Modern interface for making HTTP requests.
Managing runtime errors using try, catch, and finally.
Collections for unique values and key-value pairs.
Basic building blocks of Angular applications that control views.
Organizes the application into cohesive blocks of functionality.
HTML views with Angular-specific syntax and directives.
Synchronizes data between template and component using interpolation and bindings.
Adds behavior to DOM elements (e.g., ngIf, ngFor, ngClass).
Reusable business logic shared across components.
Design pattern used to inject dependencies into components and services.
Enables navigation between different views using Angular Router.
Transforms data in templates (e.g., date, currency, uppercase).
Methods that execute at specific stages of a component's life (e.g., ngOnInit).
Form handling approach using FormGroup and FormControl for more control.
Service used for making HTTP requests to backend APIs.
Handle user input with template-driven and reactive forms.
Mechanism to update the view when data changes.
Asynchronous data streams provided by RxJS.
Control access to routes based on conditions.
Modify HTTP requests and responses globally.
Load feature modules only when needed.
Command-line interface for generating and managing Angular projects.
Unit and integration testing using Jasmine and Karma.
Create dynamic transitions and effects.
Manage application state using services or libraries like NgRx.
Bind DOM events to component methods.
Combine property and event binding for form inputs.
Model-driven approach to handling forms.
Simpler way to build forms using directives.
Control CSS scoping for components.
Execution contexts that help Angular track async operations.
Next-generation rendering engine for Angular.
Server-side rendering for Angular applications.
Support multiple languages and locales.
Defines layout with margin, border, padding, and content.
Layout model for designing flexible responsive layouts.
Two-dimensional layout system for arranging elements.
Used to target HTML elements for styling.
Controls how elements are positioned using static, relative, absolute, fixed, and sticky.
Defines how elements are displayed (block, inline, inline-block, none).
Controls vertical stacking order of positioned elements.
Defines what happens when content overflows its container.
Enables responsive design by applying styles based on screen size.
Creates keyframe-based animations for smooth transitions.
Defines smooth changes between CSS property values.
Defines reusable values using --variable syntax.
Styles elements based on state like :hover, :focus, :active.
Styles specific parts of elements like ::before and ::after.
Transforms files like CSS and TypeScript into JavaScript.
Applies background colors, images, gradients, and patterns.
Animates property changes smoothly over time.
Defines how conflicting CSS rules are applied.
Defines lengths using px, em, rem, %, vh, and vw.
Defines transparency levels of elements.
Controls font family, size, weight, and line height.
Applies scaling, rotation, translation, and skewing.
Imports and applies custom fonts using @font-face.
Defines text, background, and border colors.
Determines which CSS rule takes precedence.
Allows properties to be passed from parent to child elements.
Controls whether elements are visible or hidden.
Defines how media like images fit within containers.
Controls border width, style, and radius.
Adds box-shadow and text-shadow effects.
Uses media queries to adapt layouts to different screen sizes.
Creates complex shapes by clipping elements.
Simplifies selecting and modifying HTML elements.
Handles user interactions like clicks and key events.
Simplifies asynchronous HTTP requests.
Uses CSS-like syntax to select DOM elements efficiently.
Allows multiple methods to be applied on the same element in a single statement.
Methods like html(), text(), and val() to get or set content.
Store and retrieve data associated with DOM elements using data().
Manages sequences of animations using the queue system.
Iterate over elements using each() for custom logic.
Handle global AJAX events like ajaxStart and ajaxComplete.
Serialize form data for AJAX submission using serialize() and serializeArray().
Provides built-in animations like hide, show, fade, and slide.
Get or set attributes using attr() and removeAttr().
Simplifies working with forms, inputs, and validation.
Attach event handlers to parent elements for dynamically added children.
Extend jQuery functionality with reusable plugins.
Use hierarchical selectors like descendant, child, and sibling.
Avoid conflicts with other libraries by releasing the $ alias.
Filter selected elements using methods like filter(), not(), and has().
Handle asynchronous operations with promises and callbacks.
Animate opacity with fadeIn(), fadeOut(), and fadeToggle().
Animate height with slideUp(), slideDown(), and slideToggle().
Simplified AJAX calls using $.get(), $.post(), and $.load().
Ensures code runs only after the DOM is fully loaded.
Provides helper functions like $.each(), $.extend(), and $.trim().
Load data asynchronously from servers without page reload.
Change CSS properties and classes dynamically.
Navigate DOM elements using parent(), children(), siblings(), etc.
Create and trigger custom events for application logic.
Toggle element visibility using hide(), show(), and toggle().
Transform collections using map() to return new arrays.
Renders pages on the server before sending them to the client.
Pre-renders pages at build time for better performance.
Allows building backend APIs inside Next.js applications.
Routes are automatically created based on the file structure in the pages directory.
Introduced in Next.js 13, provides a new file-based routing system using the app directory.
Reusable templates that wrap around pages or routes.
Fetch data using getStaticProps, getServerSideProps, or client-side hooks.
Customize the HTML document structure using _document.js.
Override the default App component using _app.js for global styles and providers.
Deploy Next.js apps to platforms like Vercel, Netlify, or custom servers.
Run code before a request is completed, useful for authentication and redirects.
Optimize images automatically using the Next.js Image component.
Manage metadata such as titles and meta tags.
Organize routes into groups without affecting the URL structure.
Support multiple languages and locales with built-in i18n routing.
Serve images, fonts, and files from the public directory.
Improve performance by caching API responses.
Defines routes automatically based on the file system in the pages directory.
React components rendered on the server by default for better performance.
Renders pages on the server at request time for dynamic content.
Allows static pages to be updated after build without rebuilding the entire site.
Create routes with parameters using square brackets in the file name.
Custom error pages and error boundaries for better UX.
Manage SEO with metadata, canonical tags, and structured data.
React components rendered on the client, useful for interactive UI.
Pre-renders pages into static HTML at build time.
Define backend endpoints inside the pages/api directory.
Provides client-side navigation with prefetching.
Built-in loading states for routes and components.
Implement login and session management using libraries like NextAuth.js.
Manage environment-specific settings using .env files.
Test Next.js apps using Jest, React Testing Library, or Cypress.
Improve app speed using lazy loading, code splitting, and caching.
Add middleware to API routes for validation, logging, or authentication.
A syntax extension that allows writing HTML-like code inside JavaScript.
Reusable building blocks of a React application that define UI parts.
Inputs passed to components to make them dynamic and reusable.
An object that stores dynamic data and determines component rendering.
Functions like useState and useEffect that let you use state and lifecycle features in functional components.
Hook used to handle side effects like API calls and subscriptions.
A lightweight copy of the DOM used to optimize rendering performance.
Provides a way to pass data through the component tree without prop drilling.
Form elements whose values are controlled by React state.
Library used for routing and navigation in React applications.
Components written as JavaScript functions that return JSX.
Components defined using ES6 classes with lifecycle methods.
Hook used to add state to functional components.
Hook used to access context without using Consumer.
Optimizes performance by memoizing computed values.
Returns a memoized version of a callback function.
Provides a mutable reference that persists across renders.
Allows grouping multiple elements without adding extra DOM nodes.
Catches JavaScript errors in components and displays fallback UI.
Splits code into separate bundles for better performance.
Loads components only when they are needed using React.lazy.
Provides direct access to DOM elements or React components.
Hook for managing complex state logic.
Methods that run at different stages of a component’s life.
Unique identifiers for list items to optimize rendering.
Handling user input and form state.
Form inputs managed by the DOM itself.
Routes that change based on parameters.
Component for handling asynchronous rendering.
Render children into a DOM node outside the parent hierarchy.
Higher-order component for memoizing functional components.
Browser extension for debugging React applications.
Library for testing React components.
JavaScript testing framework often used with React.
Introduction to TypeScript, its purpose, and how it extends JavaScript with static typing.
Explicitly defining variable and function types to ensure type safety.
TypeScript automatically infers types based on assigned values.
Basic types such as string, number, boolean, null, undefined, and symbol.
Defining structured data with properties and their types.
Defining arrays with specific element types.
Fixed-length arrays with defined types for each position.
Defining a set of named constants for readability and maintainability.
Allowing a value to be one of several types.
Combining multiple types into one.
Restricting values to specific literals such as 'yes' or 'no'.
Creating custom names for complex types.
Defining contracts for object shapes.
Object-oriented programming with TypeScript classes.
Controlling visibility of class members using public, private, and protected.
Properties that cannot be reassigned after initialization.
Properties that may or may not exist on an object.
Reusable components with type parameters.
Restricting generic types to specific shapes or values.
Built-in helpers like Partial, Pick, Omit, and Record.
Transforming types by iterating over keys.
Types that depend on conditions using extends.
Extracting keys of a type as a union.
Using typeof to capture the type of a variable.
Accessing the type of a property using square brackets.
Defining types for functions including parameters and return values.
Functions with multiple type signatures.
Comparison between interfaces and type aliases in TypeScript, highlighting differences in flexibility and features.
Exploring advanced compiler options in tsconfig.json such as strict mode, module resolution, and path mapping.
Combining multiple declarations with the same name into a single definition, useful for extending libraries.
Handles events asynchronously using listeners.
Used to handle large data efficiently in chunks.
Module for interacting with the file system.
Functions that execute during request-response cycle (Express).
Handles asynchronous operations by processing callbacks in a non-blocking manner.
Executes operations without blocking the main thread.
Built-in objects available globally like process, console, and Buffer.
Provides information and control over the current Node.js process.
Handles binary data directly in memory.
Enables running multiple Node.js processes for better scalability.
Runs JavaScript in parallel threads for CPU-intensive operations.
Manages project dependencies and scripts configuration.
Node Package Manager used to install and manage packages.
Stores configuration settings outside the application code.
Core mechanism that handles asynchronous operations in Node.js.
Reusable pieces of code organized into CommonJS or ES modules.
Managing exceptions and errors gracefully in Node.js apps.
Syntax for handling asynchronous code more cleanly.
Connecting Node.js apps to databases like MongoDB, MySQL, or PostgreSQL.
Tracking application events using libraries like Winston or Bunyan.
Deploying Node.js apps to platforms like Heroku, AWS, or Docker.
Defines how requests are handled based on URL and HTTP method.
Alternative to REST for querying APIs with flexible schemas.
Frameworks for unit and integration testing in Node.js.
Allows scaling Node.js apps across multiple CPU cores.
Popular library for real-time communication using WebSockets.
Object-relational mapping tools for database management.
Built-in module to create HTTP servers and clients.
Using tools like Node Inspector or console.log for debugging.
Spawning subprocesses to handle tasks outside the main event loop.
Real-time communication protocol supported in Node.js.
Popular web framework for building APIs and web apps with Node.js.
Building Representational State Transfer APIs with Node.js.
Implementing login systems using JWT, OAuth, or sessions.
Controlling access to resources based on user roles.
Objects representing eventual completion or failure of async operations.
Managing environment-specific settings securely.
HTML tags that convey meaning like header, article, footer.
Collect user input using input, textarea, and form elements.
Embed audio and video content using audio and video tags.
Provides metadata about the HTML document.
Defines the basic structure of an HTML document using html, head, and body tags.
Building blocks of HTML consisting of opening and closing tags.
Provides additional information about HTML elements like id, class, src.
Uses anchor tag to navigate between pages or sections.
Displays ordered and unordered lists using ol and ul tags.
Displays tabular data using table, tr, td, and th tags.
Embeds another HTML page within the current page.
Used to draw graphics and animations using JavaScript.
Improves accessibility using ARIA attributes for assistive technologies.
Optimizing HTML structure and tags for search engine visibility.
Defines titles and subtitles using h1–h6.
Creates hyperlinks using <a>.
Embeds images using <img>.
Embeds video using <video>.
Represents special characters like & and <.
Attributes like required, placeholder, maxlength.
Gets user location using HTML5 API.
Supports drag-and-drop interactions.
Runs scripts in background threads.
Includes select, textarea, button, and label.
Basic building blocks of HTML documents.
Defines blocks of text using <p>.
Validates user input with HTML5 attributes.
Used to import HTML documents (deprecated).
Reusable custom elements with Shadow DOM.
Defines various input fields like text, email, password.
Elements like <header>, <footer>, <article> improve meaning.
Defines layout behavior of elements.
Embeds audio using <audio>.
Stores data locally using localStorage and sessionStorage.
Scalable Vector Graphics for shapes and drawings.
Defines the document type and HTML version.
Tailwind is built around utility classes that apply single-purpose styles directly in markup.
Adds utilities to truncate text after a fixed number of lines.
Background, text, and border color utilities.
Border width, color, and radius utilities.
Background color, gradient, and image utilities.
Tailwind breakpoints are mobile-first, scaling up from smaller to larger screens.
Provides better default styles for form elements.
Supports dark mode styling with class or media strategies.
Provides hover:, focus:, active:, visited: variants for interactive states.
Supports before: and after: pseudo-elements for styling content.
Utilities for CSS Grid including grid-cols, grid-rows, and gap.
Width, height, min/max utilities for element sizing.
Provides transition duration, delay, and timing utilities.
Includes animate-spin, animate-ping, animate-bounce, and animate-pulse.
Cursor style utilities like pointer, not-allowed, and wait.
Controls stacking order of elements.
Provides a responsive container class for centered layouts.
Tailwind can be customized via tailwind.config.js for themes, colors, and plugins.
Adds prose classes for styling rich text content.
Controls the aspect ratio of elements like images and videos.
Margin and padding utilities for consistent spacing.
Box shadow utilities for depth and emphasis.
Scale, rotate, translate, and skew utilities.
Controls transparency of elements.
Controls overflow behavior with auto, hidden, scroll, and visible.
Allows using custom values directly in class names with square brackets.
Provides responsive variants like sm:, md:, lg:, xl: for adaptive layouts.
Extend default theme values like colors, spacing, and typography.
Provides flex, justify, items, and gap utilities for flexible layouts.
Font size, weight, style, and alignment utilities.
Responsive layout system using rows and columns.
Pre-built UI elements like buttons, modals, and navbars.
Helper classes for spacing, colors, and alignment.
Predefined screen sizes used for responsive layouts.
Customizable styles and UI variations using Bootstrap variables.
Form controls, labels, and layout utilities for building responsive forms.
Toggleable menus for navigation or actions triggered by buttons or links.
Navigation components styled as tabs, pills, or plain links.
Navigation for multi-page content with active and disabled states.
Flexible content containers for text, images, and links.
Slideshow component for cycling through images or content.
Dialog boxes overlaying page content for alerts, forms, or information.
Toggles visibility of content sections dynamically.
Overlay content boxes with headings and links triggered by clicks.
Loading indicators showing ongoing processes with border or grow styles.
Provides contextual text and background color classes.
Styled tables with striped rows, borders, hover effects, and responsive wrapping.
Groups multiple buttons together for toolbars or segmented controls.
Small count or label indicators used to highlight new or unread items.
Visual representation of task completion with striped and animated styles.
Small pop-up boxes showing informative text on hover or focus.
Lightweight notifications that auto-dismiss after a short time.
Defines text styles, headings, paragraphs, and alignment utilities.
Built-in validation styles to highlight valid and invalid fields.
Contextual button styles with different sizes and states.
Responsive navigation header with branding, links, and dropdowns.
Contextual feedback messages for user actions with dismissible options.
Flexible components for displaying lists of content with badges and links.
Stacked collapsible sections allowing one open at a time.
SVG-based icon library covering common UI needs.
Provides fast hot module replacement during development.
Updates modules without reloading the page.
Uses Rollup for efficient production builds.
Extends Vite functionality using plugins similar to Rollup.
Uses native ES modules for faster development and builds.
Uses ESBuild for fast dependency pre-bundling.
Uses Rollup for production builds.
Integrates PostCSS for advanced CSS processing.
Automatically splits code into chunks.
Official plugin for Vue single-file components.
Imports images, fonts, and other assets.
Supports lazy loading with import().
Import multiple files using glob patterns.
Proxy API requests during development.
Configure output targets for different browsers.
Generates source maps for debugging.
Works with Vitest and other test runners.
Supports .env files via import.meta.env.
Defines path aliases in vite.config.js.
Supports Sass, Less, and Stylus out of the box.
Allows importing JSON files directly.
Speeds up dev server by bundling deps.
Defines the starting point and output bundle of the application.
Extends Webpack with additional functionality.
Breaks bundles into smaller chunks for optimized loading.
Eliminates unused code to reduce bundle size.
Loads modules asynchronously using import().
Maps compiled code back to original source for debugging.
Updates modules without reloading the page.
Uses content hashes for long-term caching of assets.
Main configuration file defining Webpack behavior.
Defines the environment for bundling (web, node, electron).
Allows importing CSS files into JavaScript modules.
Specifies where and how bundled files are emitted.
Sets build mode to development, production, or none.
Supports ES Modules, CommonJS, and AMD formats.
Automatically rebuilds bundles when files change.
Provides live reloading and HMR during development.
Injects environment values via DefinePlugin.
Injects CSS styles directly into the DOM.
Represents all modules and their dependencies internally.
Supports multi-page applications with multiple entries.
Handles images, fonts, and other static assets.
Converts small files into Base64 inline strings.
Extracts CSS into separate files for production builds.
Visualizes bundle size and composition using analyzer tools.
Defines the starting point of the application for bundling.
Reduces file size using tools like Terser.
Uses placeholders like [name] and [contenthash] for dynamic naming.
Controls how modules are resolved (extensions, aliases).
Emits files to the output directory.
Compresses and optimizes images during build.
The root object that controls a Vue application and binds data to the DOM.
HTML-based syntax that allows binding data to the DOM using directives.
Special attributes like v-if, v-for, and v-bind used to manipulate the DOM.
Reusable and independent UI building blocks in Vue applications.
Mechanism for passing data from parent to child components.
Vue automatically tracks dependencies and updates the DOM when data changes.
Cached values that are automatically updated when their dependencies change.
Observers that react to data changes and execute custom logic.
Official library for client-side routing in Vue applications.
State management libraries used to manage shared application state.
Functions that allow executing code at different stages of a component's lifecycle.
Allows passing content into components for flexible composition.
Reuses component logic across multiple Vue components.
A modern approach for organizing component logic using setup function.
Renders component content into a different part of the DOM.
Handles async components and loading states.
Enables dependency injection across components without prop drilling.
Allows creating reusable DOM behavior beyond built-in directives.
Custom events used by child components to communicate with parents.
Switching between components dynamically using the component tag.
State management library for centralized data handling.
Modern state management library for Vue 3, simpler than Vuex.
Vue components defined in .vue files combining template, script, and style.
CSS styles scoped to a component using the scoped attribute.
Registering components globally for reuse or locally within a single component.
Components loaded asynchronously to improve performance.
Handling component errors gracefully using errorCaptured hook.
Using computed() in Composition API for reactive derived state.
Accessing DOM elements or child components directly using ref attribute.
Defining and emitting custom events for component communication.
Binding form inputs with v-model for reactive data updates.
Binding CSS classes dynamically using v-bind:class.
Binding inline styles dynamically using v-bind:style.
Rendering Vue components on the server for faster initial load.
Pre-rendering Vue pages into static HTML for performance and SEO.
Supports both server-side rendering and client-side rendering.
Automatically imports components and composables.
Fetches data before rendering the page.
Automatically generates routes based on file structure.
Allows extending Nuxt functionality with custom plugins.
Define API endpoints using server directory.
Render pages entirely in the browser using JavaScript.
Custom error pages and error boundaries.
Optimize images using Nuxt Image module.
Support multiple languages using i18n module.
Implement login and session management using auth modules.
Defines routes automatically based on the file system.
Automatic file-based routing system.
Create routes with parameters using square brackets.
Built-in loading bar or custom indicators during navigation.
Extend Nuxt lifecycle with custom hooks.
Reusable templates that wrap around pages.
Central configuration file for Nuxt projects.
Manage meta tags and titles using useHead composable.
Deploy Nuxt apps to platforms like Vercel, Netlify, or Node servers.
Serve images, fonts, and files from the static directory.
Test Nuxt apps using Jest, Vitest, or Cypress.
Improve app speed using lazy loading, caching, and code splitting.
Reusable logic functions built with Vue Composition API.
Manage environment variables and runtime configuration.
Fetch data using useAsyncData or useFetch composables.
Manage global state using Pinia or Vuex.
Simplify imports using path aliases like @ or ~.
Connect Nuxt with CMS like Contentful or Strapi.
Defines the structure of data and available queries in GraphQL.
Used to fetch data from a GraphQL API.
Used to modify data on the server.
Functions that resolve query fields and return data.
Enables real-time data updates from the server using WebSockets.
Reusable units of fields that can be shared across queries.
Allows passing dynamic values into queries and mutations.
Provides conditional execution of queries using @include and @skip.
Basic data types like String, Int, Float, Boolean, and ID.
User-defined scalar types for handling specific data formats.
Defines structured input objects for mutations.
Handles large datasets efficiently using cursor or offset-based approaches.
Improves performance by reducing redundant data fetching using tools like DataLoader.
Standardized way to return errors alongside data in responses.
Defines the shape of data, including scalar types, object types, enums, and unions.
Special types that define a set of allowed values for a field.
Types that allow a field to return one of several object types.
Abstract types that define fields shared across multiple object types.
Built-in query system that allows clients to explore the schema and its types.
Combining multiple GraphQL schemas into a single unified API.
A way to build distributed GraphQL services that can be composed into one graph.
Popular GraphQL client for managing queries, caching, and local state in frontend apps.
GraphQL server implementation for Node.js with schema and resolver support.
Combining multiple queries into a single request to reduce network overhead.
Storing query results to improve performance and reduce redundant requests.
Ensures queries conform to the schema before execution.
The part of GraphQL that processes queries and resolves fields.
Utility for batching and caching database requests to avoid N+1 query problems.
Protecting GraphQL APIs against attacks like query depth, complexity, and denial of service.
Controlling access to data and operations based on user roles and permissions.
Built-in types like int, float, str, list, dict, and tuple.
Reusable blocks of code defined with def keyword.
Functions that modify the behavior of other functions.
Functions that yield values one at a time using yield keyword.
Reusable Python files that group functions and classes.
Collections of modules organized with __init__.py.
Defining classes, objects, inheritance, and polymorphism.
Managing errors with try, except, finally blocks.
Reading and writing files using open(), read(), write().
Isolated environments for managing dependencies.
Python package installer for managing libraries.
Introduction to Django framework for web development.
Defining routes and handling requests in Flask.
Object Relational Mapping with Django ORM or SQLAlchemy.
Testing code with unittest or pytest frameworks.
Asynchronous programming with async and await keywords.
Running multiple threads concurrently in Python.
Running multiple processes for parallel execution.
Tracking events and debugging with logging module.
Pattern matching and text manipulation using re module.
Working with JSON data using json module.
Building RESTful APIs with Django REST Framework or Flask.
Implementing authentication, authorization, and input validation.
Improving performance by storing frequently accessed data temporarily.
Distributed task queue for handling background jobs and scheduling.
Real-time communication protocol for bidirectional data transfer.
Building GraphQL APIs using libraries like Graphene.
Packaging Python applications into containers for deployment.
Automating testing and deployment pipelines for Python projects.
Java Virtual Machine executes Java bytecode and provides platform independence.
Fundamental building blocks of Java's object-oriented programming model.
Mechanism to derive new classes from existing ones.
Ability of objects to take on multiple forms through method overriding and overloading.
Contracts that define methods without implementation.
Classes that cannot be instantiated and may contain abstract methods.
Organizing classes and interfaces into namespaces.
Managing runtime errors with try, catch, finally, and throw.
Set of classes and interfaces for storing and manipulating groups of objects.
Enable type-safe data structures and methods.
Functional-style operations on collections of data.
Concise way to represent anonymous functions.
Running multiple threads concurrently for parallel execution.
Controlling access to shared resources in multithreaded programs.
Java Database Connectivity for interacting with relational databases.
Metadata that provides information to the compiler or runtime.
Inspecting and modifying classes, methods, and fields at runtime.
Converting objects into byte streams for storage or transmission.
Framework for building production-ready applications quickly.
Design pattern for decoupling object creation from usage.
Building RESTful APIs using Spring Boot.
Object Relational Mapping framework for database operations.
Framework for writing and running repeatable tests.
Tracking application events using frameworks like Log4j or SLF4J.
Build automation and dependency management tool for Java projects.
Flexible build automation tool supporting Groovy and Kotlin DSL.
Automatic memory management by reclaiming unused objects.
Reusable solutions to common software design problems (Singleton, Factory, Observer).
Building distributed applications using microservice architecture.
Automating build, test, and deployment pipelines for Java applications.
Understanding PHP tags, variables, and statements.
Primitive types like string, integer, float, boolean, and arrays.
Indexed, associative, and multidimensional arrays in PHP.
Reusable blocks of code defined with function keyword.
Importing external PHP files into scripts.
Defining classes, objects, inheritance, and polymorphism in PHP.
Organizing code into logical groups to avoid naming conflicts.
Storing user data across multiple requests.
Storing small pieces of data on the client side.
Processing user input from HTML forms using $_POST and $_GET.
Reading and writing files using fopen, fread, fwrite.
Managing errors with try, catch, and custom error handlers.
PHP Data Objects for database access with prepared statements.
Improved MySQL extension for database interaction.
Dependency manager for PHP projects.
Model-View-Controller architecture for PHP applications.
Introduction to Laravel framework for PHP backend development.
Defining routes and handling requests in Laravel.
Laravel's templating engine for dynamic views.
Laravel's ORM for database operations.
Implementing login and registration systems in PHP.
Managing user roles and permissions.
Building RESTful APIs with PHP frameworks.
Testing PHP code with PHPUnit.
Tracking application errors using PHP’s error_log function or frameworks.
Preventing SQL injection, XSS, and CSRF attacks in PHP applications.
Decoupling object creation from usage in PHP frameworks.
Layered request/response handling in frameworks like Laravel and Slim.
Improving performance with tools like Memcached or Redis.
Deploying PHP applications using Docker, CI/CD pipelines, or shared hosting.
Understanding Ruby’s simple and readable syntax.
Primitive types like string, integer, float, boolean, and arrays.
Immutable, reusable identifiers often used as keys.
Anonymous chunks of code passed to methods.
Objects that encapsulate blocks of code for reuse.
Fundamental OOP structures in Ruby.
Collections of methods and constants for reuse.
Adding module functionality to classes.
Creating new classes from existing ones.
Writing code that generates or modifies other code.
Managing errors with begin, rescue, ensure blocks.
Reading and writing files using File class.
Provides iteration methods like map, select, reduce.
ORM used in Ruby on Rails for database interaction.
Model-View-Controller architecture in Ruby on Rails.
Defining routes and handling requests in Rails.
Templates for rendering HTML in Rails applications.
Handling requests and responses in Rails.
Managing database schema changes in Rails.
Behavior-driven testing framework for Ruby.
Reusable Ruby libraries managed with Bundler.
Dependency manager for Ruby projects.
Lightweight Ruby framework for building web apps.
Automating deployment of Ruby applications.
Implementing authentication, authorization, and protection against SQL injection and XSS in Ruby applications.
Custom components that sit between requests and responses in Rails.
Running asynchronous tasks with Sidekiq or Resque.
Real-time communication using ActionCable in Rails.
Improving performance with page, fragment, and low-level caching in Rails.
Deploying Ruby applications using Docker, Heroku, or CI/CD pipelines.
Understanding Go’s concise and statically typed syntax.
Primitive types like int, float, string, bool, and arrays.
Dynamic arrays that provide flexible data handling.
Key-value data structures for fast lookups.
Custom data types that group fields together.
Defining behavior through method sets.
Reusable blocks of code with parameters and return values.
Functions associated with structs or types.
Variables that store memory addresses.
Introduction to concurrent programming in Go.
Lightweight threads managed by Go runtime.
Communication mechanism between goroutines.
Handling multiple channel operations simultaneously.
Managing errors using Go’s error type.
Scheduling function calls to run after surrounding function completes.
Organizing Go code into reusable modules.
Writing unit tests using Go’s testing package.
Measuring performance of Go code with benchmarks.
Encoding and decoding JSON data with encoding/json package.
Building RESTful APIs using net/http package.
High-performance RPC framework supported in Go.
Managing deadlines, cancellations, and request-scoped values.
Inspecting types and values at runtime.
Automatic memory management in Go runtime.
Dependency management system introduced in Go 1.11 for versioning and reproducible builds.
Rich set of built-in packages for I/O, networking, text processing, and more.
Creating web servers using net/http package.
Reusable request/response handlers in Go web frameworks.
Using GORM or sqlx for database operations with Go.
Deploying Go applications using Docker, Kubernetes, or CI/CD pipelines.
Understanding C# syntax including variables, operators, and statements.
Primitive types like int, float, string, bool, and arrays.
Fundamental OOP structures in C#.
Creating new classes from existing ones.
Ability of objects to take on multiple forms through method overriding and overloading.
Contracts that define methods without implementation.
Classes that cannot be instantiated and may contain abstract methods.
Encapsulation of fields with getters and setters.
Type-safe references to methods.
Mechanism for implementing publisher-subscriber pattern.
Enable type-safe data structures and methods.
Language Integrated Query for querying collections.
Asynchronous programming with async and await keywords.
Framework for parallel programming in C#.
Managing runtime errors with try, catch, finally blocks.
Reading and writing files using System.IO namespace.
Inspecting and modifying classes, methods, and fields at runtime.
Metadata added to code elements for runtime or compile-time use.
ORM for database operations in C#.
Framework for building modern web applications.
Defining routes and handling requests in ASP.NET Core.
Components that process requests and responses in ASP.NET Core.
Design pattern for decoupling object creation from usage.
Building RESTful APIs with ASP.NET Core.
Building high-performance RPC services using gRPC in .NET.
Library for adding real-time web functionality to ASP.NET applications.
Popular testing framework for writing unit tests in C#.
Tracking application events using Microsoft.Extensions.Logging.
Building distributed applications using microservice architecture.
Deploying C# applications using Docker, Kubernetes, or CI/CD pipelines.
Understanding the default files and folders in a Django project.
Reusable modules that encapsulate functionality within a Django project.
Defining database schema using Django’s ORM.
Managing database schema changes with Django’s migration system.
Handling requests and returning responses in Django.
Rendering dynamic HTML using Django’s templating engine.
Mapping URLs to views using Django’s URL dispatcher.
Built-in admin panel for managing application data.
Handling user input with Django’s form system.
Managing users, sessions, and authentication in Django.
Managing CSS, JavaScript, and images in Django projects.
Performing database operations using Django’s ORM.
Collections of database queries returned by Django ORM.
Allow decoupled applications to get notified when certain actions occur.
Components that process requests and responses globally.
Toolkit for building RESTful APIs in Django.
Views implemented as classes for reusable logic.
Pre-built views for common tasks like listing and detail pages.
Extending or replacing Django’s default user model.
Managing access control with Django’s permission system.
Improving performance with caching strategies in Django.
Supporting multiple languages and locales in Django apps.
Writing unit and integration tests using Django’s test framework.
Understanding when to use signals versus middleware.
Handling file uploads with Django forms and models.
Using signals to trigger events when users register or log in.
Running background tasks with Celery in Django.
Deploying Django applications using Docker, Gunicorn, and Nginx.
Preventing CSRF, XSS, and SQL injection in Django apps.
Comparing Django signals with observer design pattern.
Understanding the default files and folders in a Flask project.
Defining routes and handling requests in Flask using decorators.
Accessing HTTP request data like form inputs, headers, and JSON.
Returning HTTP responses with status codes and headers.
Rendering dynamic HTML using Jinja2 templating engine.
Serving CSS, JavaScript, and images in Flask applications.
Organizing Flask applications into reusable components.
Managing environment-specific settings using config objects.
Enhancing Flask functionality with third-party extensions.
Form handling and validation using Flask-WTF extension.
ORM integration for database operations in Flask.
Database schema migrations using Alembic.
User session management and authentication.
Extension for building REST APIs quickly.
Implementing JWT-based authentication in Flask.
Managing errors with Flask’s error handlers.
Tracking application events using Python’s logging module in Flask.
Writing unit tests using Flask’s test client.
Sending emails from Flask applications.
Improving performance with caching strategies.
Adding real-time communication with WebSockets.
Creating admin interfaces for managing data.
Comprehensive security features including roles and permissions.
Handling file uploads in Flask applications.
Internationalization and localization support.
Managing user sessions in Flask.
Advanced testing utilities for Flask applications.
Deploying Flask applications using Gunicorn, Docker, or Heroku.
Preventing CSRF, XSS, and SQL injection in Flask apps.
Understanding the default files and folders in a Spring Boot project.
Pre-configured dependencies for common use cases.
Automatically configures beans based on classpath settings.
Command-line interface for running and testing Spring Boot apps.
Provides production-ready features like monitoring and metrics.
Tools for faster development with auto-reload and debugging.
Externalizing configuration with application.properties or YAML.
Managing environment-specific configurations with profiles.
Built-in logging support with Logback and SLF4J.
Testing applications with JUnit, Mockito, and Spring Boot Test.
Building RESTful APIs using Spring Boot controllers.
Implementing authentication and authorization with Spring Security.
Simplifying database access with Spring Data JPA.
Managing database transactions with @Transactional annotation.
Validating user input with Hibernate Validator.
Running scheduled tasks with @Scheduled annotation.
Real-time communication using WebSocket support.
Aspect-Oriented Programming for cross-cutting concerns.
Building distributed applications using microservice architecture.
Centralized configuration management for microservices.
Service discovery for microservices using Netflix Eureka.
API Gateway for routing and filtering requests.
Fault tolerance with circuit breakers and retries.
Event-driven communication using Apache Kafka.
Message queuing with RabbitMQ.
Application monitoring with Actuator and Micrometer.
Deploying Spring Boot applications using Docker and Kubernetes.
Preventing CSRF, XSS, and SQL injection in Spring Boot apps.
Unit, integration, and end-to-end testing in Spring Boot.
Understanding the default files and folders in a Laravel project.
Defining routes and handling requests in Laravel.
Organizing request handling logic in controllers.
Laravel’s templating engine for dynamic views.
Filtering HTTP requests through middleware layers.
Central place to configure and bootstrap application services.
Laravel’s ORM for database operations.
Managing database schema changes with migrations.
Populating database tables with initial or test data.
Validating user input with Laravel’s validation rules.
Implementing login and registration systems using Laravel’s built-in auth scaffolding.
Managing user roles and permissions with gates and policies.
Command-line interface for automating tasks in Laravel.
Running background jobs asynchronously using Laravel queues.
Decoupling logic with event-driven programming in Laravel.
Sending notifications via email, SMS, or Slack.
Transforming models into JSON responses for APIs.
OAuth2 authentication for APIs.
Lightweight API authentication with tokens.
Managing file uploads and storage using Laravel’s filesystem abstraction.
Improving performance with cache drivers like Redis or Memcached.
Supporting multiple languages in Laravel applications.
Unit and feature testing with PHPUnit in Laravel.
Browser automation and testing for Laravel apps.
Dashboard and monitoring for Laravel queues.
Debugging assistant for monitoring requests, queries, and jobs.
Asset compilation using Webpack with Laravel Mix.
Deploying Laravel applications using Forge, Envoyer, or Docker.
Preventing CSRF, XSS, and SQL injection in Laravel apps.
Understanding the default files and folders in a Rails project.
Rails follows the Model-View-Controller design pattern.
Rails ORM for database operations and migrations.
Managing database schema changes with Rails migrations.
Defining routes and handling requests in Rails.
Handling requests and responses in Rails controllers.
Rendering HTML templates using ERB or HAML.
Reusable view components for consistent design.
Utility methods for simplifying view logic.
Interactive console for testing and debugging Rails applications.
Automating code creation with Rails generators.
Ensuring data integrity with model validations.
Executing code at specific points in an object’s lifecycle.
Defining relationships between models (has_many, belongs_to).
Sending emails from Rails applications.
Managing CSS, JavaScript, and images in Rails.
Simplifying form creation with Rails form helpers.
Managing user sessions in Rails applications.
Displaying temporary messages to users.
Running code before, after, or around controller actions.
Supporting multiple languages in Rails apps.
Unit and integration testing with RSpec or Minitest.
Preloading test data into the database.
Automating deployment of Rails applications.
Framework for declaring and running background jobs.
Real-time communication with WebSockets in Rails.
Building lightweight APIs with Rails API-only applications.
Improving performance with page, fragment, and low-level caching.
Deploying Rails applications using Docker, Heroku, or Kubernetes.
Preventing CSRF, XSS, and SQL injection in Rails apps.
Understanding the default files and folders in a NestJS project.
Organizing application components into modules.
Handling incoming requests and returning responses.
Classes that provide functionality and can be injected into other components.
Design pattern for managing dependencies in NestJS.
Reusable business logic encapsulated in service classes.
Functions that run before route handlers to process requests.
Transforming and validating data before it reaches controllers.
Determining whether a request should be handled based on conditions like authentication.
Intercepting requests/responses to add extra logic such as logging or transformation.
Creating reusable decorators for controllers and methods.
Handling errors globally or at the controller level.
Validating incoming request data using class-validator.
Managing environment variables and app configuration.
Built-in logging utilities for debugging and monitoring.
Unit and integration testing with Jest in NestJS.
Connecting to databases using TypeORM or Mongoose.
Implementing JWT or session-based authentication.
Role-based and permission-based access control.
Building APIs with GraphQL using NestJS.
Creating distributed applications with NestJS microservices module.
Integrating with RabbitMQ or Kafka for async communication.
Real-time communication using WebSockets in NestJS.
Running scheduled tasks with NestJS Scheduler.
Handling file uploads with Multer integration.
Improving performance with Redis caching.
Deploying NestJS applications using Docker and Kubernetes.
Application monitoring with tools like Prometheus and Grafana.
Preventing CSRF, XSS, and SQL injection in NestJS apps.