HomeCategoriesTechnology

Technology

From artificial intelligence to zero-day exploits — clear explanations for every technology concept, no degree required.

0
Total terms
12
Subcategories
2 min
Avg. read time
46 terms
A
API (Application Programming Interface)
An API, or Application Programming Interface, is a set of rules that allows different software programs to communicate with each other. It defines the methods and data formats that applications can use to request and exchange information.
BeginnerSoftware Development2 min
A
Abstraction
Abstraction is a concept in software development that simplifies complex systems by hiding unnecessary details and exposing only the essential features. It allows developers to focus on high-level functionality without getting bogged down by intricate implementation details.
BeginnerSoftware Development2 min
A
Agile
Agile is a flexible approach to software development that emphasizes collaboration, customer feedback, and small, iterative progress. It helps teams adapt to changes quickly and deliver better products more efficiently.
BeginnerSoftware Development2 min
A
Async/Await
Async/Await is a programming feature that simplifies working with asynchronous code, making it easier to read and write. It allows developers to write code that can perform tasks without blocking the main program flow, improving efficiency and responsiveness.
BeginnerSoftware Development2 min
A
Asynchronous Programming
It is a programming technique that allows tasks to run independently from the main program flow. This means that a program can continue executing other tasks while waiting for some operations to complete, improving efficiency and responsiveness.
BeginnerSoftware Development2 min
B
Big O Notation
A mathematical concept used in computer science, Big O Notation describes the efficiency of algorithms by expressing their performance in relation to input size. It helps developers understand how the time or space complexity of an algorithm grows as the input increases.
BeginnerSoftware Development2 min
B
Binary Search
This is a method for finding an item in a sorted list by repeatedly dividing the search interval in half. If the value of the search key is less than the item in the middle of the interval, the search continues in the lower half, otherwise, it continues in the upper half.
BeginnerSoftware Development2 min
B
Branch
A branch is a separate line of development in software projects that allows developers to work on features or fixes without affecting the main codebase. It helps teams manage changes and collaborate more effectively.
BeginnerSoftware Development2 min
B
Breadth-First Search
A search algorithm that explores all the neighbor nodes at the present depth prior to moving on to nodes at the next depth level is called Breadth-First Search. It is commonly used to find the shortest path in unweighted graphs and is vital in various software applications.
BeginnerSoftware Development2 min
C
CI/CD Pipeline
A CI/CD Pipeline is a series of automated processes that allow software developers to build, test, and deploy their code efficiently. It stands for Continuous Integration and Continuous Delivery, enabling teams to deliver updates quickly and reliably.
BeginnerSoftware Development2 min
C
Callback
A callback is a function that is passed as an argument to another function and is executed after a certain event occurs. It allows for asynchronous programming, enabling code to run without waiting for other operations to complete.
BeginnerSoftware Development2 min
C
Class
A class is a blueprint for creating objects in programming. It defines the properties and behaviors that the objects created from it will have.
BeginnerSoftware Development1 min
C
Code Review
A code review is a process where developers examine each other's code to find mistakes and improve the quality of the software. It helps ensure that the code is correct, efficient, and maintainable.
BeginnerSoftware Development2 min
C
Commit
A commit is a saved change in a software project that records updates to the code. It captures the state of the project at a specific point, allowing developers to track changes over time.
BeginnerSoftware Development2 min
C
Compile Time
The term refers to the phase in software development when source code is translated into executable code. This process checks for errors and optimizes the code before it runs.
BeginnerSoftware Development2 min
C
Compiled Language
A compiled language is a type of programming language that is transformed into machine code by a compiler before it is run. This process allows the code to execute directly on the hardware, making it generally faster than interpreted languages.
BeginnerSoftware Development2 min
C
Concurrency
Concurrency refers to the ability of a system to handle multiple tasks simultaneously. It allows different processes to run at the same time, improving efficiency and performance.
BeginnerSoftware Development2 min
C
Containerization
This technology allows software to run in isolated environments called containers. Each container packages the application and its dependencies, making it easy to deploy and manage across different systems.
BeginnerSoftware Development2 min
C
Continuous Deployment (CD)
Continuous Deployment (CD) is a software development practice where code changes are automatically released to production after passing automated tests. This allows for frequent updates and improvements to applications without manual intervention.
BeginnerSoftware Development2 min
C
Continuous Integration (CI)
It's a software development practice where developers frequently integrate their code changes into a shared repository. Each integration is verified by automated builds and tests to detect issues early.
BeginnerSoftware Development2 min
D
DRY Principle
The DRY Principle stands for 'Don't Repeat Yourself' and is a key concept in software development. It emphasizes reducing the repetition of code and logic to make programs easier to maintain and less error-prone.
BeginnerSoftware Development2 min
D
Data Structure
A data structure is a way of organizing and storing data so that it can be accessed and modified efficiently. It provides a means to manage large amounts of data in a way that makes it easy to use in software applications.
BeginnerSoftware Development2 min
D
Debugging
Debugging is the process of identifying and fixing errors or bugs in software code. It ensures that programs run smoothly and as intended by developers.
BeginnerSoftware Development2 min
D
Dependency
A dependency in software development refers to a situation where one piece of code relies on another to function correctly. This relationship is essential for building complex applications, as different components often need to work together seamlessly.
BeginnerSoftware Development2 min
D
Depth-First Search
A method for exploring tree or graph structures, Depth-First Search (DFS) systematically explores as far as possible along each branch before backtracking. It is commonly used in algorithms for searching and traversing data structures.
BeginnerSoftware Development2 min
D
Design Pattern
A design pattern is a reusable solution to a common problem in software design. It helps developers create software that is easier to understand, maintain, and extend.
BeginnerSoftware Development2 min
D
Dynamic Programming
A method for solving complex problems by breaking them down into simpler subproblems, Dynamic Programming is used to optimize recursive algorithms. It saves time and resources by storing the results of subproblems to avoid redundant calculations.
BeginnerSoftware Development2 min
E
Encapsulation
Encapsulation is a programming concept that restricts direct access to some of an object's components. It allows a programmer to bundle data and methods that operate on that data within a single unit, typically a class.
BeginnerSoftware Development2 min
E
Event Loop
An event loop is a programming construct that allows a program to perform non-blocking operations by managing tasks and events in a single thread. It enables the execution of asynchronous code efficiently, making it crucial for responsive applications.
BeginnerSoftware Development2 min
F
Framework
A framework is a set of tools and guidelines that helps developers build software applications more efficiently. It provides a structured way to organize code and simplifies common tasks, allowing developers to focus on creating the unique features of their applications.
BeginnerSoftware Development2 min
F
Function
A function is a block of code designed to perform a specific task in programming. It takes inputs, processes them, and often returns an output, making code more organized and reusable.
BeginnerSoftware Development2 min
G
Git
A version control system that helps developers track changes in their code. It allows multiple people to work on a project simultaneously without conflicts.
BeginnerSoftware Development1 min
G
Graph (data structure)
A graph is a data structure that consists of nodes (or vertices) connected by edges. It is used to represent relationships and connections between different entities in a system.
BeginnerSoftware Development1 min
G
GraphQL
A query language for APIs, GraphQL allows clients to request only the data they need. It provides a more efficient and flexible alternative to traditional REST APIs.
BeginnerSoftware Development2 min
H
Hash Table
A hash table is a data structure that stores key-value pairs for efficient data retrieval. It uses a hash function to compute an index where the value is stored, allowing for quick access to data.
BeginnerSoftware Development2 min
I
Inheritance
Inheritance is a programming concept where a new class is created based on an existing class. This allows the new class to inherit properties and methods from the existing class, promoting code reuse and organization.
BeginnerSoftware Development2 min
I
Integration Testing
This is a type of software testing that checks how different parts of a program work together. It helps identify issues that occur when individual components are combined.
BeginnerSoftware Development2 min
I
Interface
An interface is a point of interaction between different systems or components, allowing them to communicate and work together. In software development, it defines how different software components should interact with each other, ensuring compatibility and functionality.
BeginnerSoftware Development2 min
I
Interpreted Language
An interpreted language is a type of programming language that is executed line by line by an interpreter at runtime, rather than being compiled into machine code beforehand. This allows for easier debugging and more flexibility in coding, making it popular among developers.
BeginnerSoftware Development2 min
K
Kanban
A visual management tool used in software development, Kanban helps teams manage their work and improve efficiency. It focuses on visualizing tasks, limiting work in progress, and enhancing flow to deliver better results.
BeginnerSoftware Development2 min
L
Library
A library is a collection of pre-written code that developers can use to perform common tasks without having to write the code from scratch. It simplifies the coding process and helps save time and effort in software development.
BeginnerSoftware Development2 min
L
Linked List
A linked list is a data structure used to store a collection of elements, where each element points to the next one in the sequence. This allows for efficient insertion and deletion of elements, making it a flexible alternative to arrays.
BeginnerSoftware Development2 min
M
MVC (Model-View-Controller)
MVC is a software design pattern that separates an application into three main components: Model, View, and Controller. This separation helps manage complexity and allows for more organized code, making it easier to develop and maintain applications.
BeginnerSoftware Development2 min
M
Memory Leak
A memory leak occurs when a computer program incorrectly manages memory allocations, leading to reduced performance or crashes. It happens when the program fails to release memory that is no longer needed, causing the available memory to dwindle over time.
BeginnerSoftware Development2 min
M
Merge
A merge is the process of combining different sets of changes in software development into a single version. This is often done in version control systems to integrate code changes made by multiple developers.
BeginnerSoftware Development1 min
M
Microservices
Microservices is an architectural style that structures an application as a collection of small, independent services. Each service runs in its own process and communicates with others through APIs, allowing for flexibility and scalability.
BeginnerSoftware Development1 min