
Technical Glossary
Big(O) Notation
Big O notation is used in computer science to describe the performance or complexity of an algorithm. Big O specifically describes the worst-case scenario, and can be used to describe the execution time required or the space used (e.g., in memory or on disk) by an algorithm. To learn more, check out this article.
Client-Side vs Server-Side
Client-side means that the action takes place on the user's (the client's) computer. Server-side means that the action takes place on a web server.
Creating a Branch
Creating a branch means a developer separates their code from the main code to work on a specific story, feature, or task. This way, the other developers aren’t bothered with the work until it’s ready.
Cut the Release
When working on a software project, the programmer is constantly creating and changing files. Cutting a release involves picking a particular state of the project, i.e., all of the files and folders at a particular time, and locking them down so no further changes can be made. That collection is then given a name, such as “version 1.2,” and, in some cases, as with Ubuntu Linux, a release name, e.g., Bionic Beaver.
DDOS Attack
A distributed denial-of-service (DDoS) attack is a cyber-attack in which the perpetrator seeks to make a machine or network resource unavailable to its intended users by temporarily or indefinitely disrupting services of a host connected to the Internet. It is typically accomplished by flooding the targeted machine or resource with superfluous requests in an attempt to overload systems and prevent some or all legitimate requests from being fulfilled.
Deploying a Container
Deploying a container means putting everything that is needed to run an application in a virtual box into a server for testing or production use.
GraphQL API
GraphQL is a query language (QL) for APIs and a runtime for fulfilling those queries with your existing data. Basically, it is used to load data from a server to a client; it's a way to get data from an API into your application.
Javascript API
A JavaScript function is a block of code designed to perform a particular task.
It is executed when "something" invokes it (calls it).
For example:
function myFunction(p1, p2) {
return p1 * p2; // The function myFuction returns the product of p1 and p2 }
Merged Code
The separate code (branch) that the developer has worked on can now be put together with the rest of the code.
MVP
A minimum viable product (MVP) is a version of a product with just enough features to satisfy early customers and provide feedback for future product development.
Pull Request
It means that the developer has put some code or made changes to the existing code. Before they put their code together with the main code, it needs to be checked by other members of the team. The act of sending a request that shows the code for review is called pull request.
Redeploying Code
The engineering team uses this term to indicate that they have put new code from the repository onto the server(s).
Refactoring
When the current code of a feature/function/library no longer meets the recent requirements or expected quality, the engineering team has to rewrite parts of it to keep the code working. The act of rewriting the code is called refactoring.
Relational Database
A relational database stores and provides access to data points that are related to one another. It is based on the relational model—an intuitive, straightforward way of representing data in tables. In a relational database, each row in the table is a record with a unique ID called the key. The table columns hold attributes of the data. Each record usually has a value for each attribute, making it easy to establish the relationships among data points.
Repo
Repo stands for Repository, which is a digital bucket where all the codes are stored by developers.
REST API
A REST (Representational State Transfer) API is a way for two computer systems to communicate over HTTP in a similar manner to web browsers and servers.
Sharing data between two or more systems has always been a fundamental requirement of software development. For example, consider buying car insurance. Your insurer must obtain information about you and your vehicle so they request data from car registration authorities, credit agencies, banks, and other systems. All this happens transparently in real-time to determine whether a policy can be offered.
Tech Debt
A tech debt reflects the implied cost of additional rework caused by choosing an easy (limited) solution now instead of using a better approach that would take longer. As with monetary debt, if technical debt is not repaid, it can accumulate 'interest', making it harder to implement changes.