Analysis of memory authentication algorithms

The background of memory authentication computing is trusted computing, for example, to do some processing involving important data, from the software, we hope that even if the system is illegally accessed by the attacker, we can ensure that important information will not be leaked; from the hardware, we hope that even if the system can be attacked by some physical operations (such as exporting or modifying memory, etc.), we can ensure that the attacker cannot read or tamper with the data.

Event Loop mechanism

As we all know, javascript has been a single-threaded, non-blocking scripting language since its inception. This was dictated by its original purpose: to interact with browsers. Single-threaded means that javascript code has only one main thread to handle all tasks at any given time of execution. Non-blocking means that when the code needs to perform an asynchronous task (a task that does not return a result immediately and takes some time to return, such as an I/O event), the main thread suspends (pends) the task and then executes the corresponding callback when the asynchronous task returns a result, according to certain rules.

In-depth understanding of Generators

As the Javascript language has evolved, the ES6 specification has brought many new things to the table, and one of the key features is the generator Generators. With this feature, we can simplify the creation of iterators, and even more excitingly, Generators allow us to pause a function during execution and resume execution at some point in the future. This feature is a change from the old feature that functions

Writing high-quality Python code

Developing a Pythonic mindset 1. Look up the version of Python you’re using 1 2 3 4 $ python --version $ python -V $ python3 --version $ python3 -V 1 2 3 4 5 6 >>> import sys >>> print(sys.version_info) sys.version_info(major=3, minor=6, micro=15, releaselevel='final', serial=0) >>> print(sys.version) 3.6.15 (default, Apr 20 2022, 13:05:41) [GCC 5.4.0 20160609] Python 2 retires on January 1, 2020, at which point all bug fixes, security

K8S Best Practices - Health Check

We all know that distributed systems are very difficult to manage, and one of the big reasons is that if the whole system is to be available, all components (services) need to be working properly. If a small component is not available, the system should be able to detect it, bypass it and fix it, and this should be done automatically. A health check is a simple way for the system to know if an instance of an application (service) is working properly.

Deficiencies of Tcp

What are the flaws in the TCP protocol that we are talking about today? There are four main areas. The difficulty in upgrading TCP. Delays in establishing TCP connections. TCP suffers from queue head blocking problems. The need to re-establish TCP connections for network migration. Next, these four areas are addressed in detail. Upgrading TCP is hard work The TCP protocol was created in 1973 and is still being implemented today with many new features.

NVIDIA officially open-sources its Linux GPU kernel module

On May 11, NVIDIA announced in a blog post that it has officially open sourced its Linux GPU kernel module under a dual GPL/MIT license. It is well known that NVIDIA has been very resistant to embracing open source, unlike its old rival AMD, which is very enthusiastic about open source. Although they provide excellent Linux driver support, their private, closed-source drivers have been criticized by the Linux community. For example, the famous Linus + middle finger + “So, fxxk you NVIDIA”, and the Fedora project lead has posted bashing NVIDIA for its proprietary driver software stack.

2 recommended tools for finding files in the file system

As you know, in Linux or Unix-like file systems, you can use the find command if you want to find a file by the filename keyword. Then this article will recommend 2 tools that can quickly find files with better performance than the find command and can replace the use of find in some scenarios. mlocate Most Linux distributions provide the mlocate package, which includes a locate command for finding files and an updatedb command to update the file index for locate.

How to use systemd timing service?

We know that on Linux and Unix-like systems it is common to use crontab to create timed tasks. On Ubuntu we use apt install mlocate to install a script file to /etc/cron.daily/mlocate, that is, to execute updatedb daily through the Cron mechanism. However, on my openSUSE, but I found no Crontab configuration, but I found that the index file was updated at zero hour every day, so who performs this timed task?

Cross-language calls to C++ practice under Linux

1 Background Query Understanding (QU, Query Understanding) is a core module of our company’s search business, and its main responsibility is to understand user queries and generate basic signals such as query intent, composition, and rewriting, which are applied to many aspects of search such as recall, sorting, and display, and are crucial to the basic search experience. The online main program of the service is developed based on C++

Docker Desktop announces support for Linux

At DockerCon 2022, Docker made a great announcement - Docker Desktop for Linux was released! This means that Docker Desktop is now officially available for Linux users! The release of Docker Desktop for Linux brings the productivity benefits of Docker Desktop to developers using Linux workstations. Keep in mind that before this, Docker Desktop was only available to users of Mac and Windows workstations. Docker Desktop for Linux Now Linux desktop environment developers and users can use Docker Desktop on Linux to seamlessly create containers with the exact same Docker Desktop experience on macOS and Windows, including access to the latest features like Docker Extensions.

How do I change the Kubernetes node IP address?

Yesterday there was a problem with the network environment, the local virtual machine built Kubernetes environment does not have a fixed IP, the result of the node IP changed, of course the easiest way is to re-fix the node back to the previous IP address, but I stubbornly want to modify the IP address of the cluster, the results encountered a lot of problems, and not as simple as I

Stream Control Transmission Protocol

To talk about network protocols, we can’t leave the seven-layer model of OSI (Open System Interconnection). We generally focus on the layers above the network layer, such as IPV4 IPV6 in the network layer, TCP UDP in the transport layer, HTTP FTP in the application layer, etc. Today’s sctp protocol, known as Stream Control Transmission Protocol, is proposed by the IETF in RFC 4960. The transport layer has been widely used TCP and UDP protocols, so why do we have to invent a SCTP protocol?

Docker's Live Restore feature

We all know that Docker is a C/S model architecture, where containers are created and managed by accessing the Docker Daemon through a client (CLI). By default, when the daemon terminates, it stops all running containers. So when we need to upgrade the Docker Daemon or perform some maintenance operations that require restarting, we need to cause the running containers to restart along with it. Live Restore In fact, Docker provides a feature that keeps containers running when Daemon is unavailable, thus reducing container downtime when Daemon is upgraded or has problems.

Upgrade openSUSE to 15.3

openSUSE Leap 15.2 has been end-of-life (EOL) since January 4, 2022, and users still using the system will not receive any kind of security and maintenance updates in the future. All users are advised to upgrade their systems to - openSUSE Leap 15.3 as soon as possible, which will receive security patches and updates until November 2022. The next release of openSUSE Leap 15.4 is also expected to be released

Golang Recursive Algorithms

1. Description Recursion is a method of solving a problem by repeatedly decomposing it into identical subproblems. Scenarios that require recursion usually have the following characteristics. the original problem can be decomposed into subproblems and the subproblems are the same as the original problem there is a clear termination condition Common applications of recursion are as follows. recursive data solving (Fibonacci function) data structure forms with obvious recursive properties such as binary trees, generalized tables, etc.

How Fluid works

Fluid is a cloud-native distributed data set orchestration and acceleration engine, mainly serving data-intensive applications in cloud-native scenarios, such as big data applications, AI applications, and so on. In this paper, we will introduce the main working principle of Fluid from two aspects: data orchestration and data acceleration. Architecture The whole architecture of Fluid is divided into two main parts. One is the Controller, including RuntimeController and DatasetController, which manage the lifecycle of Runtime and Dataset respectively, and both of them work together to build a complete distributed caching system based on helm chart, usually in the form of master + worker + fuse to provide services upwards.

New command for Docker - sbom

In the previous release of Docker Desktop v4.7.0, a new CLI plugin was added - docker/sbom- cli-plugin, which adds a subcommand to the Docker CLI - sbom - for viewing the Software Bill of Materials (SBOM) of Docker container images. What is SBOM? First of all, let’s introduce what is SBOM (Software Bill of Materials), which we call Software Bill of Materials, is a term used in the software supply chain.

In-depth explanation of the distributed application efficiency improvement framework Apache EventMesh

Today we share Apache EventMesh event-driven distributed application runtime, which is a relatively new concept, and we hope we can bring some inspiration to you through this sharing. We all understand two concepts - message and event. Message refers to the update of a specific event, and this update is sent from one point to another after the message is deleted, and the message is a temporary state of existence; while event refers to what happens at a specific time, it is not bound to a specific recipient or client, and it is often can be replayed, backtracked and reworked.

Why is Python so slow?

Python has become incredibly popular in recent years. The Python language is cheap to learn, writes like pseudo-code (even like English), is highly readable, and has many other obvious benefits. It is favored by DevOps, Data Science, and Web Development scenarios. But these reputations never include Python’s speed. Compared to other languages, whether JIT or AOT, Python is almost always the slowest. There are many aspects that contribute to Python’s performance problems, and this article tries to talk about them.