Article Archives for `2022`

DFS & BFS, the two most basic algorithms in the traversal method

DFS(Depth first search)The following is a concrete example to understand. As shown in the figure, in a nine-box diagram, the green position represents the starting position, the red position represents the end position, the gray area and the border of the box diagram represents this road is not avai ... More >>

Do you really understand babel-polyfill?

babel only does syntax conversion for JS syntax, but not for new JS APIs, such as Map, Set, Promise and other global objects. babel cannot convert methods on global objects, such as the new ES6 Array.find method 1. targets ... More >>

Illustration of how Git works

This article illustrates the most common commands used in Git. If you have a little understanding of how Git works, this article will help you understand it more thoroughly. Basic usage The four commands above copy files between the working directory, the staging directory ... More >>

Talking about database row and column storage

A good number of people first learn about databases as relational databases, where data is stored in tables, with one row representing one record. In fact, this is a typical Row-based store, which stores tables on disk partitions by rows. And some databases also support Column-based st ... More >>

Use of the Fibonacci series in financial modeling and analysis

​The Fibonacci series is a sequence of numbers in which each number is the sum of the two preceding ones, usually starting with 0 and 1. The sequence goes as 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, and so on. The Fibonacci sequence is named after the Italian mathematician Leonardo of Pisa, who was also kno ... More >>

Distributed system design patterns, which ones have you used?

1.Bloom filter Bloom filter is a space-saving probabilistic data structure for testing whether an element is a member of a collection or not. It is used in scenarios ... More >>

You need modules, not microservices

Architecture is sometimes hard - people keep coming up with new ideas that quickly become the mainstream "way of doing things", and with microservices being the latest trend, it's time to dissect the idea and get to the real root of what's happening. At the heart of microservices, we were ... More >>

What exactly is code neatness?

Write in frontThis article was not intended to write, until after several code review meetings, I realized that their own coding way is not systematic, still need to learn systematically, mastering the most applicable laws summed up by seniors is undoubtedly a good way. It so happens that a long tim ... More >>

Go will enhance Go1 backward compatibility!

Go1 Compatibility Guarantee In Go1, the Go Compatibility Guarantee [Go 1 and the Future of Go Programs] ,was introduced, meaning that older versions of Go programs will also work correctly in newer versions that continue with Go. Of course, there are exceptions to this, such as security iss ... More >>

The use of Https encrypted hypertext transfer protocol

Knowledge of https Introduction of https HTTPS (full name: Hypertext Transfer Protocol Secure), is a secure HTTP channel that secures the transmission process through transport encryption and authentication on top of HTTP. HTTPS adds SSL to HTTP, the secure foundation of HTTP ... More >>

What problems are solved by the features of Redis?

First, let's look at what Redis is The official profile explains that Redis is a BSD-based open source project that is a storage system t ... More >>

Towards anonymity, talk about the new authorized login for WeChat applets

In February 2021, the WeChat team made an interface adjustment for small program login and user information access, a move that unprecedentedly shook up almost all small program developers and generated a lot of reactions in the small program community. As an access party, this paper will discuss th ... More >>

Java flow limitation and common solutions

[Basic concepts of current limiting] [Common algorithms for current limiting schemes]  [Commonly Used Flow Limiting Schemes]  [Consider flow-limiting design from the architectural dimension]  ... More >>

Analysis of front-end variables to enhance var, let

Let's start with a question to warm up var a = 12, b = 13, c = 14; function fn(a) { console.log(a, b, c); var b = c = a = 20; console.log(a, b, b) } fn(a); console.log(a, b, c) What the answer is will not be published first, but first we need to kno ... More >>

There are security issues with code written this way !

JavaScript prototypes are known and used by many people, but many people use prototype inheritance in the security problems caused by few people know, next we will understand it well. In real development, we often use property accessors in our code and use user input parameters to access the ... More >>

An article to understand what is web3

web1.0 and web2.0Web 1.0 and Web 2.0 refer to the era in the history of the World Wide Web as it evolved through various technologies and formats. Web 1.0 refers roughly to the period from 1991 to 2004, when most Web sites consisted of static pages and the vast majority of users were consumers of co ... More >>

Introduction to JIT, a new feature of PHP 8

PHP8 alpha1, about JIT is everyone's main concern, how it really works, what to pay attention to, and what is the performance improvement in the end? First, let's look at a graph: The left diagram is a diagram of Opcache process before PHP8, and the right diagram is a diag ... More >>

Three cross-domain solutions HttpClient, annotations, gateways

Annotation: @CrossOrigin Gateway Integration Httpclient Why is there a cross-domain problem Because of the browser's same-origin policy, cross-domains are created. For example, an asynchronous request is sent to two different sources, such as two d ... More >>

Design patterns commonly used in work - Flyweight Pattern

In general, it is not easy to have a lot of scenarios using design patterns for business development. Here is a summary of the more frequent use of design patterns in business development. Of course the language is Java, based on the Spring Framework. 1. Flyweight PatternIf there are a large numbe ... More >>

Using DNS resolution to load balance websites

Limitations of traditional thinking How does the CDN work? The magical interpretation rights mechanism (SOA) The basic principles of DNS load balancing Summary ... More >>

Three Principles for Keeping Simple and Lightweight Design

Preface A software architecture that is light and simple is very important to allow us to meet business requirements at minimal cost. So how to ensure light and simple? Then today we share with you the secrets of this, that is, 3 important guiding principles, KISS principle, YAGNI principle ... More >>

Five reasons why you need to focus on API performance monitoring

Connectivity can be so daunting. By now, we’ve all become accustomed to the instant connectivity that puts the world at our fingertips. With desktops and devices, we can buy, mail and pick anything, anytime, anywhere. But how does it happen? How do different apps in different devices connect to each ... More >>

JavaScript Memory Management: How to Avoid Common Memory Leaks and Improve Performance

IntroductionAs a web developer, did you know that every line of code you write has an impact on the performance of your application? When it comes to JavaScript, one of the most important areas to focus on is memory management. Think about it: every time a user interacts with your site, they create ... More >>

What are the commonly used automated testing tools?

Automated testing is gradually replacing part of manual testing as it saves time and improves testing quality. Especially in the case of regression testing, automation can increase efficiency in several ways. Doing repetitive testing manually is a waste of time and resources. Also, there is some mar ... More >>

Software testing | Commonly used performance testing methods, strategies and testing points

To sum up the performance tests conducted in the past, although the testers have been serious and responsible for the test work from the beginning to the end, after the test report is released, everyone always feels that there is a fly in the ointment, and they have doubts about the test results, es ... More >>

How to use Postman automated test interfaces

Postman is an interface testing tool, this article for you to introduce how to use post to complete SOAP interface testing. Build test environment1.1 Install test softwareHere we need to install Postman and OpenSSL. 1.2 Create a certificate for PostmanBecause Postman communicates HTTPS with the site ... More >>

Webpack Workflow

Both the interview and the internal implementation of webpack are important to understand, and I recently learned about it, so I’ll record my experience and hopefully help other students who are interested in learning about it! First we can break it down into several steps to make it easier to remem ... More >>

An article to read the principle of Go Http Server

Start with a Demo They say everything is hard at the beginning, but implementing an Http Server with Go is really not that hard, how easy is it? Starting a Server and responding to requests, counting package names, imported dependencies, and even empty lines, is only 15 lines of code. ... More >>

What is the interface testing process?

As we all know, interface testing is a very important part of software testing. Its main purpose is to test whether the interface of the application program can interact with other systems or components in accordance with the specification requirements, and to ensure the stability and performance of ... More >>

Introduction to Database Management System

At present, the common database management systems mainly include Oracle, MySQL, SQL Server, Mongodb, etc. Among these databases, the first three are relational databases, while Mongodb is a non-relational database. 1.OracleOracle is a relational database management system from Oracle Corporation. I ... More >>

Mobile H5 first screen second opening optimization solution

With the increasing performance of mobile devices, the performance experience of web pages gradually becomes acceptable, and because of the many benefits of web development mode (cross-platform, dynamic update, volume reduction, unlimited expansion), there are more and more embedded web pages in APP ... More >>

Redis BigKey and HotKey

1.1. Big KeyThe Redis big key problem is not actually a big Key problem, but the value corresponding to the Key is too large, so technically it is a Big Value problem, Redis value is too large (key value is too large). There is no unified standard for how large a value will cause a big key problem. ... More >>

Information leakage chaos prominent protection of information security requires concerted efforts of all parties

With the rapid development of technology, the Internet, the growing popularity of smart devices, the application of big data processing technology and cloud computing technology, the personal information data of ordinary users are more and more complete and collected by various information systems, ... More >>

What can QA do in a "de-QA" project?

For the first time, I saw the concept of “de-QA” in an article. At that time, I looked at it casually without paying more attention.The second time I saw more senior colleagues in the QA community group talking about “de-QA”. At that time, in my little head, I felt that “de-QA” is still a little dis ... More >>

Are you still using merge? Get to know rebase!

Preface Git plays a big role in managing the development branches of our development code. We usually have branches for production, pre-release, testing, and development. The normal process is development -> testing -> production, but there are usually many versions, there is a se ... More >>

How blockchain and big data work together

The combination of big data and blockchain can significantly improve the usability of each other, and these technologies can help create a hybrid infrastructure with big data and blockchain as the backbone. The infrastructure will be flexible for different application types, such as its parents - b ... More >>

Several common configurations and techniques of Nginx

Configure multiple domain names for one site. Configure multiple sites for one serviceseparated by spaces. Nginx adds account password verification. Nginx Open Column Directory. Configure default site. IP access is not allowed. ... More >>

IOS Platform Features

Devices using iOS share some commonalities that affect the experience of using their programs. Programs that adapt to these characteristics will be more successful, providing users with a superior experience with the device. 1.No matter the size, the screen is what mattersThe screen of an iOS device ... More >>

Several security-related configurations of Nginx

Here is a summary of some security-related configurations in nginx configuration. Hide version number123http { server_tokens off;} There are often security vulnerabilities targeting a certain version of nginx. Hiding the nginx version number has become one of the main security optimizati ... More >>

Front-end performance optimization - package volume compressed by 82%, package speed increased by 65%

Compressing the size of the packaged project and improving the packaging speed are very important links in the front-end performance optimization. I combine the practice summary in the work and sort out some conventional and effective performance optimization suggestions. Background of the project T ... More >>

Responsive Design

Simply put, apply different CSS styles to different screen resolutions. For example, on computers and Pad devices, if the screen is relatively wide, you can place two divs in a row. When it comes to the phone or when the Pad is held upright, only one Div is placed in a row. Here are two key points: ... More >>

Do you know why the Loader is executed from right to left?

Do you know why the Loader is executed from right to left?Before we get into this, let’s understand a little bit about the basics of loader No matter what module is processed by the loader, it will become a JS module The leftmost loader return value must be a JS module, otherwise webpack won’t re ... More >>

Go releases the biggest update to the language ever!

On March 15, 2022, the Go core team announced the release of Go 1.18, which its official blog called “a huge milestone for the entire Go community”. In this release, the Go core team made the biggest syntax feature change since the Go language became open source - adding support for generics. Here i ... More >>

Front-end Performance Optimization - Resource Preloading

When it comes to front-end performance optimization, the first thing we associate with is file merging, compression, file caching, and enabling server-side gzip compression, which allows pages to load faster and users to use our web applications as quickly as possible to achieve their goals.  ... More >>

How to Write Elegant Code Using High Order Functions in GO Language

PrefaceIn go projects, it is often necessary to query the database. Based on previous Java development experience, many methods will be written according to the query criteria, such as: GetUserByUserID GetUsersByName GetUsersByAge Write a method for each query condition. This method is very good f ... More >>

Redis Persistence Explained

Redis is a high-performance key-value database that is widely used in projects, and every developer should master this skill. In today’s article, we’ll introduce Redis persistence in detail. As we all know, Redis is memory-based and reads and writes data from and to memory, but the data does not dis ... More >>

Three Invocation Patterns for Distributed Services

PrefaceRecently, we are doing a permission control function, one of the services is to freeze the user, the specific business logic is not necessarily appropriate to elaborate, so we will use the “elephant in the freezer” to abstract instead. The process is as follows: 1231. Open the refrigerator do ... More >>

The difference between heap and stack

Stack area (stack): Automatically allocated and released by the compiler, storing function parameter values, local variable values, etc. Its operation is similar to a stack in a data structure. Heap area (heap): Generally allocated and released by the programmer, if the programmer does not release, ... More >>

Low-code ten questions, how many do you know?

Adoption of low-code platforms will grow as organizations slash IT budgets while trying to keep up with the demands of digitization. Enterprise innovation and business agility will drive low-code development. It doesn’t mean that the development team can be abandoned, and it doesn’t mean that less c ... More >>

Stream | basic knowledge

1. What is a stream?Stream uses an intuitive way similar to querying data from the database with SQL statements to provide a high-level abstraction of Java collection operations and expressions Stream is a queue of elements from a data source and supports aggregation operations Elements are objects ... More >>

Principle and Implementation of MD5 Algorithm

What is MD5 algorithmMD5 Message Digest Algorithm (English: MD5 Message-Digest Algorithm), a widely used cryptographic hash function, can generate a 128-bit (16-byte) hash value (hash value), used to ensure Information transmission is complete and consistent. MD5 functionInput information of any len ... More >>

Calling methods between microservices

The commonly used methods for calling microservices to each other are HttpUrlConnection or classic network access framework HttpClient However, in the Spring project, using RestTemplate is clearly more convenient RestTemplate Introduction:RestTemplate is an HTTP request tool supported since Spring 3 ... More >>

Cold start and hot start of APP, do you know?

1.app cold startapp cold start: When the application is started, there is no application process in the background, then the system will recreate a new process to assign to the application, this startup method is called cold start (there is no application process in the background). Because the syst ... More >>

Responsive Design

Responsive DesignResponsive design is a concept introduced by Ethan Marcotte in May 2010, where the corresponding worth is the ability of web pages to behave differently on different sizes and types of devices. A well-designed responsive page can provide a comfortable and beautiful interface, easy i ... More >>

The Data Design Pattern of Microservice Architecture

Recently, I participated in the research and development of a company project and found some minor issues in data management. Based on past experience, I have recorded the microservice data design pattern here. The services in the microservices architecture are loosely coupled and can be independent ... More >>