May 24, 2023
In kubernetes, LoadBalancer is the most common way of exposing backend applications to the outside world. Its API is very similar to NodePort with the only exception being the spec.type: LoadBalancer. At the very least, a user is expected to define which ports to expose and a label selector to match backend Pods:
...
May 22, 2023
LeakSanitizer internally uses ptrace, probably to suspend all threads such that it can scan for leaks without false positives (see issue 9). Only one application can use ptrace, so if we run application under gdb or strace, then LeakSanitizer won’t be able to attach via ptrace. if we are using clion, it probably end up with a error message like “LeakSanitizer does not work under ptrace (strace, gdb, etc)”
...
May 16, 2023
Big-endian and little-endian are two byte ordering schemes used to store multibyte data types (such as integers and floating-point numbers) in computer memory.
...
April 21, 2023
Case-(in)sensitive, collation and quote in different DBMSs.
In Oracle Database, you can use double quotes (") to quote SQL identifiers such as table names, column names, and aliases. By enclosing an identifier in double quotes, you can use mixed case, special characters, or reserved words as identifiers.
...
April 21, 2023
Unlike other databases like MySQL, PostgreSQL, etc., Oracle database have some dialect and different concepts, for example, create database command won’t work in Oracle, instead, it uses user as the isolate mechanisim instead of database.
Here Oracle Database basic usages FAQs record:
- Oracle create user/database via sqlplus
- Oracle JDBC driver oci8 vs. thin?
- Oracle sqlplus show non-system users
- Oracle sqlplus show tables and views
...
April 20, 2023
How to Connect Clickhouse to PostgreSQL, MySQL, Oracle, SQL-Server, MongoDB.
This post shows a step-by-step tutorial for connecting ClickHouse to PostgreSQL, MySQL and MongoDB via the ClickHouse storage engine and connecting Oracle and SQL-Server via the JDBC-bridge(the official JDBC-bridge has some limitations, check this fork as a workaround)
...
April 6, 2023
xargs # xargs is a versatile command in Unix-like operating systems, which is used to read items from standard input separated by lines, spaces, or other delimiters, and then execute a command using those items as arguments. Here are some of the most commonly used options for xargs:
-I: This option allows you to specify a placeholder that will be replaced with the input item in the command line.
...
August 13, 2022
A lookup table for HTTP security-related glossaries, such as Site, Origin, Cookie etc.
For example, before we can understand what cross-site means we must understand what Site means, and If we want to know what CORS is for we need to understand what Origin is first.
...
August 11, 2022
As dealing with microservice-based systems, we often encounter the ever-repeating question , “Should I use RabbitMQ or Kafka?” For some reason, many developers view these technologies as interchangeable. While this is true for some cases, there are various underlying differences between these platforms.
As a result, different scenarios require a different solution, and choosing the wrong one might severely impact your ability to design, develop, and maintain your software solution.
Part 1 of this series explains the internal implementation concepts of both RabbitMQ and Apache Kafka. This part continues to review notable differences between these two platforms, differences that we should note as software architects and developers.
Then, it proceeds to explain the architecture patterns we usually try to implement with these tools and assess when to use each.
...
August 10, 2022
As dealing with microservice-based systems, we often encounter the ever-repeating question , “Should I use RabbitMQ or Kafka?” For some reason, many developers view these technologies as interchangeable. While this is true for some cases, there are various underlying differences between these platforms.
As a result, different scenarios require a different solution, and choosing the wrong one might severely impact your ability to design, develop, and maintain your software solution.
The goal of this piece is first to introduce the basic asynchronous messaging patterns. Then, it continues to present both RabbitMQ and Kafka](https://kafka.apache.org/) and their internal structures and highlights the critical differences between these platforms, their various advantages and disadvantages, and how to choose between the two.
...