Tech Articles

cover of post: A Complete Guide to PostgreSQL’s 9 Index Types

A Complete Guide to PostgreSQL’s 9 Index Types

May 08, 2025

PostgreSQL provides a rich variety of index types. Each index type is based on specific data structures and principles, and is suitable for different application scenarios. The following will provide a detailed introduction to these nine main index types.

By Lukas Schneider#database
cover of post: Why Use a VARCHAR Field Instead of TEXT in MySQL

Why Use a VARCHAR Field Instead of TEXT in MySQL

May 07, 2025

An in-depth look at how TEXT fields work and when to avoid them.

By Olivia Novak#Engineering
cover of post: Best Practices for Python Code Style and Linting

Best Practices for Python Code Style and Linting

May 07, 2025

The Python code style guide is not set in stone. It evolves continuously with the development of the language. Some old conventions are gradually phased out, and new ones keep emerging. At the same time, many projects have their own coding style guides. When there are conflicts, the project-specific guides should be followed first. However, there is an important principle to keep in mind: "The stupid persistence in consistency is the monster of ignorance", which is a profound insight from Guido. Since code is often read more frequently than it is written, the core goal of the style guide is to improve code readability and keep all kinds of Python code consistent. As PEP20 says, "Readability counts".

By Olivia Novak#python
cover of post: How Many Goroutines Can Go Run? A Deep Dive into Resource Limits

How Many Goroutines Can Go Run? A Deep Dive into Resource Limits

May 06, 2025

A guide to understanding and managing Goroutine resource consumption and safe concurrency in Go.

By Takashi Yamamoto#Engineering
cover of post: Understanding JSON Arrays of Arrays

Understanding JSON Arrays of Arrays

May 05, 2025

A guide to using and handling JSON nested arrays effectively.

By Takashi Yamamoto#Engineering
cover of post: How to Write JSON to a File in Python

How to Write JSON to a File in Python

May 05, 2025

Writing JSON to files in Python using `json.dump()`.

By Wenhao Wang#Engineering
cover of post: How to Convert JSON to CSV: A Practical Guide

How to Convert JSON to CSV: A Practical Guide

May 05, 2025

Convert structured JSON to flat, tabular CSV for analysis.

By Lukas Schneider#Engineering
cover of post: Why Python, Go and Rust Don’t Use the Ternary Operator

Why Python, Go and Rust Don’t Use the Ternary Operator

May 05, 2025

Exploring the design choices behind conditional expressions in modern languages.

By Lukas Schneider#Engineering
cover of post: Why MVC, MVP, and MVVM Remain the Best Architectural Patterns

Why MVC, MVP, and MVVM Remain the Best Architectural Patterns

May 05, 2025

MVC stands for Model View Controller, which is an abbreviation for model-view-controller. It is a widely applied software design paradigm. Its core idea is to organize the code by separating the business logic, data, and interface display, and centralize the business logic in one component. In this way, when improving and customizing the interface and user interaction, there is no need to rewrite the business logic. MVC has uniquely developed to map the traditional input, processing, and output functions into a logical graphical user interface structure.

By Grace Collins#programming
cover of post: How to Store JSON Data in Session Storage in Angular

How to Store JSON Data in Session Storage in Angular

May 04, 2025

Storing JSON in Angular session storage using services for better structure.

By Wenhao Wang#Engineering
cover of post: How to Convert JSON to Excel Using Microsoft Excel's Power Query

How to Convert JSON to Excel Using Microsoft Excel's Power Query

May 04, 2025

Convert JSON files into Excel tables using Power Query tools.

By Daniel Hayes#Engineering
cover of post: Understanding JSON Arrays: A Practical Guide

Understanding JSON Arrays: A Practical Guide

May 04, 2025

JSON arrays store ordered, mixed-type data for structured information exchange.

By Wenhao Wang#Engineering
cover of post: Why Modern Languages (Go, Rust) Prefer Composition Over Inheritance

Why Modern Languages (Go, Rust) Prefer Composition Over Inheritance

May 04, 2025

A deep dive into inheritance pitfalls and how composition solves them in languages like Go, Rust, and even Java.

By Olivia Novak#Engineering
cover of post: Advanced Python Concurrency: Multithreading and AsyncIO

Advanced Python Concurrency: Multithreading and AsyncIO

May 04, 2025

This article has deeply explored multithreading programming and asynchronous programming in Python, covering the basic knowledge of the multithreading module (`threading`), code practice, as well as the basic concepts and usage of the asynchronous programming module (`asyncio`). We started from the basics of multithreading, such as the `Thread` class, lock mechanism, thread safety, etc., and gradually demonstrated the application scenarios and precautions of multithreading in practical applications. Through an example, the process of multithreaded image downloading was shown, emphasizing the importance of thread safety and exception handling.

By Min-jun Kim#python
cover of post: Go's nil Is More Complicated Than You Think

Go's nil Is More Complicated Than You Think

May 03, 2025

In the practice of Go language programming, the use of `nil` is extremely common. For example, the default type is assigned as `nil`, the `error` return value often uses `return nil`, and multiple types use `if != nil` for judgment, etc. However, regarding the knowledge point of `nil`, developers need to have an in-depth understanding of its essence and related characteristics.

By Min-jun Kim#golang
cover of post: Python Advanced: A Journey with Abstract Base Classes

Python Advanced: A Journey with Abstract Base Classes

May 02, 2025

Today, we are going to explore Abstract Base Classes (ABCs) in Python. Although this concept has been around in Python for a long time, in daily development, especially in development scenarios related to LeapCell, many people may not use it frequently, or they may not use it in the most sophisticated way.

By James Reed#python
cover of post: Boosting Python Performance with Rust: A Practical Guide

Boosting Python Performance with Rust: A Practical Guide

May 01, 2025

By using Rust to optimize Python code, computational performance can be significantly improved. Although Rust has a steeper learning curve, for projects that need to handle a large number of computational tasks, rewriting the key parts of the code in Rust can save a lot of time costs. You can gradually try to use Rust to optimize existing Python projects, starting with a simple functional function and gradually mastering its usage.

By Ethan Miller#python
cover of post: Getting Started with anyhow: A Practical Guide to Rust Error Handling

Getting Started with anyhow: A Practical Guide to Rust Error Handling

Apr 30, 2025

A practical guide to simplifying Rust error handling using the anyhow crate.

By Ethan Miller#Engineering
cover of post: Monolith or Microservices? The Evolution of Architecture

Monolith or Microservices? The Evolution of Architecture

Apr 30, 2025

Neither the monolithic nor the microservices architecture is a "cancer". Instead, they are technical choices in different historical stages and according to different business needs. In actual projects, factors such as business scale, team capabilities, and technical requirements should be comprehensively considered to select the architecture that is most suitable for the current development stage and maintain the flexibility and evolvability of the architecture.

By Lukas Schneider#programming
cover of post: How to Convert JSON to an HTML Table: A Comprehensive Guide

How to Convert JSON to an HTML Table: A Comprehensive Guide

Apr 28, 2025

Simple methods to transform JSON into readable HTML tables.

By Wenhao Wang#Engineering
cover of post: How to Convert Parquet to JSON in Python

How to Convert Parquet to JSON in Python

Apr 28, 2025

Convert Parquet to JSON easily in Python using Pandas, PyArrow, or DuckDB.

By Emily Parker#Engineering
cover of post: How to Open a JSON File: A Comprehensive Guide

How to Open a JSON File: A Comprehensive Guide

Apr 28, 2025

Ways to open, view, and edit JSON files easily.

By Takashi Yamamoto#Engineering
cover of post: Choosing the Right Rust Error Handling Tool: anyhow, thiserror, or snafu?

Choosing the Right Rust Error Handling Tool: anyhow, thiserror, or snafu?

Apr 28, 2025

An overview of Rust error handling tools: anyhow, thiserror, and snafu, with usage examples.

By Grace Collins#Engineering
cover of post: Node.js Logging Tools: A Detailed Analysis and Comparison

Node.js Logging Tools: A Detailed Analysis and Comparison

Apr 28, 2025

The rich logging tools in the Node.js ecosystem provide developers with a variety of choices, making it easy to implement logging functions in actual projects. However, choosing the right logging library is crucial. It is necessary to comprehensively consider factors such as the specific requirements of the application, performance requirements, deployment environment, and the complexity of log management. Developers should select a logging tool that can accurately record the required data, is easy to analyze and troubleshoot problems, and at the same time does not have too much impact on the application performance, so as to provide strong support for the stable operation and continuous optimization of the project.

By Min-jun Kim#javascript
cover of post: Introduction to Redis CLI

Introduction to Redis CLI

Apr 27, 2025

Quick guide to using Redis CLI for server interaction and management.

By Olivia Novak#Engineering
cover of post: Redis Commands: A Comprehensive Overview

Redis Commands: A Comprehensive Overview

Apr 27, 2025

Essential Redis commands for efficient data management and operations.

By Min-jun Kim#Engineering
cover of post: Getting Started with Redis and Python

Getting Started with Redis and Python

Apr 27, 2025

Simple guide to using Redis efficiently with Python.

By Min-jun Kim#Engineering
cover of post: Thiserror: Effective Error Management in Rust

Thiserror: Effective Error Management in Rust

Apr 27, 2025

Learn how to simplify Rust error handling by creating custom errors with the thiserror crate.

By Grace Collins#Engineering
cover of post: Why Some Developers Prefer Go Without Generics

Why Some Developers Prefer Go Without Generics

Apr 27, 2025

The introduction of Go generics is an important step in the development of the language, improving code reusability and type safety. However, compared with other languages, Go generics still have gaps in functionality and expressive power. The current design is more like a transitional solution and still needs further improvement in the future.

By Olivia Novak#golang
cover of post: How to Show Databases in PostgreSQL

How to Show Databases in PostgreSQL

Apr 27, 2025

Different ways to list databases in PostgreSQL using CLI, SQL, or GUI tools.

By Min-jun Kim#Engineering
cover of post: Understanding PostgreSQL Data Types

Understanding PostgreSQL Data Types

Apr 27, 2025

PostgreSQL offers versatile, performance-driven data types for effective database design.

By Wenhao Wang#Engineering
cover of post: Understanding and Managing the PostgreSQL Port

Understanding and Managing the PostgreSQL Port

Apr 27, 2025

Manage PostgreSQL ports safely by configuring, verifying, and securing connections.

By Takashi Yamamoto#Engineering
cover of post: Rust Essentials: Core Concepts and Practical Examples

Rust Essentials: Core Concepts and Practical Examples

Apr 26, 2025

Explore Rust’s unique approach to memory safety, concurrency, and efficient programming.

By Emily Parker#Engineering
cover of post: Deep Dive into Docker Images

Deep Dive into Docker Images

Apr 26, 2025

As the foundation of containers, Docker images essentially represent the content of the container's file system. It is a read-only template used to create Docker containers. From a technical perspective, Docker images adopt a layered structure design. Except for the base image, other images are generated by overlaying new content on top of existing images. The metadata of each layer of the image is stored in a `json` file. This metadata not only describes the static content of the file system but also contains dynamic data information, such as the creation time of the image, build instructions, and so on.

By James Reed#programming
cover of post: How to List Users in PostgreSQL

How to List Users in PostgreSQL

Apr 25, 2025

Quick guide to listing and checking users in PostgreSQL.

By Lukas Schneider#Engineering
cover of post: How to Show Tables in PostgreSQL

How to Show Tables in PostgreSQL

Apr 25, 2025

Different ways to list PostgreSQL tables using `psql`, SQL, or GUI.

By Grace Collins#Engineering
cover of post: Understanding the MySQL `SUBSTRING()` Function

Understanding the MySQL `SUBSTRING()` Function

Apr 25, 2025

Extract specific text using MySQL `SUBSTRING()` for flexible data handling.

By Takashi Yamamoto#Engineering
cover of post: Rust Fundamentals Through 24 Minimal Examples

Rust Fundamentals Through 24 Minimal Examples

Apr 25, 2025

A quick dive into Rust’s key concepts, each explained with a short code snippet.

By Takashi Yamamoto#Engineering
cover of post: Next.js JWT Auth Made Easy: From Setup to Deployment

Next.js JWT Auth Made Easy: From Setup to Deployment

Apr 25, 2025

In modern web development, user authentication and authorization are core aspects of building secure applications. JSON Web Token (JWT), with its stateless, cross-platform, and lightweight characteristics, has become one of the most mainstream authentication solutions in front-end and back-end separated applications. As the most popular full-stack framework in the React ecosystem, Next.js provides a powerful middleware mechanism that can efficiently implement request interception and route protection. This article will delve into how to achieve user authentication in Next.js through custom middleware in combination with JWT, ensuring that the requests contain valid `userid` and `username`, and covering the entire process from basic principles to production-level practices.

By Emily Parker#javascript
cover of post: How to Show All Users in MySQL

How to Show All Users in MySQL

Apr 24, 2025

List all MySQL users using a simple SQL query with proper privileges.

By Takashi Yamamoto#Engineering
cover of post: Mastering MySQL INSERT: Techniques for Efficient Data Insertion

Mastering MySQL INSERT: Techniques for Efficient Data Insertion

Apr 24, 2025

How to use MySQL INSERT efficiently and handle duplicates or large datasets.

By Wenhao Wang#Engineering
cover of post: Understanding and Resolving MySQL Error 1064

Understanding and Resolving MySQL Error 1064

Apr 24, 2025

Fix SQL syntax issues to resolve MySQL Error 1064 quickly and reliably.

By James Reed#Engineering
cover of post: How to Create a Table in MySQL

How to Create a Table in MySQL

Apr 24, 2025

Create structured, reliable tables using MySQL's `CREATE TABLE` syntax and constraints.

By Wenhao Wang#Engineering
cover of post: Mastering the MySQL UPDATE Statement: Syntax, Examples, and Best Practices

Mastering the MySQL UPDATE Statement: Syntax, Examples, and Best Practices

Apr 24, 2025

Safe and effective techniques for updating data with MySQL's `UPDATE` statement.

By Takashi Yamamoto#Engineering
cover of post: How to Use MySQL DATEDIFF() to Compare Dates

How to Use MySQL DATEDIFF() to Compare Dates

Apr 24, 2025

Compare two MySQL dates and get the day difference with `DATEDIFF()` function.

By Grace Collins#Engineering
cover of post: 9 Rust Pitfalls Every Developer Should Know

9 Rust Pitfalls Every Developer Should Know

Apr 24, 2025

A guide to common Rust coding mistakes and how to fix them

By Daniel Hayes#Engineering
cover of post: 20 Years of Django: The Secret Behind Its Lasting Popularity

20 Years of Django: The Secret Behind Its Lasting Popularity

Apr 24, 2025

In 2025, the field of web development met a milestone——the Django framework officially marked its 20th anniversary. As the most influential full-stack web framework in the Python ecosystem, since the release of its first public version in 2005, Django has always adhered to the design philosophy of "batteries included" and has been driving a revolution in web development efficiency. This article will analyze the iterative path of Django's core functions along the timeline of its version evolution, and conduct technical comparisons with mainstream frameworks such as Ruby on Rails, Spring, and NestJS to showcase its continuously innovative technical genes.

By Grace Collins#python
cover of post: A Deep Dive into Pattern Matching in Rust

A Deep Dive into Pattern Matching in Rust

Apr 23, 2025

A comprehensive guide to Rust’s powerful pattern matching syntax and its practical use cases.

By Emily Parker#Engineering