Skip to content

一个浙江大学本科生的计算机、地理信息科学知识库 包含课程资料 学习笔记 大作业等( 数据结构与算法、人工智能、地理空间数据库、计算机组成、计算机网络、图形学、编译原理等课程)

License

Notifications You must be signed in to change notification settings

yunwei37/ZJU-CS-GIS-ClassNotes

Repository files navigation

一个ZJU本科生的计算机/地理信息科学知识库

路漫漫其修远兮

这里是一些地理信息科学/计算机科学与技术的笔记/作业(也包含自学的公开课部分,存放一些杂项)的整理,例如各种本科课程的作业、笔记、项目链接,对课程的总结和经验分享,遇到过很棒的技术博客等等...也许可以供您参考;不过我自己属于凭兴趣上课也不是特别在意绩点,所以有些作业可能是水过去的,并不能保证质量一致(警告:仅供参考,请勿抄袭)

建造这个仓库的初衷其实只是为了我自己存储一些资料,以便于在有需要的时候能快速回忆起自己到底学过了哪些东西; 也许您也曾碰到过这样的情况:好像曾经上过某些课程或者阅读过很久价值的文章,但反过来又忘记了具体内容...

不包含教师授课的PPT、非本人回忆的历年卷、以及一些不适合公开的作业内容等等(但可能会给出其他公开链接)

(以后有时间会慢慢把之前的其他的笔记和资料整理上来)

  • 如果对您有帮助的话也可以帮忙点个 star
  • 但实际上我个人认为借鉴作业并不是一种糟糕的学习方式,至少也比什么都不做来的好...
  • 个人主要技术栈是后端 C/C++/rust 方向,前端稍微有一点了解,剩下啥都会一点也啥都不会;

目录

文件夹组织结构

本仓库的目录结构大致以课程分类,可能部分不完全相同(也许可以试着使用一下 github 的搜索功能?):

  • 笔记
  • 编译原理
  • 计算机网络(包含地理信息系统与网络技术)
  • 计算机系统概论
  • 程序设计语言
    • 程序设计专题(H)
    • 面向对象程序设计
    • java/c小程(上过课但是好像没有什么东西留下来)
  • 数据结构与算法(包含数据结构基础、高级数据结构与算法分析)
    • leetcode题解
    • pta/pat题解
    • 自己的部分数据结构实现
  • 数据库
  • 计算机图形学
  • 人工智能
  • 计算机体系结构(包含计算机组成)
  • 操作系统
  • 其他专业课程
  • 杂项

一些作业以及项目链接(关于在学校里面做的一些简单的事情)

这部分是一些课程小项目或者大作业的链接,还有一些自己学习过程中写的 demo,有一部分在本 repo 中,一部分在其他 repo:

Demo

数据结构:

深度学习:

网络:

图形学:

其他:

Project

GIS:

C++:

计算机系统:

其他:

目前在经营的开源项目:eunomia-bpf

eunomia-bpf 是一个开源的 eBPF 动态加载运行时和开发工具链,是为了简化 eBPF 程序的开发、构建、分发、运行而设计的,基于 libbpf 的 CO-RE 轻量级开发框架。

使用 eunomia-bpf ,可以:

  • 在编写 eBPF 程序或工具时只编写内核态代码,自动获取内核态导出信息;
  • 使用 WASM 进行用户态交互程序的开发,在 WASM 虚拟机内部控制整个 eBPF 程序的加载和执行,以及处理相关数据;
  • eunomia-bpf 可以将预编译的 eBPF 程序打包为通用的 JSON 或 WASM 模块,跨架构和内核版本进行分发,无需重新编译即可动态加载运行。

eunomia-bpf 由一个编译工具链和一个运行时库组成, 对比传统的 BCC、原生 libbpf 等框架,大幅简化了 eBPF 程序的开发流程,在大多数时候只需编写内核态代码,即可轻松构建、打包、发布完整的 eBPF 应用,同时内核态 eBPF 代码保证和主流的 libbpf, libbpfgo, libbpf-rs 等开发框架的 100% 兼容性。需要编写用户态代码的时候,也可以借助 Webassembly 实现通过多种语言进行用户态开发。和 bpftrace 等脚本工具相比, eunomia-bpf 保留了类似的便捷性, 同时不仅局限于 trace 方面, 可以用于更多的场景, 如网络、安全等等。

公开课/活动/比赛之类的杂七杂八的

操作系统:

  • 2018 年的旧版 mit 6.828 labs:1-6:

    某个非常著名的操作系统课程,年轻人的第一次操作系统实践

  • OS summer of code 2020

    rcore 开源社区举办的某个活动

  • nginx-lua-ebpf-toolkit

    Apache APISIX profile 工具: profile and tracking tools for lua and nginx using eBPF

  • Eunomia

    2022 年操作系统大赛决赛一等奖:A lightweight eBPF-based Monitor tool:run ebpf as a service!

    1. 无需修改代码,无需繁琐的配置,仅需 BTF 和一个微小的二进制即可启动监控和获取 Eunomia 核心功能:
    • 代码无侵入即可开箱即用收集多种指标,仅占用少量内存和 CPU 资源;
    • 告别庞大的镜像和 BCC编译工具链,最小仅需约 4MB 即可在支持的内核上或容器中启动跟踪;
    1. 让 ebpf 程序的分发和使用像网页和 web 服务一样自然:
    • 数百个节点的集群难以分发和部署 ebpf 程序?bpftrace 脚本很方便,但是功能有限?Eunomia 支持通过 http RESTful API 直接进行本地编译后的 ebpf 代码的分发和热更新,仅需约数百毫秒和几乎可以忽略的 CPU 内存占用即可完成复杂 ebpf 追踪器的部署和更新;
    • 可以通过 http API 高效热插拔 ebpf 追踪器(约 100ms),实现按需追踪;
    1. 提供一个新手友好的 ebpf 云原生监控框架:
    • 最少仅需继承和修改三四十行代码,即可在 Eunomia 中基于 libbpf-bootstrap 脚手架添加自定义 ebpf 追踪器、匹配安全告警规则、获取容器元信息、导出数据至 prometheus 和 grafana,实现高效的时序数据存储和可视化,轻松体验云原生监控;
    • 提供了丰富的文档和开发教程,力求降低 ebpf 程序的开发门槛;

博客/论文/其他一些杂项

About

一个浙江大学本科生的计算机、地理信息科学知识库 包含课程资料 学习笔记 大作业等( 数据结构与算法、人工智能、地理空间数据库、计算机组成、计算机网络、图形学、编译原理等课程)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published