A debugging technique in which a programmer explains their code to an inanimate object, often a rubber duck, to help identify and solve problems.
"After hours of struggling, she finally fixed the issue with rubber duck debugging."
A method of debugging code by explaining it, line-by-line, to an inanimate object such as a rubber duck.
"The developer solved the bug by using rubber duck debugging."
A networking device that forwards data packets between computer networks, typically using routing information to determine the best path for transmission.
"The router directs internet traffic between devices on the local network and the wider internet."
A scheduling algorithm that assigns resources or tasks in a circular manner, where each resource or task is allocated for a time slice before moving to the next one in the sequence.
"The round robin algorithm ensured fair CPU time allocation among multiple processes."
In a tree data structure, the topmost node that has no parent nodes.
"The root node of the directory tree is the main folder."
A technique used in computer security to gain remote access to a system by establishing a connection from the target system back to the attacker's system.
"The hacker exploited the vulnerability to create a reverse shell and gain control of the server."
The process of analyzing a system, software, or hardware to understand its design, function, and operation in detail.
"The team performed reverse engineering on the legacy software to document its functionality."
A computer security exploit technique that allows an attacker to execute code in a system by chaining together short sequences of instructions already present in the system's memory.
"The malware used return-oriented programming to bypass security measures and gain control of the system."
In programming, a statement that causes a function to exit and return a value to the caller.
"The return statement in the function ensured the proper execution flow."
A retrospective review of a project or process to identify successes, failures, and areas for improvement.
"The team held a retrovision meeting to discuss what went well and what could be done better next time."
The detail an image holds, typically measured in pixels per inch (PPI). Higher resolution means more image detail.
"Web designers often create images at high resolution to ensure that they look crisp and clear on high-definition displays."
The gradual expansion or addition of project requirements beyond what was originally planned, leading to scope changes and potential project delays.
"The project suffered from requirements creep, causing the timeline to extend significantly."
A communication pattern where one program sends a request to another program, and the recipient responds to the request.
"The client-server architecture relies on the request-response model."
To recreate a specific situation or issue to observe, diagnose, and potentially fix problems.
"The developer couldn't reproduce the bug reported by the user."
A central location in which data, usually source code, is stored and managed.
"A Git repository allows multiple developers to work on the same project by tracking changes to the codebase."
A storage location where software packages, source code, or data are kept and managed using version control systems like Git.
"He cloned the repository from GitHub to his local machine."
To generate and display output, typically in the context of web development or graphics rendering.
"The webpage render was slow due to complex JavaScript calculations."
A version of software that is nearly ready for release and may be the final version unless significant bugs or issues are discovered.
"The team was excited to test the release candidate of their new app."
A type of database that stores and provides access to data points that are related to one another.
"The company's relational database allowed them to efficiently manage customer information."
A sequence of characters that define a search pattern, mainly for use in pattern matching with strings.
"Regular expressions are used in programming languages to match parts of strings and extract data."
A type of software testing to confirm that a recent program or code change has not adversely affected existing features.
"Regression testing is critical after making a minor change to the code to ensure that the software continues to perform correctly."
A type of software testing that aims to verify that changes or enhancements to a software application have not adversely affected existing features or functionality, ensuring that previously developed and tested code continues to work as expected after modifications, updates, or fixes.
"After implementing a new feature, the team conducted regression testing to ensure that no existing functionality was broken by the changes."
The act of returning to a previous state. In software, regression refers to software bugs that have reappeared in a new version after having been fixed in a previous version.
"Regression testing ensures that recent changes or additions haven't broken any existing functionality."
Regular Expression, a sequence of characters that forms a search pattern, mainly for use in pattern matching with strings, or string matching.
"Regex is used in programming to search, edit, or manipulate text and data based on specific patterns."
A property of deterministic functions with no side effects, meaning that an expression in a program can be replaced with its corresponding value without changing the program's behavior.
"Referential transparency allows for greater reasoning about program behavior and enables various optimizations by compilers."
A garbage collection technique where each object has a count of the number of references to it. When the reference count drops to zero, the object's memory can be reclaimed.
"Reference counting helps manage memory usage in languages like Python, ensuring that objects are automatically destroyed when no longer needed."
The process of restructuring existing computer code without changing its external behavior, aimed at improving nonfunctional attributes of the software.
"Refactoring is used to make code more readable, reduce complexity, improve code maintainability, and enhance performance."
A function in Redux that determines changes to an application's state. It uses the action it receives to determine this change.
"Reducers are pure functions that take the current state of an application and an action, and return a new state."
The process of forwarding one URL to a different URL.
"Redirects are commonly used to guide visitors to a new page when the original page has been moved to a new address."
In cybersecurity, a group that plays the role of an adversary to test the effectiveness of an organization's security measures through penetration testing and other tactics.
"Red team exercises help organizations identify vulnerabilities and improve their defenses against real-world attacks."
In gaming and software development, a term that might refer to pre-release or development versions of hardware or software that are used internally before public release.
"The term 'red box' could be used metaphorically to denote a special version or build of a product that contains features or tools not available to the general public."
An acronym that refers to itself in the expression for which it stands, often used in the names of software and programming languages.
"GNU stands for 'GNU's Not Unix', making it a recursive acronym that humorously refers to its own name."
The process in which a function calls itself directly or indirectly.
"Recursion is used for solving problems that can be broken down into smaller, repetitive problems."
A method where the solution to a problem depends on solutions to smaller instances of the same problem.
"Recursion in programming involves a function calling itself to solve progressively smaller problems until it reaches a base case."
The process of restoring data and operations to a computer system or application after a failure or data loss.
"Data recovery strategies are an essential part of disaster recovery planning for businesses to minimize downtime and data loss."
Images that represent a generally rectangular grid of pixels or points of color, viewable via a monitor, paper, or other display medium. Raster images are stored in image files with varying formats.
"JPEG, GIF, and PNG are common formats for storing raster graphics, used in digital photography and on the web."
A type of malicious software designed to block access to a computer system until a sum of money is paid.
"Ransomware attacks can lead to significant data loss and downtime for businesses, emphasizing the importance of cybersecurity measures."
A precomputed table for reversing cryptographic hash functions, usually for cracking password hashes.
"Rainbow tables allow for the rapid lookup of hash function outputs to recover the original plaintext inputs, but are mitigated by techniques like salting."
A condition where the system's substantive behavior is dependent on the sequence or timing of other uncontrollable events.
"Race conditions can lead to unpredictable outcomes and bugs, especially in concurrent or multi-threaded applications."
A systems programming language focused on safety, speed, and concurrency, designed to prevent common programming errors.
"The team chose Rust for its ability to build fast and secure software."
A package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries.
"He installed the required RubyGems to start developing the application."
A server-side web application framework written in Ruby under the MIT License.
"Ruby on Rails is a model-view-controller (MVC) framework, providing default structures for a database, a web service, and web pages."
A dynamic, open source programming language with a focus on simplicity and productivity.
"Ruby's elegant syntax is natural to read and easy to write, making it popular for web application development."
A dynamic, open-source programming language known for its simplicity and productivity, often used for web development.
"The startup built its prototype using Ruby on Rails."
An open-source JavaScript library for managing application state, commonly used with libraries such as React or Angular for building user interfaces.
"Redux provides a predictable state container for JavaScript apps, making it easier to manage the state across the entire application."
An open-source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker.
"Redis supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams."
Reddid is a popular social media platform featuring numerous programming-related communities where users discuss coding, share knowledge, and seek advice on various programming topics. It also serves as a valuable search engine for finding programming tutorials, troubleshooting solutions, and insightful discussions within its vast repository of user-generated content.
"I found a helpful tutorial on Reddit that explained how to fix the bug I encountered in my programming project."
The process of converting or adapting a project, component, or library to use React, a popular JavaScript library for building user interfaces.
"Reactifying a traditional web application can improve its responsiveness and make it more modular and maintainable."
An open-source JavaScript library for building user interfaces or UI components, maintained by Facebook and a community of individual developers and companies.
"React.js allows developers to create large web applications that can change data, without reloading the page, for a fast and interactive user experience."
A server-side web application framework written in Ruby under the MIT License. Rails is a model-view-controller (MVC) framework, providing default structures for a database, a web service, and web pages.
"Rails encourages the use of web standards such as JSON or XML for data transfer, and HTML, CSS, and JavaScript for user interfacing."
An open-source message broker software that originally implemented the Advanced Message Queuing Protocol (AMQP) and has since been extended with a plug-in architecture to support Streaming Text Oriented Messaging Protocol (STOMP), MQTT, and other protocols.
"RabbitMQ is used in distributed systems to decouple applications or components by providing a reliable, highly available, and scalable messaging system."
Return Value Optimization, a compiler optimization technique where the compiler eliminates unnecessary copying of objects by constructing the return value directly in the memory location of the caller.
"RVO improved the performance of the program by avoiding unnecessary object copies."
Read The Fucking Manual, an exhortation to read the documentation before asking questions or seeking help.
"Before asking for assistance, the programmer was told to RTFM."
Rich Site Summary or Really Simple Syndication, a web feed format used to publish frequently updated content such as blog posts, news headlines, or podcasts.
"The RSS feed allowed users to stay updated on new articles published by their favorite website."
A mathematical notation where every operator follows all of its operands, eliminating the need for parentheses to denote the order of operations.
"The RPN calculator allowed users to input expressions without worrying about parentheses."
A programming language and tool used for generating business reports from data stored in a database.
"The finance department used an RPG program to generate monthly financial reports."
Remote Procedure Call, a protocol that allows a computer program to execute code on a remote machine over a network.
"The client-server communication was implemented using RPC."
Reduced Instruction Set Computer, a computer architecture design strategy that aims to use a small, highly optimized set of instructions.
"RISC processors often provide better performance for specific tasks compared to complex instruction set computing (CISC) processors."
An acronym for Reach, Impact, Confidence, and Effort, used to prioritize tasks or projects based on these criteria.
"The team used the RICEF framework to prioritize feature development."
A document issued by a company or organization to solicit proposals from potential vendors or contractors for a specific project or initiative.
"The company sent out an RFP to select a vendor for their upcoming software development project."
Radio-Frequency Identification, a technology that uses electromagnetic fields to automatically identify and track tags attached to objects.
"The warehouse implemented RFID technology to improve inventory management."
Request for Comments, a publication from the Internet Engineering Task Force (IETF) that documents methods, behaviors, research, or innovations applicable to the internet and related technologies.
"The RFC proposed a new standard for email encryption."
Web services that conform to the REST architectural style, allowing requesting systems to access and manipulate web resources using stateless operations.
"RESTful web services enable interoperability between computer systems on the internet, making web services and APIs easier to work with."
An API that adheres to the principles of REST, allowing for interaction with web services using standard HTTP methods like GET, POST, PUT, and DELETE.
"The mobile app communicated with the server using REST APIs."
An architectural style for designing networked applications, relying on a stateless, client-server communication model.
"RESTful web services use HTTP requests to perform CRUD operations (Create, Read, Update, Delete) on data represented in XML, JSON, or other formats."
Representational State Transfer, a software architectural style that defines a set of constraints for creating scalable web services.
"The company's API was designed following REST principles."
An interactive programming environment that takes single user inputs, executes them, and returns the result to the user.
"Python and Node.js have REPL environments that allow developers to test code snippets quickly."
Read-Eval-Print Loop, an interactive programming environment that takes single user inputs, evaluates them, and returns the result to the user.
"The Python REPL allowed the developer to quickly test code snippets."
A document providing important information about a project, its setup, and how to use it, typically included with the source code of software projects.
"A good README file should include installation instructions, usage examples, and often a FAQ or troubleshooting guide."
Release Candidate, a beta version with potential to be a final product, which is ready to release unless significant bugs emerge.
"In software development, an RC is a version of a product that could be released as the final product if no more defects are found during testing."
A YAML-based language for describing RESTful APIs that provides a structured way to define practical RESTful APIs clearly and concisely.
"RAML makes it easy to manage the whole API lifecycle from design to sharing with clear documentation."
Random Access Memory, a form of computer data storage that can be accessed randomly, any byte of memory can be accessed without touching the preceding bytes.
"RAM is the main memory in a computer and is much faster to read from and write to than other kinds of storage, such as a hard disk drive (HDD), solid-state drive (SSD), or optical drive."
Resource Acquisition Is Initialization, a programming idiom used in several object-oriented languages like C++ that ensures resource allocation is tied to object lifetime.
"RAII handles resource management through the object's life cycle, ensuring that resources such as memory and system handles are properly released when the object is destroyed."
Redundant Array of Independent Disks, a data storage virtualization technology that combines multiple physical disk drive components into one or more logical units for the purposes of data redundancy, performance improvement, or both.
"RAID configurations are used to protect data in the event of a hard drive failure by duplicating the data across multiple drives."
A programming language and free software environment for statistical computing and graphics supported by the R Foundation for Statistical Computing.
"R is widely used among statisticians and data miners for developing statistical software and data analysis."