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 >>
2024-08-20
Timing Wheel
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 >>
2024-07-22
TIME-WAIT
/
TCP
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 >>
2024-06-26
Distributed System
/
Full Link Tracking
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 >>
2024-06-18
Chrome
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 >>
2024-06-09
Back End
/
Golang
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 >>
2024-05-24
Front End
/
Android Studio
/
Lint
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 >>
2024-05-17
Back End
/
FreeSWITCH Docker
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 >>
2024-05-11
Front End
/
Notify
/
Cache
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 >>
2024-05-02
Front End
/
deadlock
/
monitoring