beyond stars

Foo over UDP tunnel construction

Original link: https://hsiaofongw.notion.site/Foo-over-UDP-0fa2e1e909604d7b9ad301719e2a5d3d About how to encapsulate data in UDP packets, and how to use Linux network namespace for network experiments. This article is transferred from: https://hsiaofongw.notion.site/Foo-over-UDP-0fa2e1e909604d7b9ad301719e2a5d3d This site is only for collection, and the copyright belongs to the original author.

Foo over UDP tunnel construction Read More »

First set, Follow set, and Predict set

Original link: https://hsiaofongw.notion.site/First-Follow-Predict-4e1a065293454a949f14db4e4377b42b This article introduces three sets in the grammar: EPS set, First set, and Follow set, and how to use them to calculate the Predict set. Among them, the EPS set is a set of grammatical symbol strings that can be derived from an empty string in 0 or more steps, the First

First set, Follow set, and Predict set Read More »

Multi-core parallel computing

Original link: https://hsiaofongw.notion.site/a6fd2feb9a7445b2a1657a8c90ad9258 This paper introduces the implementation method of multi-core parallel computing, and compares the effects of pipeline parallelism and data parallelism. The key to realizing pipeline parallelism is to use barrier synchronization mechanism to realize synchronization between workers and pipeline conveyor belt. In a more complex system, it may be necessary to explicitly

Multi-core parallel computing Read More »

Git’s commit and commit range study notes

Original link: https://hsiaofongw.notion.site/Git-commit-commit-range-e2561c9d88c041b6ad45f0589d136be3 This article introduces the concept and syntax of commit and commit range in Git, as well as commonly used Git commands such as git rev-list and git rev-parse. In addition, several methods for merging multiple commits are described, including git cherry-pick, git reset, and git rebase. Finally, the concept of merge base

Git’s commit and commit range study notes Read More »

LeetCode 256 Paint House

Original link: https://hsiaofongw.notion.site/LeetCode-256-Paint-House-0f832cc3e3ed407391750380bbbbb247 This article discusses the dynamic programming (DP) algorithm design technique and uses LeetCode 256 Paint House as an example to demonstrate its application. The problem is to paint n houses with three colors such that no two adjacent houses have the same color. A cost matrix is given, and the goal is

LeetCode 256 Paint House Read More »

TypeScript type gymnastics

Original link: https://hsiaofongw.notion.site/TypeScript-c3a034e447904ab998e3e1f2197eda94 This article introduces type programming techniques in TypeScript, including tuple operations, string conversion, substring lookup, and character splitting. These tips can help us make better use of TypeScript’s static checking features, check the code at compile time, and reduce the amount of code. This article is transferred from: https://hsiaofongw.notion.site/TypeScript-c3a034e447904ab998e3e1f2197eda94 This site is

TypeScript type gymnastics Read More »

Generate all N-element permutations based on linked list

Original link: https://hsiaofongw.notion.site/N-permutations-4a27cfbf1e1942be982fcc8d1f0e4336 This article introduces how to use a linked list to generate N-element permutations, and provides C++ code implementation. The article also discusses the situation where there are repeated elements, and gives the corresponding code implementation. Finally, the article briefly introduces other applications of the linked list data structure. This article is transferred

Generate all N-element permutations based on linked list Read More »

Reading of C declarations

Original link: https://hsiaofongw.notion.site/C-493c63d36190434aa87290a498e0aea9 This article introduces the concept of declaration in C language, as well as the syntax and parsing process of the declaration statement. Through multiple cases, it helps readers understand different forms of declarators, such as pointers, arrays, functions, etc. The article also introduces how the parser converts the declaration statement into an

Reading of C declarations Read More »

Comparison based on golang channel implementation

Original link: https://hsiaofongw.notion.site/golang-channel-f9d43933c78b4b85ab2459c13f023497 This article introduces how to use golang channel to achieve comparison. By implementing the Walkable interface and the IsEqual function, any type that implements the Walkable interface can be compared, including custom structures, trees, slices, files, etc. As long as a type is Walkable, and the value visited during the Walk can

Comparison based on golang channel implementation Read More »

Sketching and implementing a binary protocol: Concepts and Concerns

Original link: https://hsiaofongw.notion.site/Sketching-and-implementing-a-binary-protocol-Concepts-and-Concerns-d15cb4f3a65e4318856898ce95abc022 This article introduces how to use the binary protocol as a communication protocol between applications, and introduces how to implement framing code at the application layer, making it easier for upper-layer code to receive messages, send requests, and process requests. At the same time, it also introduces the easy-to-use API provided by

Sketching and implementing a binary protocol: Concepts and Concerns Read More »