Here are some notes/homework for geographic information science/computer science and technology (also includes self-study open courses, storing some miscellaneous items), such as homework, notes, project links for various undergraduate courses, summary and experience of courses Share, I have encountered great technical blogs, etc... Maybe it can be used for your reference; but I don’t care about grade points by myself when I attend classes based on my interests, so some homework may be watery and cannot guarantee the consistency of quality ( Warning: For reference only, please do not copy)
The original intention of building this warehouse is actually just to store some information myself so that I can quickly recall what I have learned when I need it;
也许您也曾碰到过这样的情况:好像曾经上过某些课程或者阅读过很久价值的文章,但反过来又忘记了具体内容...It does not include the PPT taught by teachers, the past years that are not recalled by me, and some homework content that is not suitable for public disclosure, etc. (but other public links may be given)
(In the future, I will slowly sort out other previous notes and information if I have time)
The directory structure of this repository is roughly classified by courses, and may be partially not the same (maybe you can try using github's search function?):
This part is a link to some small course projects or homework, as well as some demos written during the learning process. Some are in this repo and some are in other repos:
Data structure:
Deep Learning:
network:
Graphics:
other:
GIS:
C++:
Computer system:
other:
eunomia-bpf is an open source eBPF dynamic loading runtime and development toolchain. It is designed to simplify the development, construction, distribution and operation of eBPF programs. It is a CO-RE lightweight development framework based on libbpf.
Using eunomia-bpf, you can:
eunomia-bpf consists of a compilation toolchain and a runtime library. Compared with traditional frameworks such as BCC, native libbpf, etc., it greatly simplifies the development process of eBPF programs. Most of the time, you only need to write kernel-state code to easily build. Package and publish complete eBPF applications, while kernel-state eBPF code ensures 100% compatibility with mainstream libbpf, libbpfgo, libbpf-rs and other development frameworks. When you need to write user-mode code, you can also use Webassembly to achieve user-mode development in multiple languages. Compared with scripting tools such as bpftrace, eunomia-bpf retains similar convenience, and is not limited to trace, but can be used in more scenarios, such as network, security, etc.
- eunomia-bpf project Github address: https://github.com/eunomia-bpf/eunomia-bpf
- gitee mirror: https://gitee.com/anolis/eunomia
- Document website: https://eunomia-bpf.github.io/
operating system:
Old version of mit 6.828 labs in 2018: 1-6:
A very famous operating system course, the first operating system practice for young people
OS summer of code 2020
An event held by the rcore open source community
nginx-lua-ebpf-toolkit
Apache APISIX profile tools: profile and tracking tools for lua and nginx using eBPF
Eunomia
First prize in the 2022 Operating System Competition Final: A lightweight eBPF-based Monitor tool: run ebpf as a service!
- The code can be collected out of the box without intrusion, consuming only a small amount of memory and CPU resources;
- Say goodbye to the huge mirror and BCC compilation toolchain, and only requires about 4MB to start tracking on supported kernels or containers;
- Is it difficult to distribute and deploy ebpf programs in clusters of hundreds of nodes? The bpftrace script is convenient, but has limited functionality? Eunomia supports the distribution and hot update of locally compiled ebpf code through the http RESTful API, and can complete the deployment and update of complex ebpf trackers in just about hundreds of milliseconds and almost negligible CPU memory footprint;
- On-demand tracking can be achieved through the http API with efficient hot-swap ebpf tracker (about 100ms);
- At least thirty or forty lines of code need to be inherited and modified, you can add custom ebpf trackers based on libbpf-bootstrap scaffolding in Eunomia, match security alarm rules, obtain container meta information, export data to prometheus and grafana, and achieve efficient timing. Data storage and visualization, and experience cloud-native monitoring with ease;
- Provides rich documentation and development tutorials, striving to lower the development threshold of ebpf programs;