Tech Articles

cover of post: Inside libuv: Understanding CPU-Bound and I/O-Bound Workloads in Node.js

Inside libuv: Understanding CPU-Bound and I/O-Bound Workloads in Node.js

Jan 29, 2025

Understanding CPU-bound and I/O-bound tasks

By Wenhao Wang#Engineering
cover of post: Zap: Unlock the Full Potential of Logging in Go

Zap: Unlock the Full Potential of Logging in Go

Jan 28, 2025

Zap is a very fast, structured, and log-leveled Go logging library developed by Uber. According to the Uber - go Zap documentation, it performs better than similar structured logging packages and is also faster than the standard library. Specific performance tests can be found on GitHub.

By Min-jun Kim#golang
cover of post: How CSS Loading Affects DOM Parsing and Rendering

How CSS Loading Affects DOM Parsing and Rendering

Jan 28, 2025

Explores how CSS impacts DOM parsing, rendering, and JavaScript execution.

By Wenhao Wang#Engineering
cover of post: Go's http.ServeMux Is All You Need

Go's http.ServeMux Is All You Need

Jan 27, 2025

"Which router library should I choose?" has always been a common question faced by Go beginners. After the release of Go 1.22, the answer to this question may change. Many developers will find that the new standard library mux is sufficient to meet their needs, eliminating the need to rely on third - party packages. Of course, some developers will continue to choose the familiar third - party libraries, which is also reasonable. Routers like gorilla/mux still have more functions than the standard library. In addition, many Go programmers will choose lightweight frameworks like Gin because it not only provides a router but also additional tools required to build a web backend.

By Wenhao Wang#golang
cover of post: A Brief History of Frontend Engineering: From Basics to Modern Practices

A Brief History of Frontend Engineering: From Basics to Modern Practices

Jan 26, 2025

The transformation of frontend development through engineering, modularity, Node.js, and modern build tools.

By Min-jun Kim#Engineering
cover of post: Python Logging: loguru vs logging

Python Logging: loguru vs logging

Jan 26, 2025

Both `loguru` and `logging` have their advantages and disadvantages. For most Python projects, the concise syntax and powerful features of `loguru` make it the first choice for rapid development. For larger projects, the compatibility and flexibility of the standard library `logging` are more suitable. I hope this article can help you choose the appropriate logging tool for your project.

By James Reed#python
cover of post: Type, or Interface, That Is the Question (in TypeScript)

Type, or Interface, That Is the Question (in TypeScript)

Jan 25, 2025

The similarities and differences between TypeScript's type and interface.

By Min-jun Kim#Engineering
cover of post: 2025's Top 10 Python Web Frameworks Compared

2025's Top 10 Python Web Frameworks Compared

Jan 25, 2025

- Comprehensive: Django - Small and Elegant: Flask, sanic, bottle - Asynchronous and High - Concurrency Support: fastapi, tornado, sanic, aiohttp - Front - Backend Separation (API Development): fastapi, django - rest - framework, falcon, hug

By Olivia Novak#python
cover of post: How to Run Whisper in Node.js With Word-Level Timestamp

How to Run Whisper in Node.js With Word-Level Timestamp

Jan 25, 2025

Use Whisper in Node.js for accurate word-level timestamped transcriptions.

By Lukas Schneider#Engineering
cover of post: How to Read .aspx Files in Node.js

How to Read .aspx Files in Node.js

Jan 25, 2025

How to use Node.js to read `.aspx` files as static HTML.

By James Reed#Engineering
cover of post: How to Get a Timestamp Using Moment.js in Node.js

How to Get a Timestamp Using Moment.js in Node.js

Jan 25, 2025

Retrieve and format timestamps in Node.js using Moment.js.

By Ethan Miller#Engineering
cover of post: Why .editorconfig Still Matters in the Age of Prettier

Why .editorconfig Still Matters in the Age of Prettier

Jan 24, 2025

.editorconfig complements Prettier in many ways

By Min-jun Kim#Engineering
cover of post: Mastering Flask: A Deep Dive

Mastering Flask: A Deep Dive

Jan 24, 2025

Flask is a lightweight web framework. It is a Python web application used to build web services and APIs. Its design philosophy is "minimal dependencies", which means Flask only depends on two components: the Werkzeug WSGI toolkit and the Jinja 2 template engine. Flask is an open - source Python web application framework that provides a simple way to create web services and APIs. Its design philosophy of "minimal dependencies" results in it relying only on the Werkzeug WSGI toolkit and the Jinja 2 template engine. The core concepts of Flask include application, routing, request, response, context, configuration, etc. These concepts will be introduced in detail later.

By Daniel Hayes#python
cover of post: Lifecycle of HTML

Lifecycle of HTML

Jan 23, 2025

Learn about HTML's lifecycle events, from DOM construction to full resource loading and cleanup.

By Ethan Miller#Engineering
cover of post: Express 5.0.0: New Features and Updates

Express 5.0.0: New Features and Updates

Jan 23, 2025

Express.js, a highly popular web application framework for Node.js application development, has always been in the spotlight of developers. Recently, the Express.js team officially released version 5.0.0. Since the launch of the first major version in 2014, a full 10 years have passed. During this long period, Express.js has gone through numerous iterations and optimizations, and version 5.0.0 comes with new features and improvements, bringing a different experience to developers.

By Grace Collins#javascript
cover of post: Do Function Components Mean Functional Programming?

Do Function Components Mean Functional Programming?

Jan 21, 2025

The real story behind React’s function components and functional programming.

By Emily Parker#Engineering
cover of post: Mastering JWT (JSON Web Tokens): A Deep Dive

Mastering JWT (JSON Web Tokens): A Deep Dive

Jan 21, 2025

JSON Web Token (abbreviated as JWT) is currently the most popular cross - domain authentication solution. This article introduces its principles and usage.

By Olivia Novak#web
cover of post: Easy Guide to Single Sign-On (SSO)

Easy Guide to Single Sign-On (SSO)

Jan 20, 2025

Guide to SSO with cookie, token, and OAuth 2.0-based implementation methods.

By Wenhao Wang#Engineering
cover of post: Go vs Node.js vs PHP: Which Framework Outperforms the Other in Speed and Efficiency?

Go vs Node.js vs PHP: Which Framework Outperforms the Other in Speed and Efficiency?

Jan 20, 2025

The data for this performance comparison is sourced from https://www.techempower.com/benchmarks/#section=data-r18&hw=cl&test=query. This website provides rich and authoritative performance test data for different programming languages and frameworks, providing strong support for our analysis.

By James Reed#golang
cover of post: Master-Worker Pattern in NodeJS: Everything You Need to Know

Master-Worker Pattern in NodeJS: Everything You Need to Know

Jan 20, 2025

An overview of NodeJS's Master-Worker Pattern and how to use it.

By Wenhao Wang#Engineering
cover of post: How to Host Golang Projects for Free (Gin Example)

How to Host Golang Projects for Free (Gin Example)

Jan 19, 2025

How to Host Go Projects, like Gin, for totally FREE

By James Reed#Engineering
cover of post: How to Host Rust Projects in the Cloud for Free

How to Host Rust Projects in the Cloud for Free

Jan 19, 2025

How to Host Rust Projects, like Axum, for totally FREE

By Emily Parker#Engineering
cover of post: How to Host Playwright in the Cloud for Free

How to Host Playwright in the Cloud for Free

Jan 19, 2025

Comparison of serverless platforms for Playwright: how to use them to accomplish a typical Playwright task, and their pros and cons.

By Min-jun Kim#Engineering
cover of post: HTTP Caching 101: Things You Need to Know

HTTP Caching 101: Things You Need to Know

Jan 19, 2025

A concise guide to HTTP caching, explaining forced and negotiated caching with practical examples

By Takashi Yamamoto#Engineering
cover of post: Go Framework Comparison for Web Development

Go Framework Comparison for Web Development

Jan 19, 2025

1. Gin Features A fast and efficient web framework. It provides a rich set of features such as routing, middleware, parameter binding, JSON/XML rendering, etc.

By Grace Collins#golang
cover of post: How to Handle Large File Uploads Without Losing Your Mind

How to Handle Large File Uploads Without Losing Your Mind

Jan 19, 2025

Effortlessly manage large file uploads with powerful techniques

By Lukas Schneider#Engineering
cover of post: Unleashing Python Decorator Magic!

Unleashing Python Decorator Magic!

Jan 18, 2025

Decorators provide an efficient and elegant way to enhance the functionality of functions. They can help us achieve functional expansion with minimal code changes. Through the examples in this article, we can see the powerful capabilities and flexible applications of decorators in actual development. Using decorators correctly can make the code more concise, easier to maintain, and enhance code readability and usability. In daily programming, we can flexibly use decorators to optimize the code structure and improve development efficiency according to specific requirements.

By Lukas Schneider#python
cover of post: Why Your Random is Predictable: Random Numbers in Go

Why Your Random is Predictable: Random Numbers in Go

Jan 18, 2025

Let's talk about true randomness and pseudorandomness.

By Min-jun Kim#Engineering
cover of post: Python Garbage Collection: Everything You Need to Know

Python Garbage Collection: Everything You Need to Know

Jan 17, 2025

In computer science, Garbage Collection (abbreviated as GC) is an automatic memory management mechanism. When certain memory space occupied by a program is no longer accessed, the program will return it to the operating system through garbage collection algorithms.

By Emily Parker#python
cover of post: A Beginner’s Guide to Using Framer Motion

A Beginner’s Guide to Using Framer Motion

Jan 16, 2025

Effortlessly create elegant animations in React using Framer Motion's powerful features.

By Lukas Schneider#Engineering
cover of post: How to Read .env Files in Node.js (Updated for 2025)

How to Read .env Files in Node.js (Updated for 2025)

Jan 16, 2025

Manage `.env` files using Node.js native APIs, `dotenv`, or custom parsers based on version.

By Daniel Hayes#Engineering
cover of post: How to Remove a Conda Environment in 2025

How to Remove a Conda Environment in 2025

Jan 16, 2025

Guide on removing Conda environments safely and addressing common errors.

By Olivia Novak#Engineering
cover of post: You Don't Know AbortController

You Don't Know AbortController

Jan 16, 2025

A comprehensive guide to mastering AbortController, covering its features, use cases, and advanced applications for efficient asynchronous programming.

By James Reed#Engineering
cover of post: Go Channels Unlocked: How They Work

Go Channels Unlocked: How They Work

Jan 16, 2025

As one of the most commonly used facilities in Golang, understanding the source code of channels can help us better understand and use them. At the same time, we will not be overly superstitious and dependent on the performance of channels. There is still much room for optimization in the current design of channels.

By James Reed#golang
cover of post: How to Mock Async Functions in Python

How to Mock Async Functions in Python

Jan 14, 2025

Mocking async functions in Python ensures effective, isolated, and performant testing.

By James Reed#Engineering
cover of post: How to Use Fitz (PyMuPDF) for PDF Handling in Python

How to Use Fitz (PyMuPDF) for PDF Handling in Python

Jan 14, 2025

Learn PDF manipulation in Python using Fitz for efficient handling and editing.

By Takashi Yamamoto#Engineering
cover of post: Getting Started with Python's tile-tools

Getting Started with Python's tile-tools

Jan 14, 2025

A Python library for tile-based map manipulation and coverage generation.

By Takashi Yamamoto#Engineering
cover of post: Understanding Node.js Cluster: The Core Concepts

Understanding Node.js Cluster: The Core Concepts

Jan 14, 2025

Explores Node.js Cluster's core concepts: inter-process communication, load balancing, and multi-process port listening.

By Grace Collins#Engineering
cover of post: Go's Concurrency Decoded: Goroutine Scheduling

Go's Concurrency Decoded: Goroutine Scheduling

Jan 14, 2025

Goroutine is a highly distinctive design in the Go programming language and one of its major highlights. Essentially a coroutine, it is the key to achieving parallel computing. Using goroutine is quite straightforward. You can start a coroutine simply by using the `go` keyword, and it runs asynchronously. The program can continue executing the subsequent code without waiting for the goroutine to complete.

By Lukas Schneider#golang
cover of post: Blockchain Development with Chainstack and Python

Blockchain Development with Chainstack and Python

Jan 13, 2025

Using Chainstack and Python simplifies blockchain development and interaction.

By James Reed#Engineering
cover of post: How to Integrate Momentum Strategy in Python: A Step-by-Step Guide

How to Integrate Momentum Strategy in Python: A Step-by-Step Guide

Jan 13, 2025

Implement a Python-based momentum strategy and evaluate its performance using backtesting.

By James Reed#Engineering
cover of post: How to Write Switch Statements in Python (2025) - Switch Case Example

How to Write Switch Statements in Python (2025) - Switch Case Example

Jan 13, 2025

How to implement switch statements in Python using dictionaries, if-elif-else, and the modern match statement.

By Takashi Yamamoto#Engineering
cover of post: The Core of FastAPI: A Deep Dive into Starlette 🌟🌟🌟

The Core of FastAPI: A Deep Dive into Starlette 🌟🌟🌟

Jan 13, 2025

By now, we have analyzed several important functional codes of Starlette. Starlette is an excellent library with a great design concept. It is recommended that you read the Starlette source code by yourself, which will be helpful for writing your own frameworks in the future.

By James Reed#python
cover of post: Asynchronous Python: What You Need to Know 🐍🐍🐍

Asynchronous Python: What You Need to Know 🐍🐍🐍

Jan 12, 2025

`await` does not implement program pausing and execution through `yield`. Although they have similar capabilities, they have no calling relationship at all and are both Python keywords. `await` is suitable for asynchronous programming scenarios, used to wait for the completion of asynchronous operations, and supports more flexible coroutine management; while `yield` is mainly used in generator functions to implement iterators and lazy evaluation. There are some differences in their application scenarios and syntax, but both provide the ability to pause and resume the control flow.

By Takashi Yamamoto#python
cover of post: A Hidden Gem in JavaScript Debugging: error.cause

A Hidden Gem in JavaScript Debugging: error.cause

Jan 12, 2025

How error.cause enhances error tracing in JavaScript.

By Grace Collins#Engineering
cover of post: Inside the Node.js Event Loop: A Deep Dive

Inside the Node.js Event Loop: A Deep Dive

Jan 11, 2025

Node.js adopts the event-driven and asynchronous I/O approach, achieving a single-threaded, highly concurrent JavaScript runtime environment. Since a single thread means only one thing can be done at a time, how does Node.js achieve high concurrency and asynchronous I/O with just one thread? This article will explore the single-threaded model of Node.js around this question.

By Wenhao Wang#javascript
cover of post: FastAPI + Uvicorn = Blazing Speed: The Tech Behind the Hype

FastAPI + Uvicorn = Blazing Speed: The Tech Behind the Hype

Jan 10, 2025

FastAPI is a modern, high-performance web framework. It uses the asynchronous programming features of Python to improve the performance of web applications. Uvicorn, on the other hand, is a high-performance ASGI server implemented with uvloop and httptools, which can handle HTTP requests asynchronously. FastAPI uses Uvicorn as its default web server because Uvicorn is very fast, reliable, and easy to use. It can remain stable and efficient when handling a large number of concurrent connections. In addition, Uvicorn supports new features such as WebSocket and HTTP/2, which align with the modern web development philosophy advocated by FastAPI. Therefore, using Uvicorn as the web server for FastAPI is an excellent choice.

By Grace Collins#python
cover of post: Node.js v23.6.0: Built-in TypeScript Support is Finally Here

Node.js v23.6.0: Built-in TypeScript Support is Finally Here

Jan 09, 2025

Node.js can now run TypeScript files without additional configuration.

By Lukas Schneider#Engineering