• image

    Azure CI/CD pipeline to AKS

    Azure DevOps pipelines considered one of the easiest CI/CD pipelines to be configured thanks to rich interfaces Microsoft did.

  • image

    Installing Istio on AKS

    Istio is an open-source service mesh that provides a key set of functionality across the microservices in a Kubernetes cluster. These features include traffic management, service identity and security, policy enforcement, and observability. In this article we will take you through installing this service mesh emphasizing some important points that can’t be found usually in tutorials.

  • image

    Kubernetes secrets and Docker env variables in FE projects

    After moving to Micro-services architect, and by using a framework like Kubernetes, the need to store all configuration and variables in an easy to access place appears. And that is the main benefits of Kubernetes secrets. One of the challenges is to find a way to pass these parameters to a front-end project either if its pure JS project or written in one of the famous platforms now (React, Angular and Vue).

  • image

    Azure DevOps private npm feed with docker build

    You have a big front-end project, a lot of front-end libraries, and you want a way to use your FE libraries inside your FE project and automate all of that in your CI pipeline; you are in the right place buddy. I will talk in this article about how you can use Azure DevOps private npm feed to host your ready JS libraries builds and use them in your FE project.

  • image

    Tracing in Node.js with Zipkin

    When companies began moving towards Microservices architect, the need of tracing the packets between services appeared to understand and fix bugs and troubleshoot latency problems in service architectures. While logs can tell us whether a specific request failed to execute or not and metrics can help us monitor how many times this request failed and how long the failed request took, traces help us debug the reason why the request failed or took so long to execute by breaking up the execution flow and dissecting it into smaller events.

  • image

    Decorators between Class-based and Prototype-based programming languages

    The decorator is a design pattern that allows behavior to be added to an object in a dynamic way without having to change the implementation of that object. The decorator is considered as Structural design pattern. And an important note is that the decorator follows the Open-Closed Principle.

  • image

    TDD vs TLD and what is the minimum code coverage needed

    Test Last Development (TLD) and Test Driven Development (TDD) are two major testing processes. We will talk about the difference between these two, what is the best one that suits start-ups, and to which level of code coverage that may do the balance between bugs free and fast feature releasing.

  • image

    One UI components for all your projects

    One of the challenges a senior Front-end developer will begin to think about after years of development is how to find one UI library for all front-end projects. The hard thing always is the configuration side where a lot of developers hate this step, and the second thing is the ability to abstract these components.

  • image

    Creating your own Docker image

    Docker Hub is the world’s largest library and community for container images. And recently docker became one of the essentials tools in development. Most of the time when you want to build your project you can find the most suitable image in Docker hub for that purpose. But sometimes you may need a custom image to do a specific job

  • image

    Abstract Forms Component in React

    While the nature of React development in rich forms application will include a lot of repetition in dealing with the state variables, validations, and rendering fields; I present in this article a way to abstract these operations through an abstract React component.

  • image

    Achieving separation of concerns using Events in NodeJS

    Separation of Concerns (SoC) one of the important concepts in software design and architecture, it's about decomposing the system into parts that highly independent and slightly overlapping in functionality.

  • image

    Algorithms to detect anomalies in images

    The purpose of this article is to give a state of the art overview of this topic and give some real examples using two famous algorithms.

  • image

    Health Checks in NodeJS

    One of the most important patterns in Microservices is Health Check, it helps the detection of a running service instance that is unable to handle requests, forcing an alert to be sent to the admin that may conclude with some actions like restarting the service.

  • image

    NodeJS Web API Boilerplate

    While there are no standard project templates in NodeJS like in other languages like .NET and Java, I wanted in this article to introduce a simple Boilerplate project that is using standard ES6, NodeJS Express, and connecting to a Mongo database.

  • image

    CI/CD pipeline for Fission.io

    Fission is a framework for serverless functions on Kubernetes. Whenever your functions increase more and more managing them will be harder, especially synchronizing the code between development and production environments. That time the CI/CD pipeline will be the best solution.

  • image

    A pattern for SaaS products in EF

    Entity Framework is an object-relational mapper (ORM) that enables .NET developers to work with a database using .NET objects. It eliminates the need for most of the data-access code that developers usually need to write. In some contexts like SaaS products you may need to apply a specific filter for any operation that happens on the database level, and you don’t want to include that in all your repository layer functions, so in this article, I will discuss an easy way to implement that.

  • image

    Golden five rules in your career

    I believe that every one of us contains two essences, you can call them the body and the soul, your self and the inner self, the conscious part and the unconscious part. Whatever a couple of names you chose, they exist. And your choices in life always reflect on your unconscious part either in a positive way or in a negative way

  • image

    2021 JS Fullstack web developer roadmap- Part1

    During the last years, Javascript becomes one of the most potent and most used programming languages, it’s used in web, game, desktop development, and much more. You can be a Fullstack web developer (Both Frontend and Backend developer) just by using Javascript.

  • image

    2021 JS Fullstack web developer roadmap- Part2

    I will discuss some advanced technologies and concepts for both the frontend and backend. I believe advanced topics can be categorized into conceptual and technical topics, wherein technical topics we will cover more development tools, backend, and front end technologies that you can use.

  • image

    2021 JS Fullstack web developer roadmap- Part3

    This is the third article about Full stack development where I will discuss some more deep concepts and technologies that can level you up from being a senior developer to be an architect.

  • image

    Fission.io NodeJS Boilerplate

    Fission is a framework for serverless functions on Kubernetes. They are marketing this framework as “write short-lived functions in any language, and map them to HTTP requests”. Personally, I tried this framework and found a lot of positive points compared to Kubeless.

  • image

    Why Istio

    Isito is considered as a Service mesh, distinguishing it from Event mesh, which provides connection-level routing and traffic management for synchronous request/reply communications through sidecar injection into Kubernetes Pods.

  • image

    Team lead, Responsibilities & Daily routine

    A team leader is a person who provides guidance and instruction to a working group about a project or portfolio of projects. There are different synonyms for a team lead. It can be called tech lead, engineering lead, or sometimes lead software engineer

  • image

    Observing the K8 cluster using ELK stack

    Observability is the ability to measure a system’s state in a specific time based on the data it generates, such as logs, metrics, and traces.

  • image

    Clean code important principles

    Designing your code structure is an art and there are no doubts about that, either you can write a clean, readable, and maintainable structure or you can write a spaghetti-like code, just mess up with a part of it and you will have hard times trying to understand why it's failing in another part.