C++ Coroutines Advanced: Converting std::future to asio::awaitable

July 15, 2025 · 696 words · 4 min

In modern C++ development, coroutines have brought revolutionary changes to asynchronous programming. However, when using boost::asio or standalone asio, we often encounter scenarios where we need to convert traditional std::future<T> to asio::awaitable<T>. This article will detail an efficient, thread-safe conversion method.

Lunet: Design and Implementation of a High-Performance Coroutine Network Library

July 12, 2025 · 1511 words · 8 min

Lunet is a high-performance runtime written in C that integrates LuaJIT and libuv, focusing on coroutine-driven asynchronous programming. It simplifies the handling of asynchronous I/O and blocking tasks, enabling developers to easily write high-concurrency network applications using Lua scripts. It’s ideal for scenarios like game servers and network services.

IRSA vs. EC2 IAM:Usage Scenarios and Permission Management Practices

March 25, 2025 · 724 words · 4 min

In AWS environments, assigning permissions to workloads is critical for security and functionality. For applications running on EC2 or EKS, two common approaches are EC2 IAM Instance Roles and IRSA (IAM Roles for Service Accounts). This article explains what they are, their differences, usage scenarios with code examples, and common issues with solutions, helping the team choose the right authentication method and avoid permission confusion.

Principles Of Microservice Architecture

February 13, 2025 · 3289 words · 16 min

The microservices architecture is a method of building complex applications as a collection of small services, where each service runs in its own independent process and is typically built around specific business capabilities. These services communicate through well-defined APIs, often HTTP RESTful APIs or lightweight messaging systems. When designing a microservices architecture, it is crucial to follow a series of core principles to ensure the maintainability, scalability, and flexibility of the system.

The Evolution Of Service Architecture

February 12, 2025 · 1820 words · 9 min

In the long history of software engineering, service architecture has evolved from monolithic applications to Service-Oriented Architecture (SOA), and then to microservices architecture.

OpenTelemetry Getting Started Guide

December 2, 2024 · 636 words · 3 min

Three Pillars of Observability In modern distributed systems, observability is crucial for ensuring system health and performance.

A Comprehensive Overview of The Oauth2.0 Framework

July 28, 2024 · 1391 words · 7 min

OAuth is an authorization approache that simplifies the authorization processes for applications. Manyones may know about Authorization Code Flow, but there are still other approaches. In this article, we’ll learn how it works, covering authorization types, principles and notes.

Understanding Replication In MySQL

March 17, 2024 · 1328 words · 7 min

MySQL Replication is a process where data from one MySQL database known as the master is copied over to one or more other databases called replicas or slaves. In this article, we’ll learn what replication is, how to enable replication, replication modes and replication forms.

Understanding MVCC In MySQL InnoDB

March 9, 2024 · 1335 words · 7 min

In MySQL, MVCC (Multi-Version Concurrency Control) refers to the concurrency control mechanism used by the InnoDB storage engine. It provides concurrent access to data and ensures data consistency and isolation in a multi-user environment.

Implementing timer in mio

March 5, 2024 · 441 words · 3 min

Mio is a high-performance, low-level I/O library for Rust that focuses on non-blocking APIs and event notification. While Mio provides powerful capabilities for building I/O applications, it does not include a built-in timer feature. In this article, we will explore how to implement a timer in Mio.