Article Archives for `2024`

Springboot and configuration of AWS opensearch

Background:In actual development, for some real-time requirements that are not high and require some aggregated data queries, Elasticsearch is generally used. Its advantages are high query efficiency and the ability to store large amounts of data.We use AWS opensearch in our actual project. In fact, ... More >>

Environment Preparation

Because my needed to develop a Vue component library that could be published to npm and installed via npm, I searched many articles online and finally completed the task. During this process, I encountered many pitfalls, and I’ve organized them here, hoping to help those who may need it. I used Vue ... More >>

Front-end JavaScript Knowledge Base

IntroductionI believe many people, like me, started their journey in front-end development through short-term training programs that last for four or five months. As a result, our grasp of the fundamentals of JavaScript (JS) is quite weak. Although we managed to find jobs, we often encounter problem ... More >>

Mainstream Algorithms in Recommendation Systems

Recommendation systems are information filtering systems designed to suggest potentially interesting content to users based on their preferences and behavioral data. From product recommendations on e-commerce websites to personalized playlists on streaming platforms, recommendation systems have perm ... More >>

How to create a Flutter app

Introduction Flutter is an open source user interface (UI) toolkit developed by Google for building high-performance, beautiful, and smooth mobile applications on multiple platforms. It uses the Dart programming language and provides a wealth of UI components and tools to quickly build modern applic ... More >>

The implement of a simplified version of "promise"

promise Key pointsThe ‘Promise’ object represents an asynchronous operation with three states: ‘pending’ (in progress), ‘fulfilled’ (successful), and ‘rejected’ (failed) A Promise must be in one of the following states: pending: An initial state that is neither cashed nor rejected. fulfilled: The o ... More >>

How to deal with heavy traffic and high concurrenc

The so-called high concurrency refers to: at the same time or within a very short period of time, there are a large number of requests to reach the server, each request requires the server to spend resources to process, and make the corresponding feedback. Commonly used ideas and tools for high conc ... More >>

Understanding Nginx: A Comprehensive Guide

IntroductionNginx (pronounced “engine-x”) is an open-source web server that also functions as a reverse proxy, load balancer, mail proxy, and HTTP cache. Created by Igor Sysoev and publicly released in 2004, Nginx has grown in popularity due to its high performance, stability, rich feature set, simp ... More >>

Usage of UIStackView

In the past, iOS page layout was relatively traditional, and most people used Frame or AutoLayout for layout. After iOS9, UIStackView was introduced. UIStackView is a control for linear layout that can automatically manage subview layout and automatic filling. It draws on the front-end layout algori ... More >>

Android Communication Security

Component Communication SecurityWhat is local denial of service?Before understanding local denial of service, let’s briefly understand denial of service attacks (dos attacks) and distributed denial of service attacks (ddos). The so-called denial of service attack is to occupy all the service threads ... More >>

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 >>

Penetration Testing Theory

Penetration Testing Theory1. Definition of Penetration TestingPenetration Test is a test in which personnel with information security knowledge and skills are entrusted to simulate the attack methods of malicious hackers. Usually we describe it as a method/activity that explores possible vulner ... More >>

Block Is Used for Communication between OC and C++

Block Is Used for Communication between OC and C++BackgroundIn iOS development, we often encounter the situation of mixing OC and C++, so how to communicate between then? This article will introduce how to use block for communication between oc and c++. Due to the different memory management style o ... More >>

Convolutional Neural Networks in Deep Learning

Convolutional Neural Networks in Deep LearningWhat is Convolutional Neural Network?Convolutional neural networks are a model of deep learning that mainly processes tasks such as images and videos. CNN has achieved great success in the field of computer vision, such as multi object tracking, object r ... More >>

Understanding Garbage Collection in Go

Understanding Garbage Collection in GoGarbage collection is a mechanism Go developers use to find memory space that is allocated recently but is no longer needed, hence the need to deallocate them to create a clean slate so that further allocation can be done on the same space or so that memory can ... More >>

MySQL Backups

MySQL Backups1. Why backup is necessary Disaster recovery: Hardware failures, unintentional bugs causing data damage, or servers and their data being inaccessible or unusable due to certain reasons (such as a computer room building burning down, malicious hacker attacks, or MySQL bugs). People chang ... More >>

The Use and Principle Analysis of Coroutines

The Use and Principle Analysis of Coroutines1st. Why Use CoroutinesWhether it’s the birth of a technology or a product, it often comes with demand, and coroutines are no exception. When asked why to use coroutines, the first thing to understand is, what is a coroutine? In summary, it is a lightweigh ... More >>

Analyzing Redis Bloom Filters and Their Applications in Detail

Analyzing Redis Bloom Filters and Their Applications in DetailWhat’s Bloom FilterA Bloom Filter is a clever probabilistic data structure proposed by Howard Bloom in 1970, designed to determine whether a certain element exists in a set. It can indicate with a certain probability whether something def ... More >>

Redis Master-Slave Replication Principle

1.IntroductionIn most cases, we use redis stand-alone service. In actual scenarios, single-node Redis is prone to risks. Since failover cannot be achieved, subsequent requests will be sent directly to the database. A large number of queries will cause the number of database connections to reach a pe ... More >>

Pnpm Principle

Pnpm PrincipleDo you need some operating system knowledge to understand how pnpm works 1.The nature of the documentIn the operating system, a file is actually a pointer, only instead of pointing to a memory address, it points to an external storage address (in this case, external storage can be a ha ... More >>

Building a Python API Testing Tool Platform

Building a Python API Testing Tool PlatformIntroduction:In today’s software development landscape, API testing has become an integral part of the testing process. It allows developers to ensure the functionality and reliability of their applications by testing the different endpoints and functionali ... More >>

SwiftUI State Management

Introduction:State management is a crucial aspect of building responsive user interfaces in SwiftUI. It allows us to track and handle changes in the application’s state while ensuring that views automatically update when the state changes. This article will introduce several commonly used state mana ... More >>

LRU Cache

What is LRU Cache and How to Implement it1. What is LRU CacheLRU is the abbreviation of Least Recently Used, which means least recently used. It is a Cache replacement algorithm. 1.1 What is Cache?The Cache in the narrow sense refers to the fast RAM located between the CPU and the main memory. Usual ... More >>

How to Quickly Create Interface Automation

How to Quickly Create Interface AutomationDuring the project development process, regression validation is always performed on the original functions to ensure that the original logic is normal, such as smoke testing, regression testing, and monitoring online business. When there is a lot of content ... More >>

How to Run Parallel Coroutines in Kotlin

OverviewWe can think about Kotlin coroutines as lightweight threads. They allow us to execute code concurrently and are less resource-consuming than threads. Using coroutines can improve the performance, responsiveness, and scalability of our applications.In this tutorial, we’ll explore different wa ... More >>

Kubernetes Network

Kubernetes NetworkIn this article, we’ll give you an in-depth look at the networking and monitoring capabilities provided by Kubernetes to prepare you for rolling out your application into a production environment with open network services and good visibility. Kubernetes networking featuresKubernet ... More >>