Basis Pengetahuan Ilmu Komputer/Informasi Geografis Zju
Jalannya panjang dan sulit
Berikut adalah beberapa catatan/pekerjaan rumah untuk ilmu informasi geografis/ilmu dan teknologi komputer (juga termasuk kursus terbuka belajar sendiri, menyimpan beberapa item lain-lain), seperti pekerjaan rumah, catatan, tautan proyek untuk berbagai kursus sarjana, ringkasan dan pengalaman berbagi kursus, Saya telah menemukan blog teknis yang hebat, dll ... mungkin dapat digunakan untuk referensi Anda; tetapi saya tidak peduli dengan poin kelas sendiri ketika saya menghadiri kelas berdasarkan minat saya, jadi beberapa pekerjaan rumah mungkin berair dan tidak dapat menjamin Konsistensi Kualitas (Peringatan: Hanya Untuk Referensi, Harap Jangan Salin)
Niat asli membangun gudang ini sebenarnya hanya untuk menyimpan beberapa informasi sendiri sehingga saya dapat dengan cepat mengingat apa也许您也曾碰到过这样的情况:好像曾经上过某些课程或者阅读过很久价值的文章,但反过来又忘记了具体内容... telah saya pelajari ketika saya membutuhkannya;也许您也曾碰到过这样的情况:好像曾经上过某些课程或者阅读过很久价值的文章,但反过来又忘记了具体内容...
Itu tidak termasuk PPT yang diajarkan oleh guru, tahun -tahun terakhir yang tidak diingat oleh saya, dan beberapa konten pekerjaan rumah yang tidak cocok untuk pengungkapan publik, dll. (Tetapi tautan publik lainnya dapat diberikan)
(Di masa depan, saya perlahan -lahan akan memilah catatan dan informasi sebelumnya jika saya punya waktu)
- Jika itu membantu Anda, Anda juga dapat membantu dengan bintang
- Tetapi pada kenyataannya, saya pribadi berpikir bahwa menggambar pada pekerjaan rumah bukanlah cara belajar yang buruk, setidaknya itu lebih baik daripada tidak melakukan apa -apa ...
- Tumpukan Teknologi Utama Pribadi saya adalah backend C/C ++/Rust Direction.
Daftar isi
- Basis Pengetahuan Ilmu Komputer/Informasi Geografis Zju
- Jalannya panjang dan sulit
- Daftar isi
- Struktur Organisasi Folder
- Beberapa pekerjaan rumah dan tautan proyek (tentang beberapa hal sederhana yang dapat dilakukan di sekolah)
- Saat ini mengoperasikan proyek open source: Eunomia-BPF
- Hal -hal lain -lain seperti kelas/acara/kompetisi terbuka
- Blog/Kertas/Beberapa Lain -lain lainnya
Struktur Organisasi Folder
Struktur direktori repositori ini secara kasar diklasifikasikan berdasarkan kursus, dan mungkin sebagian tidak sama (mungkin Anda dapat mencoba menggunakan fungsi pencarian GitHub?):
- catatan
- Prinsip Kompilasi
- Jaringan komputer (termasuk sistem informasi geografis dan teknologi jaringan)
- Pengantar sistem komputer
- Bahasa pemrograman
- Topik Pemrograman (H)
- Pemrograman berorientasi objek
- java/c mini-collection (saya mengambil kelas tetapi tampaknya tidak ada yang tertinggal)
- Struktur dan algoritma data (termasuk struktur data dasar, struktur data lanjutan dan analisis algoritma)
- Solusi pertanyaan leetcode
- Solusi Masalah PTA/PAT
- Implementasi beberapa struktur data saya sendiri
- database
- Grafik komputer
- Ai
- Arsitektur komputer (termasuk komposisi komputer)
- Sistem Operasi
- Kursus besar lainnya
- Aneka ragam
Beberapa pekerjaan rumah dan tautan proyek (tentang beberapa hal sederhana yang dapat dilakukan di sekolah)
Bagian ini adalah tautan ke beberapa proyek kursus kecil atau pekerjaan rumah, serta beberapa demo yang ditulis selama proses pembelajaran.
Demo
Struktur Data:
- Mesin pencari teks berdasarkan indeks terbalik
- Indeks Geospasial: Kurva Quadtree/Hilbert Curve/Z
- Pohon AVL yang dapat dipertahankan diimplementasikan oleh Rust
Pembelajaran mendalam:
- Pencarian pemangkasan untuk mewujudkan catur hitam putih AI
- Klasifikasi Sampah Berdasarkan Jaringan Saraf Konvolusional
- Algoritma penyaringan median adaptif untuk menghilangkan kebisingan garam dan merica
jaringan:
- Terapkan ruang obrolan protokol khusus berdasarkan antarmuka soket
- Server web yang ringan
Grafik:
- Tata Surya Tiga Dimensi
- Perangkat Lunak Sederhana Ray Tracing Renderer
lainnya:
Proyek
GIS:
- Pemrograman GIS: Hubei Data Epidemi Sistem Tampilan Khusus https://github.com/yunwei37/covid-19-arcengine
- Database Geospasial: Platform Situs Web Analisis Interaktif Visual untuk Data Epidemik COVID-19 https://github.com/yunwei37/covid-19-nlp-vis
C ++:
- Pemrograman Berorientasi Objek: Game Kartu Online UNO LAN Berdasarkan Pengembangan QT https://github.com/yunwei37/uno-game-oop
- Kursus Praktik Komprehensif II: Praktik Rekayasa C ++: OpenGL mengimplementasikan game Sandbox sederhana yang mirip dengan MC https://github.com/yunwei37/mc
- Server yang ditulis menggunakan c ++ 20 coroutine dan io_uring
Sistem Komputer:
- Komposisi Komputer: Assembler/Disassembler/Emulator dari Instruksi Assembly Antarmuka MIPS Grafis Diimplementasikan oleh Qt https://github.com/yunwei37/mips-sc-zju
- Arsitektur Komputer: Desain CPU Multi-siklus Arsitektur Komputer Desain CPU Multi-Siklus
- Arsitektur Komputer: Pipeline CPU Desain Arsitektur Komputer Pipeline CPU Design
- Sistem Operasi: Kernel eksperimental sederhana yang ditulis dalam karat (laboratorium asli ditulis dalam C, saya mengubahnya menjadi karat) https://github.com/yunwei37/linux-0.11-rs
lainnya:
- Latihan blockchain sederhana: Membangun blockchain dari awal dengan karat
Saat ini mengoperasikan proyek open source: Eunomia-BPF
Eunomia-BPF adalah runchain pengembangan Dinamis Sumber Open Source.
Menggunakan Eunomia-BPF, Anda dapat:
- Saat menulis program atau alat EBPF, hanya kode keadaan kernel yang ditulis untuk secara otomatis mendapatkan informasi ekspor-keadaan-negara;
- Gunakan WASM untuk mengembangkan program interaktif negara-pengguna, mengontrol pemuatan dan pelaksanaan seluruh program EBPF di dalam mesin virtual WASM, dan memproses data terkait;
- Eunomia-BPF dapat mengemas program EBPF yang dikompilasi ke dalam modul JSON atau WASM umum, didistribusikan lintas arsitektur dan versi kernel, dan dapat dimuat dan dijalankan secara dinamis tanpa kompilasi ulang.
Eunomia-BPF terdiri dari toolchain kompilasi dan perpustakaan runtime. Kode untuk dengan mudah membangun. Ketika Anda perlu menulis kode mode pengguna, Anda juga dapat menggunakan WebAssembly untuk mencapai pengembangan mode pengguna dalam berbagai bahasa. Dibandingkan dengan alat skrip seperti BPFTrace, Eunomia-BPF mempertahankan kenyamanan yang sama, dan tidak terbatas pada jejak, tetapi dapat digunakan dalam lebih banyak skenario, seperti jaringan, keamanan, dll.
- Proyek Eunomia-BPF Alamat Github: https://github.com/eunomia-bpf/eunomia-bpf
- Gitee Mirror: https://gitee.com/anolis/eunomia
- Situs web dokumen: https://eunomia-bpf.github.io/
Hal -hal lain -lain seperti kelas/acara/kompetisi terbuka
Sistem Operasi:
Versi lama MIT 6.828 Labs di 2018: 1-6:
Kursus sistem operasi yang sangat terkenal, praktik sistem operasi pertama untuk kaum muda
OS Summer of Code 2020
Acara yang diadakan oleh komunitas open source rcore
Nginx-Lua-EBPF-Toolkit
Alat Profil Apache Apisix: Alat Profil dan Pelacakan untuk Lua dan Nginx Menggunakan EBPF
Eunomia
Hadiah Pertama di Final Kompetisi Sistem Operasi 2022: Alat monitor berbasis EBPF ringan: Jalankan EBPF sebagai layanan!
- Tidak perlu memodifikasi kode, tidak perlu konfigurasi yang membosankan, hanya BTF dan biner kecil untuk mulai memantau dan mendapatkan fungsi inti Eunomia:
- Kode dapat dikumpulkan di luar kotak tanpa intrusi, hanya mengonsumsi sejumlah kecil sumber daya memori dan CPU;
- Ucapkan selamat tinggal pada mirror besar dan toolchain kompilasi BCC, dan hanya membutuhkan sekitar 4MB untuk mulai melacak pada kernel atau wadah yang didukung;
- Buat distribusi dan penggunaan program EBPF sealami halaman web dan layanan web:
- Apakah sulit untuk mendistribusikan dan menggunakan program EBPF dalam kelompok ratusan node? Skrip BPFTrace nyaman, tetapi memiliki fungsionalitas terbatas? Eunomia mendukung distribusi dan pembaruan panas dari kode EBPF yang dikompilasi secara lokal melalui HTTP Restful API, dan dapat menyelesaikan penyebaran dan pembaruan pelacak EBPF kompleks dalam waktu hampir ratusan milidetik dan jejak kaki memori CPU yang hampir diabaikan;
- Pelacakan sesuai permintaan dapat dicapai melalui HTTP API dengan pelacak EBPF hot-swap yang efisien (sekitar 100ms);
- Berikan kerangka pemantauan EBPF Cloud-asli yang ramah pemula:
- Setidaknya tiga puluh atau empat puluh baris kode perlu diwariskan dan dimodifikasi, Anda dapat menambahkan pelacak EBPF khusus berdasarkan perancah libbpf-bootstrap di Eunomia, mencocokkan aturan alarm keamanan, mendapatkan informasi meta kontainer, mengekspor data ke Prometheus dan Grafana, dan mencapai yang efisien waktu.
- Memberikan tutorial dokumentasi dan pengembangan yang kaya, berusaha untuk menurunkan ambang batas pengembangan program EBPF;
Blog/Kertas/Beberapa Lain -lain lainnya
- Portal: Blog saya
- Zhihu: Zhihu Yunwei