Latest Articles

An Introduction to Time Wheels

1.conceptThe Timing Wheel is the result of George Varghese and Tony Lauck’s 1996 paper [Hashed and Hierarchical Timing Wheels: data structures to efficiently implement a timer facility], which is widely used in the Linux kernel and is one of the implementations and foundations of Linux kernel timers ... More >>

About the TIME-WAIT state

Let’s rewind a bit and have a close look at this TIME-WAIT state. What is it? See the TCP state diagram below: TCP state diagram Only the end closing the connection first will reach the TIME-WAIT state. The other end will follow a path which usually permits it to quickly get rid of the connection. ... More >>

Take You Step by Step to Implement the Simplest Distributed System Log: Full Link Tracking

backgroundWith the popularity of microservices, many companies have split the system into many microservices according to business boundaries, when troubleshooting and checking logs. Because business links run through many microservice nodes, it becomes very difficult to locate the logs of a certain ... More >>

Chromedriver and Chrome Version Matching Issue

Many users of Selenium will encounter a problem. Our Chromedriver is often incompatible with the local Chrome browser version, causing us to fail to instantiate Webdriver.Chrome. The error message is roughly as follows: An exception occurs: SessionNotCreatedException Message: session not created: Th ... More >>

Golang Compiler Variable Escape Analysis

Variable escape in Golang Golang compiler variable escape analysis The Go language compiler will automatically decide whether to put a variable on the stack or the heap.The compiler will do escape analysis. When it is found that the scope of the variable does not run out of the function scope,it ca ... More >>

The Ultimate Guide to Understanding the Differences between HTTP/1.1, HTTP/2, and HTTP/3 in a Fun Way

The Ultimate Guide to Understanding the Differences between HTTP/1.1, HTTP/2, and HTTP/3 in a Fun WayHTTP, the Hypertext Transfer Protocol, forms the backbone of communication on the internet. Over the years, it has evolved through various versions with each iteration bringing improve ... More >>

Android Studio Custom Lint Tool

Android Studio Custom Lint ToolIntroductionAndroid Studio provides a code scanning tool called lint that helps you find and correct problems with the structural quality of your code without actually executing your app or writing test cases. Every issue detected by the tool is reported with a descrip ... More >>

FreeSWITCH Docker Building Guide

FreeSWITCH Docker Building GuideInstall dockerFirst, install the docker service on the server to facilitate subsequent environment construction. 1234sudo yum install -y dockerdocker --versionsudo systemctl start dockersystemctl status docker Construct Docker file of FreeSWITCHWrite the docker file ... More >>

After Front-End Deployment Releases the Project, How to Notify the User to Refresh the Page and Clear the Cache?

After Front-End Deployment Releases the Project, How to Notify the User to Refresh the Page and Clear the Cache?There are two approaches to this problem Method 1: Pure front-end Every time you package for release, use webpack to build a version.json file. The content in the file is a random string ( ... More >>

The Solution for Monitoring the Deadlock of the Main Thread

The Solution for Monitoring the Deadlock of the Main ThreadIn project development, the solution for monitoring the main thread’s lag is particularly important. It plays a guiding role in our subsequent optimization logic, so below we start to discuss the implementation of the solution for monitoring ... More >>