Skip to content

Coding and Beyond

A software developer's blog.

  • Home
  • Article Series
    • Architectural Design Patterns
    • Advanced C# Tips
    • C – Bedrock of Software
  • About
  • Contact

All Posts

  • Home
  • All Posts

Software Engineer’s Dilemma: Being Idealistic or Pragmatic

09/01/202607/04/2026

If you are curious about history and politics, you will notice that extremes often look powerful at the beginning. They move fast, talk with…

Concurrency vs. Parallelism: Why the Distinction Matters

17/08/202508/01/2026

In modern software systems, speed and responsiveness are no longer just desirables, they are expectations. Users demand quick interfaces, developers build systems that handle…

Applying the Singleton Pattern in TypeScript

15/07/202520/09/2025

The Singleton pattern is one of the most widely known and frequently used design patterns in software development. It is a creational pattern and…

Geo-Resilience in the Cloud: Active-Active vs Active-Passive Architectures

31/05/202521/09/2025

Building resilient systems is no longer a best practice. It as an expectation. Whether you’re running a small internal app or handling millions of…

Simple Patterns for Blue/Green Deployments on AWS ECS and Lambda

24/05/202529/09/2025

The basic idea of blue/green deployment is to run a new version beside the current one, send a small or full share of traffic…

React Compiler: A Big Step in React

10/05/202522/09/2025

React just took a quiet but deeply meaningful step forward. With the release of the React Compiler, we are entering a new phase of…

Why Go Is Becoming a Strong Alternative to C# and Java?

25/04/202522/09/2025

In the world of enterprise software, some names have stayed strong for decades. C# and Java are two of those names. They shaped the…

Practical Guide: Creating a Private ECR Repository and Using It in ECS/EKS

16/04/202529/09/2025

In modern cloud architectures, container images are the building blocks of your microservices, and having a private, secure, managed image registry is essential. Amazon…

Deno, Just Another JavaScript Runtime for Backend

13/04/2025

JavaScript has come a long way since its creation. It started as a very basic language for making web pages interactive. It has become…

Writing REST Api with Go

01/04/202522/09/2025

REST APIs are everywhere. From mobile apps to web platforms, they connect the front-end and back-end in a clean and standard way. In this…

Free Enterprise Languages and Future-Proof Tech Choices

11/02/202530/06/2025

In 2021, Oracle decided to monetise Java by changing its licensing policy after JDK 17. Previously, businesses had to pay for updates and support,…

Running DeepSeek R1 on Your Local Machine Offline: A Step-by-Step Guide

07/02/202515/07/2025

Over the past few months even weeks, DeepSeek has emerged as an unexpected guest in the AI market. It literally redefined the AI industry…

Concourse – A Modern CI/CD Tool

04/02/202514/12/2024

Concourse is a CI/CD tool created by a team at a company called Pivotal. Pivotal is a company known for building tools for software…

Advanced C# Tips: Use Conditional Attribute for Debugging Code

21/01/202522/09/2024

This entry is part 17 of 17 in the series Advanced C# TipsAdvanced C# Tips:Prefer Lazy Initialization for Rarely Used Objects Advanced C# Tips:…

Advanced C# Tips: Optimize Recursive Functions With Tail Recursion

07/01/202512/01/2025

This entry is part 16 of 17 in the series Advanced C# TipsAdvanced C# Tips:Prefer Lazy Initialization for Rarely Used Objects Advanced C# Tips:…

Advanced C# Tips: Beware of Micro-Optimizing at the Cost of Code Clarity

10/12/202420/09/2024

This entry is part 15 of 17 in the series Advanced C# TipsAdvanced C# Tips:Prefer Lazy Initialization for Rarely Used Objects Advanced C# Tips:…

Advanced C# Tips: Leverage Span for Safe Memory Access

26/11/202420/09/2024

This entry is part 14 of 17 in the series Advanced C# TipsAdvanced C# Tips:Prefer Lazy Initialization for Rarely Used Objects Advanced C# Tips:…

Bedrock of Software – Part 4: Operating Systems Written in C

12/11/202421/09/2025

This entry is part 4 of 4 in the series C – Bedrock of SoftwareBedrock of Software – Part 1: The Origins of C…

Advanced C# Tips: Prefer for Loop Over foreach with Arrays

29/10/202416/09/2024

This entry is part 13 of 17 in the series Advanced C# TipsAdvanced C# Tips:Prefer Lazy Initialization for Rarely Used Objects Advanced C# Tips:…

Advanced C# Tips: Use readonly Modifier for Immutable Data

15/10/202413/09/2024

This entry is part 12 of 17 in the series Advanced C# TipsAdvanced C# Tips:Prefer Lazy Initialization for Rarely Used Objects Advanced C# Tips:…

How to Access AWS Secrets Manager Programmatically with C#, Java, Python and JavaScript

01/10/202422/09/2024

AWS Secrets Manager is a fully managed service that helps you easily store and retrieve credentials, API keys, and other sensitive data in a…

Building an AWS Lambda API in TypeScript Using SAM and Express

20/09/202429/09/2025

Serverless development has become one of the most effective ways to build small, event-driven applications without managing infrastructure. When combined with TypeScript, AWS SAM…

Bedrock of Software – Part 3: The Influence of C on Modern Programming Languages

17/09/202406/10/2024

This entry is part 3 of 4 in the series C – Bedrock of SoftwareBedrock of Software – Part 1: The Origins of C…

Advanced C# Tips:Prefer Lazy Initialization for Rarely Used Objects

10/09/202414/09/2024

This entry is part 1 of 17 in the series Advanced C# TipsAdvanced C# Tips:Prefer Lazy Initialization for Rarely Used Objects Advanced C# Tips:…

Advanced C# Tips: Avoid Excessive Inlining of Methods

03/09/202413/09/2024

This entry is part 2 of 17 in the series Advanced C# TipsAdvanced C# Tips:Prefer Lazy Initialization for Rarely Used Objects Advanced C# Tips:…

Advanced C# Tips: Using Array Segments Instead of Copying Arrays

27/08/202413/09/2024

This entry is part 3 of 17 in the series Advanced C# TipsAdvanced C# Tips:Prefer Lazy Initialization for Rarely Used Objects Advanced C# Tips:…

Introduction to Cloud Computing for Junior Developers and Testers

20/08/202409/09/2024

Cloud computing is a concept that every developer and tester should understand within software industry in 2020s. Whether you are just starting or changing…

Advanced C# Tips: Reuse Objects Where Possible

13/08/202413/09/2024

This entry is part 4 of 17 in the series Advanced C# TipsAdvanced C# Tips:Prefer Lazy Initialization for Rarely Used Objects Advanced C# Tips:…

Bedrock of Software – Part 2: C and Unix – A Symbiotic Relationship

06/08/202413/09/2024

This entry is part 2 of 4 in the series C – Bedrock of SoftwareBedrock of Software – Part 1: The Origins of C…

Advanced C# Tips: Utilize ArrayPool for Frequent Array Allocations

30/07/202413/09/2024

This entry is part 5 of 17 in the series Advanced C# TipsAdvanced C# Tips:Prefer Lazy Initialization for Rarely Used Objects Advanced C# Tips:…

Advanced C# Tips: Consider Leveraging Bitwise Operations for Simple Calculations If Possible

23/07/202421/09/2025

This entry is part 6 of 17 in the series Advanced C# TipsAdvanced C# Tips:Prefer Lazy Initialization for Rarely Used Objects Advanced C# Tips:…

Advanced C# Tips: Use Exceptions Wisely

16/07/202405/10/2024

This entry is part 7 of 17 in the series Advanced C# TipsAdvanced C# Tips:Prefer Lazy Initialization for Rarely Used Objects Advanced C# Tips:…

Advanced C# Tips: Prefer Value Types Over Reference Types

09/07/202413/09/2024

This entry is part 8 of 17 in the series Advanced C# TipsAdvanced C# Tips:Prefer Lazy Initialization for Rarely Used Objects Advanced C# Tips:…

Bedrock of Software – Part 1: The Origins of C

02/07/202421/09/2025

This entry is part 1 of 4 in the series C – Bedrock of SoftwareBedrock of Software – Part 1: The Origins of C…

Advanced C# Tips: Prefer Structs for Immutable Data

27/06/202413/09/2024

This entry is part 9 of 17 in the series Advanced C# TipsAdvanced C# Tips:Prefer Lazy Initialization for Rarely Used Objects Advanced C# Tips:…

Advanced C# Tips: Use ‘in’ Parameter Modifier for Large Value Types

20/06/202413/09/2024

This entry is part 10 of 17 in the series Advanced C# TipsAdvanced C# Tips:Prefer Lazy Initialization for Rarely Used Objects Advanced C# Tips:…

Advanced C# Tips: Don’t Use unsafe for Minor Gains

13/06/202421/09/2025

This entry is part 11 of 17 in the series Advanced C# TipsAdvanced C# Tips:Prefer Lazy Initialization for Rarely Used Objects Advanced C# Tips:…

Containerizing a React App with Docker

03/06/202409/09/2024

Containerization became one of the recent trends in software development technology, because of its advantages with deployment and scalability and it is not for…

The Concept of Stateful and Stateless Applications

16/05/202409/09/2024

We often hear the terms “stateful” and “stateless”. Understanding these concepts has a critical importance since it is one of the most essential questions…

Azure Active Directory Login with React, with C# or Java Backend

08/05/202415/07/2025

Keeping things secure is the important part of any application. As entire internet going to cloud, Azure Active Directory (AD) is one of the…

Building a Basic Node.js App with TypeScript: A Practical Introduction

06/05/202420/09/2025

This is one of our practical posts. In this post, we will be writing a minimal server with Node.js and TypeScript. This is one…

Unlock Faster Performance: Advanced Caching Tactics for .NET Core

03/04/202409/09/2024

In software development, performance optimization is a crucial topic and one of the most effective ways to improve the performance is caching. However, caching…

Containerizing a .NET Application with Docker – Step by Step Guide

24/03/202415/07/2025

Docker is a powerful tool that allows developers to package applications into containers. These containers can run on any system that has Docker installed,…

D Programming Language: A Hidden Gem

09/03/202413/09/2024

D is an interesting language. For some reason, I have an emotional connection with this language and I believe that it is the subject…

Architectural Design Patterns 9 – Circuit Breaker

05/03/202413/09/2024

This entry is part 9 of 9 in the series Architectural Design PatternsArchitectural Design Patterns 1 – Layered (or Tiered) Pattern Architectural Design Patterns…

PHP: The All Times Survivor

03/02/202409/09/2024

Whenever a major improvement happens in web technology, whenever a new framework or a language is introduced in the web development market, PHP’s death…

React vs. Angular: Choosing the Right Framework in 2024

21/01/202409/09/2024

“Angular or React?” has been one of the most important questions in software development for the last decade. As a developer who had worked…

Remote Caching in Scaled-Out Cloud Applications: A Case Study with Redis, C# and Python

14/12/202309/09/2024

A few weeks ago, we were discussing a problem with my team mates and a colleague raised a question about a very basic distributed…

Using SignalR with Angular

01/12/202309/09/2024

In a previous blog post, we discussed how to create real-time web applications using SignalR and React. If you have already gone through that,…

Architectural Design Patterns 8 – Serverless (Function as a Service – FaaS)

24/11/202313/09/2024

This entry is part 8 of 9 in the series Architectural Design PatternsArchitectural Design Patterns 1 – Layered (or Tiered) Pattern Architectural Design Patterns…

Rust: A Modern Time Challenger to C++

11/11/202313/09/2024

For developers of my generation, C++ was the go-to language. It was everywhere, especially when you needed to write code that is fast, efficient…

Go Language: A Modern Take on System Programming

04/11/202302/04/2025

Today, I want to talk about a new generation language which gains ground among developers. Go also popularly known as Golang, an open-source programming…

Using SignalR with React

28/10/202315/07/2025

Recently, I had the opportunity to work on a project where React and SignalR were integrated. This experience was quite insightful, and I am…

Architectural Design Patterns 7 – Domain-Driven Design

19/10/202313/09/2024

This entry is part 7 of 9 in the series Architectural Design PatternsArchitectural Design Patterns 1 – Layered (or Tiered) Pattern Architectural Design Patterns…

On Azure Functions and Serverless

11/10/202309/09/2024

There’s no shortage of tools and technologies to make developers’ lives easier In the world of cloud computing, and one such offering comes from…

SOLID Principles: The Basics of Good Software Design

04/10/202309/09/2024

Even though my purpose is publishing ever green content in this blog, it is not easy to write about such a broader topic. Due…

Architectural Design Patterns 6 – Service-Oriented Architecture

29/09/202313/09/2024

This entry is part 6 of 9 in the series Architectural Design PatternsArchitectural Design Patterns 1 – Layered (or Tiered) Pattern Architectural Design Patterns…

Two-Way Data Binding in Angular: Its Pros and Cons

24/09/202309/09/2024

Two-way data binding is one of the most distinctive features of Angular but what does it require, and what are the benefits and drawbacks…

NextJS: Frontend Sneaking into Backend

20/09/202309/09/2024

As web-based applications become more sophisticated, frontend and backend lines gets blur. One such example of this change is NextJS. NextJS is a framework…

Architectural Design Patterns 5 – Monolithic

18/09/202313/09/2024

This entry is part 5 of 9 in the series Architectural Design PatternsArchitectural Design Patterns 1 – Layered (or Tiered) Pattern Architectural Design Patterns…

The Cheapest Way to Host a Static Website on AWS (S3 + CloudFront + Route 53 + HTTPS)

12/09/202329/09/2025

When you want to publish a simple static site lets say a blog, portfolio, documentation page or landing page, you often don’t need a…

Redux vs. useContext: Navigating the State Management Maze

05/09/202309/09/2024

Every developer knows that the software engineering isn’t just about writing code. It’s about creating efficient, maintainable, and scalable systems. A critical part of…

MongoDB through C# – Using the Official Library

03/09/202309/09/2024

MongoDB is a popular NoSQL database, which means it doesn’t use tables like traditional databases. Instead, it saves data as ‘documents’, which are like…

Architectural Design Patterns 4 – Event-Driven Architecture

31/08/202313/09/2024

This entry is part 4 of 9 in the series Architectural Design PatternsArchitectural Design Patterns 1 – Layered (or Tiered) Pattern Architectural Design Patterns…

SQL Server Performance Tips for High Volume Databases

28/08/202309/09/2024

As businesses grow, so does their data. A big amount of data can slow down your SQL Server if you don’t manage it right….

Architectural Design Patterns 3 – Microservices

26/08/202313/09/2024

This entry is part 3 of 9 in the series Architectural Design PatternsArchitectural Design Patterns 1 – Layered (or Tiered) Pattern Architectural Design Patterns…

Azure Blob Storage and C# Integration

21/08/202309/09/2024

Azure Blob Storage is one of Microsoft Azure’s storage solutions. Think of it as a massive cupboard in the cloud where you can keep…

Architectural Design Patterns 2 – Model-View-Controller (MVC)

17/08/202313/09/2024

This entry is part 2 of 9 in the series Architectural Design PatternsArchitectural Design Patterns 1 – Layered (or Tiered) Pattern Architectural Design Patterns…

Architectural Design Patterns 1 – Layered (or Tiered) Pattern

02/08/202313/09/2024

This entry is part 1 of 9 in the series Architectural Design PatternsArchitectural Design Patterns 1 – Layered (or Tiered) Pattern Architectural Design Patterns…

Article Series

Architectural Design Patterns

Advanced C# Tips

C - Bedrock of Software

Categories

  • Level
    • Beginner
    • Intermediate
    • Advanced
  • Programming Languages
    • C/C++
    • C#
    • Go
    • Java
    • Python
    • TypeScript
  • Databases
    • NoSQL
  • Cloud Computing
    • Amazon Web Services
    • Azure
    • Containerization
  • Web Development
    • Angular
    • React
    • Node.js
  • Software Engineering
  • Testing

Search

Proudly powered by WordPress | Theme: SpicePress by SpiceThemes