Fading Coder

An Old Coder’s Final Dance

Introduction to `pytest.ini` Configuration File

The pytest.ini file is the central configuration file for Pytest, enabling you to modify the way tests are executed. Pytest locates and reads this file automatically and applies the specified settings during the execution of tests. Location of pytest.ini The pytest.ini file must typically be stored...

Secure Configuration File Encryption in Azure Web Apps and Web Jobs

Azure Web Apps and Web Jobs operate on a distinct hosting model that makes conventional configuraton encryption methods, such as DataProtectionConfigurationProvider and RSAProtectedConfigurationProvider, unreliable for long-term decryption. To securely encrypt sensitive configuration data, such as c...

Concurrent Batch Processing of Kafka Messages with Spring Boot

Introduction Kafka is a powerful message middleware that is frequently used in software development to decouple upstream and downstream processes or manage uneven traffic loads effectively. While Kafka excels in write performance, the rate at which data is consumed largely depends on the efficiency...

Key Concepts and Examples of Nginx Regular Expressions

Nginx employs regular expressions to control URL behaviors effectively. Understanding Nginx’s handling of regex patterns is essential for optimizing web server configurations. Basic Regular Expression Syntax: ^: Indicates the start of a string. $: Represents the end of the string. *: Matches zero or...

Understanding Code Blocks in Java

Code blocks in Java are sections of code surrrounded by curly braces {}, used to group statements logically. Depending on their placement and how they are defined, they are categorized into four types: common blocks, instance blocks, static blocks, and synchronized blocks. "1.1 Common Code Bloc...

Clickhouse Shards and Replication Setup

A replica in Clickhouse is essentially two or more tables or table segments containing identical data, typically intended for redundancy and data integrity. Sharding, on the other hand, divides table data horizontally across different servers, alleviating the workload on individual nodes. Clickhouse...

Data Types in ClickHouse

ClickHouse offers a diverse set of data types categorized into basic, composite, and specialized types. Data types supported by ClickHouse along with their metadata can be explored using the system table data_type_families. Below is an SQL query to retrieve these details: SELECT * FROM system.data_t...

Redis Startup Failure: Unable to Access Log File Due to Permissions Error

If Redis encounters an error stating it cannot open the log file, it is often related to file permisssions. This issue can occur after accidental deleting the Redis folder under the /var directory and attempting to restart Redis. When executing the command to start the service: /etc/init.d/redis-ser...

Handling YAML Configuration Files in C++

YAML, short for 'YAML Ain't Markup Lenguage,' is a lightweight, human-readable data serialization format. It organizes information using indentation, whitespace, and branching structures, allowing for intuitive representation of hierarchical data. Below, we explore YAML syntax basics, how to use yam...

Using the nlohmann Open-Source JSON Library in C++: A Practical Guide

Introduction In the past, JSON processing in C++ was often handled using Qt's QJsonDocument and associated classess. However, this approach tends to be verbose and less elegant. For a more convenient and intuitive solution, many developers now rely on the open-source libray nlohmann/json. Highly reg...