APIs Webhooks Communication is important, both in life and work environment. According to a research on the "Measurement of Time Spent Communicating", the relative amount of time people spend in
Docker Docker Architecture and Ecosystem Docker Architecture and Ecosystem Until recently, most of the cloud platforms were based on virtual machines which encapsulate guest operating systems alongside the libraries and the software applications. However, Linux
Security Information Security and Defense in Depth Information Security Information security, also shortened InfoSec, is a set of strategies, methodologies, and practices for managing the tools, policies, and processes to prevent, detect, and document unauthorized access, use,
Tools VSCode Extensions I love anything from Jet Brains, and I use Web Storm and PyCharm. However, whenever I want to use a light code editor, I use Visual Studio Code. VS Code
Containarization Software Containerization Software Containerization is an alternative to machine virtualization which involves encapsulating an application with its operating environment in a container that could run on any suitable physical machine like computers,
Authentication JSON Web Tokens for Authentication When building an API-centric application or building a RESTful API, there are no sessions to be tracked while dealing with authentication. REST APIs are stateless. That produced a need to
Performance Simple Performance Measuring Tools and Practices Optimizing a web application performance should happen when needed, and as early as possible. It contains three steps: evaluating the performance, analyzing and detecting the issues/bottlenecks, and fixing those
Testing Software Testing What is Software Testing? Software testing is a process that when applied helps identify the correctness and the quality of the software. It evaluates a system or parts of a
Recipe HTML Comments From JS The Document interface has a method, createComment(), which does exactly as the name indicate; creating an HTML comment. We can then insert that comment wherever we want on the page.
Recipe Multi-Tenant VS Multi-Instance A couple of years ago, I faced some difficulties in choosing the right architecture for a SaaS-based web system. The idea of building a customized solution came up at the
JavaScript The Difference Between JavaScript's `undefined` And `null` The fundamental difference between undefined and null is that, in JavaScript, undefined means a variable has been declared (or not declared), but has not yet been assigned a value. On
Clean Code S.O.L.I.D Design Principles "SOLID" is an acronym for the five most known Object-Oriented Design principles by Michael Feathers, which are promoted by Robert C. Martin in his books. by Robert C.
Python Comparison in Python3 and Python2 Every language, human or programming, has some weirdness to it. And while others might hate on the language, I learned to accept and embrace it as is. However, sometimes we
Clean Code Composition Over Inheritance One of the most repeated pieces of advice in Object Oriented Design is "prefer composition over inheritance." But what do we get by using composition over inheritance? What
JavaScript Flyweight Design Pattern in JavaScript Definition The Flyweight pattern describes how to share objects to allow their use at fine granularity without prohibitive cost. It conserves memory by pooling large numbers of fine-grained objects efficiently.
JavaScript Callbacks vs. Promises vs. Async/Awaits When writing or debugging code, we usually think of how the interpreter process that code is going from top to down of the whole code, line by line. Now, of
JavaScript Proxy Design Pattern in JavaScript Definition A proxy is an object that has the same interface as another object and is used in place of that other object. It provides a surrogate or placeholder for
Node.js Node.js's Event Loop Explained Node.js runs on events. It is an event-driven platform. We saw how the event emmiter plays a huge part of the platform on multiple core modules that made up
JavaScript Bridge Design Pattern In JavaScript Definition The Bridge design pattern, also known as the double Adapter pattern, is a structural design pattern that decouples an abstraction from its implementation so that the two can vary
Node.js Child Processes in Node.js - `child_process` Module The child_process module in Node.js has some methods that let us execute external applications and commands on the hosting system from our application. The main methods on that
JavaScript Recipe: Uploading Images With Web APIs Usually while building web applications, we find ourselves in a situation where we need to deal with uploading files. So we build a form with enctype="multipart/form-data"
JavaScript ES2017 Features Async Functions Asynchronous functionality is what differ JavaScript from other languages, and ES8 made it easier to deal with this nature. Previously, we dealt with the async functionality with callbacks
JavaScript The Decorator Design Pattern In JavaScript Definition The Decorator pattern is a structural design pattern that attaches additional responsibilities to an object dynamically promoting code reusability and is a flexible alternative to subclassing. The decorator pattern
JavaScript ES2016/ES7 Features ES2015 was significant concerning the features it brought to the table compared to the ES2016. Therefore, we didn't hear much about what ES2016 has introduced. So here we will discuss
Design Patterns The Composite Design Pattern In JavaScript Definition The Composite pattern is a structural design pattern describes a group of objects that is treated the same way as a single instance of the same type of object.