Dynamic vs Static library A static library gets compiled into the client. A .lib is used at compile time and the contents of the library become part of the consuming executable. A dynamic library is loaded at runtime and not compiled into the client executable.   Static library – Pro […]

Definitions – Dynamic vs static library

Compilation Compilation is the process that converts high level language into machine level language. Preprocessing Compilation Linking   Preprocesing is responsible for: -replacing #include directives with the content of the respective files (which is usually just declarations) -replacement of macros (#define) -selecting different portions of text depending of #if, #ifdef […]

Definitions – Compilation

Definition Both TCP and UDP are protocols used for sending bits of data — known as packets — over the Internet. They both build on top of the Internet protocol. In other words, whether you are sending a packet via TCP or UDP, that packet is sent to an IP […]

Definitions – TCP versus UDP

unit testing
What is unit testing? Unit testing simply verifies that individual units of code (mostly functions) work as expected. The primary goal of unit testing is to take the smallest piece of testable software in the application, isolate it from the remainder of the code, and determine whether it behaves exactly […]

Definitions – Unit testing

The Unified Modeling Language (UML) The Unified Modeling Language (UML) is a general-purpose, developmental, modeling language in the field of software engineering, that is intended to provide a standard way to visualize the design of a system. The UML uses mostly graphical notations to express the design of software projects. Using […]

Definitions – Unified modelling language (UML)

ASCII and Unicode are two character encodings. They are standards on how to represent difference characters in binary so that they can be written, stored, transmitted, and read from. The main difference between the two is in the way they encode the character and the number of bits that they […]

Definitions – ASCII VS Unicode

Serialization / Deserialization Serialization is the process of translating data structures or object state into a format that can be stored (for example, in a file or memory buffer) or transmitted (for example, across a network connection link) and reconstructed later (possibly in a different computer environment). Serialization is used […]

Definition – Serialization / Deserialization

load balancing
Load balancing Modern high-traffic websites must server many concurrent requests from users, and they are expected to reply in a fast and reliable manner. A load balancer is sitting in front of the servers and dispatch the requests across all servers in order to maximize speed and to ensure that […]

Definitions – Load balancing