自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

云微的blog

(不知道啦)

  • 博客(113)
  • 资源 (10)
  • 收藏
  • 关注

原创 AI 插件:未来的浏览器、前端与交互

想象一下,每一个 URL 都是一个功能强大的 AI agent,你不需要跳转到多个页面或下载多个应用,只需要调用相应的 AI 插件,你想要的功能就能得到实现。简单说,它就像是一个“超级浏览器”,在其中,每个插件都有其独特的功能和特色,而我们只需简单地调用它。我们正在步入一个全新的 AI 时代,在这个时代中,AI 插件将彻底改变我们的上网习惯和前端开发方式。想象一下,你在浏览器中粘贴一个 URL,这个 URL 不仅仅是一个网址,而是一个功能强大、能执行多种任务的 AI 插件。

2023-08-27 23:05:35 840

原创 eBPF 开发实践:使用 eBPF 隐藏进程或文件信息

通过本篇 eBPF 入门实践教程,我们深入了解了如何使用 eBPF 来隐藏进程或文件信息。我们学习了如何编写和加载 eBPF 程序,如何通过 eBPF 拦截系统调用并修改它们的行为,以及如何将这些知识应用到实际的网络安全和防御工作中。此外,我们也了解了 eBPF 的强大性,尤其是它能在不需要修改内核源代码或重启内核的情况下,允许用户在内核中执行自定义代码的能力。您还可以访问我们的教程代码仓库以获取更多示例和完整的教程。

2023-06-03 23:28:43 1095

原创 在 Andorid 上使用 eBPF 程序

在 Android shell 中查看内核编译选项可以发现默认是打开的,在此基础上 eunomia-bpf 项目提供的 example 已有一些能够成功运行的案例,例如可以监测exec族函数的执行和 tcp 连接的状态。内核编译选项未支持相关 eBPF 功能;eadb 打包的 Linux 环境较弱,缺乏必须依赖;

2023-06-03 23:27:35 743

原创 eBPF 入门实践教程十五:使用 USDT 捕获用户态 Java GC 事件耗时

USDT 是一种在应用程序中插入静态跟踪点的机制,它允许开发者在程序的关键位置插入可用于调试和性能分析的探针。这些探针可以在运行时被 DTrace、SystemTap 或 eBPF 等工具动态激活,从而在不重启应用程序或更改程序代码的情况下,获取程序的内部状态和性能指标。USDT 在很多开源软件,如 MySQL、PostgreSQL、Ruby、Python 和 Node.js 等都有广泛的应用。Java 作为一种高级编程语言,其自动垃圾回收(GC)是其核心特性之一。

2023-06-03 23:26:38 797

原创 eBPF 入门实践教程十二:使用 eBPF 程序 profile 进行性能分析

通过本篇 eBPF 入门实践教程,我们学习了如何使用 eBPF 程序进行性能分析。在这个过程中,我们详细讲解了如何创建 eBPF 程序,监控进程的性能,并从 ring buffer 中获取数据以分析栈回溯。我们还学习了如何使用 perf_event_open() 函数设置性能监控,并将 BPF 程序附加到性能事件上。在本教程中,我们还展示了如何编写 eBPF 程序来捕获进程的内核和用户空间栈信息,进而分析程序性能瓶颈。通过这个例子,您可以了解到 eBPF 在性能分析方面的强大功能。

2023-06-03 23:25:40 652

原创 eBPF 入门开发实践教程十:在 eBPF 中使用 hardirqs 或 softirqs 捕获中断事件

在本章节(eBPF 入门开发实践教程十:在 eBPF 中使用 hardirqs 或 softirqs 捕获中断事件)中,我们学习了如何使用 eBPF 程序捕获和分析内核中硬件中断处理程序(hardirqs)的执行信息。我们详细讲解了示例代码,包括如何定义数据结构、映射以及 eBPF 程序入口点,以及如何在中断处理程序的入口和出口处调用辅助函数来记录执行信息。

2023-06-03 23:24:13 802

原创 eBPF 入门开发实践教程九:捕获进程调度延迟,以直方图方式记录

runqlat 是一个 Linux 内核 BPF 程序,通过柱状图来总结调度程序运行队列延迟,显示任务等待运行在 CPU 上的时间长度。编译这个程序可以使用 ecc 工具,运行时可以使用 ecli 命令。runqlat 是一种用于监控Linux内核中进程调度延迟的工具。它可以帮助您了解进程在内核中等待执行的时间,并根据这些信息优化进程调度,提高系统的性能。如果您希望学习更多关于 eBPF 的知识和实践,可以访问我们的教程代码仓库以获取更多示例和完整的教程。

2023-06-03 23:23:29 1125 1

原创 eBPF 入门开发实践教程十一:在 eBPF 中使用 libbpf 开发用户态程序并跟踪 exec() 和 exit() 系统调用

Bootstrap 是一个使用 libbpf 的完整应用,它利用 eBPF 程序来跟踪内核中的 exec() 系统调用(通过 SEC(“tp/sched/sched_process_exec”) handle_exec BPF 程序),这主要对应于新进程的创建(不包括 fork() 部分)。此外,它还跟踪进程的 exit() 系统调用(通过 SEC(“tp/sched/sched_process_exit”) handle_exit BPF 程序),以了解每个进程何时退出。

2023-06-03 23:23:20 1225

原创 eBPF 入门实践教程十五:使用 USDT 捕获用户态 Java GC 事件耗时

USDT 是一种在应用程序中插入静态跟踪点的机制,它允许开发者在程序的关键位置插入可用于调试和性能分析的探针。这些探针可以在运行时被 DTrace、SystemTap 或 eBPF 等工具动态激活,从而在不重启应用程序或更改程序代码的情况下,获取程序的内部状态和性能指标。USDT 在很多开源软件,如 MySQL、PostgreSQL、Ruby、Python 和 Node.js 等都有广泛的应用。Java 作为一种高级编程语言,其自动垃圾回收(GC)是其核心特性之一。

2023-06-03 18:43:14 522

原创 eBPF入门开发实践教程十三:统计 TCP 连接延时,并使用 libbpf 在用户态处理数据

tcpconnlat这个工具能够跟踪内核中执行活动 TCP 连接的函数(如通过connect()系统调用),并测量并显示连接延时,即从发送 SYN 到收到响应包的时间。通过本篇 eBPF 入门实践教程,我们学习了如何使用 eBPF 来跟踪和统计 TCP 连接建立的延时。我们首先深入探讨了 eBPF 程序如何在内核态监听特定的内核函数,然后通过捕获这些函数的调用,从而得到连接建立的起始时间和结束时间,计算出延时。

2023-06-03 18:43:05 694

原创 提示词(prompt)工程指南(五):ChatGPT 提示工程

ChatGPT是OpenAI训练的可以进行交互对话的新模型。该模型经过训练,在对话的背景下,可以按照提示中的指示提供适当的响应。ChatGPT可以帮助回答问题、建议配方、以特定格调写歌词、生成代码等等。ChatGPT使用人类反馈的强化学习(RLHF)进行训练。虽然该模型比以前的GPT迭代版本更加强大(也经过训练以减少有害和不真实的输出),但仍然存在一些限制。让我们通过具体例子来介绍一些功能和限制。您可以在这里。

2023-03-29 18:39:30 4793 1

原创 提示词(prompt)工程指南(四):提示应用

在本指南中,我们将介绍一些高级和有趣的方式,利用提示工程来执行更有用和更高级的任务。完整的中文版本指南和更丰富的参考资料在 Github 和 Gitee 中,自动持续翻译更新:🐙 关于提示词工程(prompt)的指南、论文、讲座、笔记本和资源大全目录:TOC/TOC。

2023-03-29 18:38:47 759

原创 提示词(prompt)工程指南(三):高级提示

到此为止,已经很明显完善提示有助于在不同任务上获得更好的结果。这就是提示工程的整体理念。尽管那些例子很有趣,但在我们进入更高级的概念之前,让我们正式介绍一些概念。完整的中文版本指南和更丰富的参考资料在 Github 和 Gitee 中,自动持续翻译更新:🐙 关于提示词工程(prompt)的指南、论文、讲座、笔记本和资源大全主题:TOC/TOC。

2023-03-29 18:38:05 1007

原创 提示词(prompt)工程指南(二):基本提示

自然语言生成中的标准任务之一是文本摘要。文本摘要可以包括许多不同的风味和域。语言模型最有前途的应用之一是将文章和概念简述为快速且易于阅读的摘要。尝试使用提示执行基本的摘要任务。假设我有兴趣了解抗生素,我可以尝试这样的提示:解释抗生素抗生素是一种用于治疗细菌感染的药物。它们通过杀死细菌或防止细菌繁殖来工作,使人体免疫系统能够对抗感染。抗生素通常以口服方式服用,以药丸,胶囊或液体溶液的形式,有时以静脉注射的方式给药。它们对病毒感染无效,不合适的使用可能导致抗生素耐药。

2023-03-29 18:34:40 749

原创 提示词(prompt)工程指南(一):提示介绍

提示工程是一种相对较新的学科,专门用于开发和优化提示,以高效地使用语言模型(LM)来处理各种应用和研究主题。提示工程技能有助于更好地理解大型语言模型(LLMs)的能力和局限性。研究人员使用提示工程来提高LLMs在各种常见和复杂任务上的容量,例如问题解答和算术推理。开发人员使用提示工程来设计与LLMs和其他工具接口的强大而有效的提示技术。本指南介绍了标准提示的基础知识,以提供如何使用提示与大型语言模型(LLMs)进行交互和指导的大致概念。

2023-03-29 18:33:47 1640

原创 eunomia-bpf 和 wasm-bpf 项目的 3 月进展

Wasm-bpf 项目还添加了 Rust 语言的 Guest SDK 支持,并尝试添加了 Go 语言的 Guest SDK 支持。此外,该项目进行了一系列的修复和文档重构,并完善了 CI 和测试等内容。该项目还尝试使用 Wasm 组件模型,并添加了一个工具,用于添加在 wasm 模块中定义的表导出。ecli 程序也进行了完全的重写,现在是使用 Rust 编写的,已经取代了原本使用 C++ 编写的版本。该项目还更新了教程文档,使其更易于使用。在过去一个月中,该项目取得了一些新的进展,以下是这些进展的概述。

2023-03-07 16:06:25 677 1

原创 使用 ChatGPT ,通过自然语言编写 eBPF 程序和追踪 Linux 系统

eBPF 是一项革命性的技术,起源于 Linux 内核,可以在操作系统的内核中运行沙盒程序。它被用来安全和有效地扩展内核的功能,而不需要改变内核的源代码或加载内核模块。今天,eBPF被广泛用于各类场景:在现代数据中心和云原生环境中,可以提供高性能的网络包处理和负载均衡;以非常低的资源开销,做到对多种细粒度指标的可观测性,帮助应用程序开发人员跟踪应用程序,为性能故障排除提供洞察力;保障应用程序和容器运行时的安全执行,等等。

2023-02-24 01:46:36 2952

原创 eBPF 进阶: 内核新特性进展一览

Linux 内核在 2022 年主要发布了 5.16-5.19 以及 6.0 和 6.1 这几个版本,每个版本都为 eBPF 引入了大量的新特性。本文将对这些新特性进行一点简要的介绍,更详细的资料请参考对应的链接信息。总体而言,eBPF 在内核中依然是最活跃的模块之一,它的功能特性也还在高速发展中。某种意义上说,eBPF 正朝着一个完备的内核态可编程接口快速进化。TOC/TOC。

2023-02-15 14:49:57 758

原创 Wasm eBPF = Wasm-bpf

通过在 WebAssembly 中使用 eBPF 程序,我们不仅让 Wasm 应用获得 eBPF 的高性能、对系统接口的访问能力,还可以让 eBPF 程序享受到 Wasm 的沙箱、灵活性、跨平台性、和动态加载的能力,并且使用 Wasm 的 OCI 镜像来方便、快捷地分发和管理 eBPF 程序。Wasm-bpf 是一款基于 WebAssembly 的 eBPF 库、工具链和运行时,它可以帮助您利用 CO-RE 的 eBPF 运行时和 WebAssembly 运行时(例如 WAMR)构建 eBPF 应用程序。

2023-02-14 20:59:33 377

原创 在 WebAssembly 中使用 Rust 编写 eBPF 程序并发布 OCI 镜像

本文以 Rust 语言为例,讨论了使用 Rust 编写 eBPF 程序并编译为 Wasm 模块以及使用 OCI 镜像发布、部署、管理 eBPF 程序,获得类似 Docker 的体验。接下来,我们会继续完善在 Wasm 中使用多种语言开发和运行 eBPF 程序的体验,提供更完善的示例和用户态开发库/工具链,以及更具体的应用场景。

2023-02-12 03:55:50 826

原创 在 WebAssembly 中使用 C/C++ 和 libbpf 编写 eBPF 程序

本以 C/C++ 语言为例,讨论了如何使用 C/C++ 编写 eBPF 程序并编译为 Wasm 模块。在下一篇文章中,我们会讨论使用 Rust 编写 eBPF 程序并编译为 Wasm 模块,并使用 OCI 镜像发布、部署、管理 eBPF 程序,获得类似 Docker 的体验。接下来,我们也会继续完善在 Wasm 中使用多种语言开发和运行 eBPF 程序的体验,提供更完善的示例和用户态开发库/工具链,以及更具体的应用场景。

2023-02-12 03:54:37 966 3

原创 Wasm-bpf: 为云原生 Webassembly 提供通用的 eBPF 内核可编程能力

这个项目本质上可以说是希望把 Wasm 沙箱当做在操作系统之上建立的另一个用户态运行空间,让 Wasm 应用在沙箱中实现和通常用户态中运行的 eBPF 应用一样的编程模型和执行逻辑。Wasm-bpf 会需要一个在 host(沙箱外部)构建的运行时模块,以及一些在沙箱内部被编译为 Wasm 字节码的运行时库来提供完整的支持。一个 Wasm 模块可以对应多个 eBPF 程序;一个 eBPF 程序实例也可以被多个 Wasm 模块所共用;

2023-02-10 22:49:02 343

原创 三天高效入门 eBPF的开发:学习计划与纲要

有任何问题或者想了解的东西,不管是不是和本项目相关,都可以在本项目的 discussions 里面开始讨论。其他开发框架:Go 语言或者 Rust 语言,请自行搜索并且尝试(0-2h)

2023-02-01 01:40:57 520

原创 eBPF 入门开发实践教程八:在 eBPF 中使用 exitsnoop 监控进程退出事件,使用 ring buffer 向用户态打印输出

本文介绍了如何使用 eunomia-bpf 开发一个简单的 BPF 程序,该程序可以监控 Linux 系统中的进程退出事件, 并将捕获的事件通过 ring buffer 发送给用户空间程序。在本文中,我们使用 eunomia-bpf 编译运行了这个例子。完整的教程和源代码已经全部开源,可以在中查看。

2023-01-28 19:25:15 800

原创 eBPF 入门实践教程七:捕获进程执行/退出时间,通过 perf event array 向用户态打印输出

本文介绍了如何捕获 Linux 内核中进程执行的事件,并且通过 perf event array 向用户态命令行打印输出,通过 perf event array 向用户态发送信息之后,可以进行复杂的数据处理和分析。struct {就可以往用户态直接发送信息。完整的教程和源代码已经全部开源,可以在中查看。

2023-01-23 19:54:31 1828

原创 eBPF 入门开发实践指南六:捕获进程发送信号的系统调用集合,使用 hash map 保存状态

本文主要介绍如何实现一个 eBPF 工具,捕获进程发送信号的系统调用集合,使用 hash map 保存状态。struct {并使用一些对应的 API 进行访问,例如 bpf_map_lookup_elem、bpf_map_update_elem、bpf_map_delete_elem 等。完整的教程和源代码已经全部开源,可以在中查看。

2023-01-23 19:50:30 1491

原创 eBPF 入门开发实践指南五:在 eBPF 中使用 uprobe 捕获 bash 的 readline 函数调用

uprobe是一种用户空间探针,uprobe探针允许在用户空间程序中动态插桩,插桩位置包括:函数入口、特定偏移处,以及函数返回处。当我们定义uprobe时,内核会在附加的指令上创建快速断点指令(x86机器上为int3指令),当程序执行到该指令时,内核将触发事件,程序陷入到内核态,并以回调函数的方式调用探针函数,执行完探针函数再返回到用户态继续执行后序的指令。

2023-01-23 19:47:57 1673

原创 eBPF 入门开发实践指南四:在 eBPF 中捕获进程打开文件的系统调用集合,使用全局变量过滤进程 pid

本文介绍了如何使用 eBPF 程序来捕获进程打开文件的系统调用。在 eBPF 程序中,我们可以通过定义 tracepoint__syscalls__sys_enter_open 和 tracepoint__syscalls__sys_enter_openat 函数并使用 SEC 宏把它们附加到 sys_enter_open 和 sys_enter_openat 两个 tracepoint 来捕获进程打开文件的系统调用。

2023-01-23 19:46:50 1271

原创 eBPF 入门开发实践指南三:在 eBPF 中使用 fentry 监测捕获 unlink 系统调用

这段程序是一个 eBPF 程序,通过使用 fentry 和 fexit 捕获 do_unlinkat 和 do_unlinkat_exit 函数,并通过使用 bpf_get_current_pid_tgid 和 bpf_printk 函数获取调用 do_unlinkat 的进程 ID、文件名和返回值,并在内核日志中打印出来。

2023-01-23 19:46:03 1532

原创 eBPF 入门开发实践指南二:在 eBPF 中使用 kprobe 监测捕获 unlink 系统调用

通过本文的示例,我们学习了如何使用 eBPF 的 kprobe 和 kretprobe 捕获 unlink 系统调用。本文是 eBPF 入门开发实践指南的第二篇。下一篇文章将介绍如何在 eBPF 中使用 fentry 监测捕获 unlink 系统调用。完整的教程和源代码已经全部开源,可以在中查看。

2023-01-23 19:45:01 983

原创 eBPF 入门开发实践指南二:Hello World,基本框架和开发流程

定义 eBPF 程序的接口和类型:这包括定义 eBPF 程序的接口函数,定义和实现 eBPF 内核映射(maps)和共享内存(perf events),以及定义和使用 eBPF 内核帮助函数(helpers)。编写 eBPF 程序的代码:这包括编写 eBPF 程序的主要逻辑,实现 eBPF 内核映射的读写操作,以及使用 eBPF 内核帮助函数。编译 eBPF 程序:这包括使用 eBPF 编译器(例如 clang)将 eBPF 程序代码编译为 eBPF 字节码,并生成可执行的 eBPF 内核模块。

2023-01-23 19:38:32 1158 2

原创 eBPF 入门开发实践指南一:介绍 eBPF 的基本概念、常见的开发工具

Linux内核一直是实现监控/可观测性、网络和安全功能的理想地方,但是直接在内核中进行监控并不是一个容易的事情。在传统的Linux软件开发中,实现这些功能往往都离不开修改内核源码或加载内核模块。修改内核源码是一件非常危险的行为,稍有不慎可能便会导致系统崩溃,并且每次检验修改的代码都需要重新编译内核,耗时耗力。

2023-01-23 19:36:44 1341 1

原创 eunomia-bpf 0.3.0 发布:只需编写内核态代码,轻松构建、打包、发布完整的 eBPF 应用

eBPF 源于 BPF,本质上是处于内核中的一个高效与灵活的虚拟机组件,以一种安全的方式在许多内核 hook 点执行字节码,开发者可基于 eBPF 开发性能分析工具、软件定义网络、安全等诸多场景。搭建和开发 eBPF 程序是一个门槛比较高、比较复杂的工作,必须同时关注内核态和用户态两个方面的交互和信息处理,有时还要配置环境和编写对应的构建脚本;

2023-01-23 18:07:47 1033

原创 eunomia-bpf:展望 2023,让 eBPF 插上 Wasm 的翅膀

回望过去的 2022 年,有两项技术备受瞩目:eBPF 和 WebAssembly。eunomia-bpf 也是一个结合 Wasm 的通用、轻量级、多语言的下一代 eBPF 开源开发框架/组件库,希望在 2023 年有更多关于 eBPF 和 Wasm 相关的探索。

2023-01-23 17:38:47 464 1

原创 借助 ChatGPT 编写的 libbpf eBPF 工具开发实践教程: 通过例子学习 eBPF

这是一个基于 (一次编译,到处运行)的 的 eBPF 的开发教程,提供了从入门到进阶的 eBPF 开发实践指南,包括基本概念、代码实例、实际应用等内容。我们主要提供了一些 eBPF 工具的案例,帮助开发者学习 eBPF 的开发方法和技巧。教程内容可以在目录中找到,每个目录都是一个独立的 eBPF 工具案例。在学习 eBPF 的过程中,我们受到了 tutorial_bcc_python_developer 的许多启发和帮助,但从 2022 年的角度出发,使用 libbpf 开发 eBPF 的应用是目前相对更

2022-12-06 22:23:43 2386

原创 ebpf-wasm

当今云原生世界中两个最热门的轻量级代码执行沙箱/虚拟机是 eBPF 和 WebAssembly。它们都运行从 C、C++ 和 Rust 等语言编译的高性能字节码程序,并且都是跨平台、可移植的。二者最大的区别在于: eBPF 在 Linux 内核中运行,而 WebAssembly 在用户空间中运行。我们希望能做一些将二者相互融合的尝试:使用 WASM 来编写通用的 eBPF 程序,然后可以将其分发到任意不同版本、不同架构的 Linux 内核中,无需重新编译即可运行。

2022-10-18 11:32:47 465

原创 三分钟学会编写 eBPF 程序:使用 eBPF 程序监控打开文件路径并使用 Prometheus 可视化

opensnoop通过对 open 系统调用的追踪,使得用户可以较为方便地掌握目前系统中调用了 open 系统调用的进程信息。源代码:https://github.com/eunomia-bpf/eunomia-bpf/tree/master/bpftools/examples/opensnooplibbpf 参考代码:https://github.com/iovisor/bcc/blob/master/libbpf-tools/opensnoop.bpf.c。

2022-09-30 07:31:50 910

原创 eBPF 入门开发实践教程一:介绍与快速上手

Linux内核一直是实现监控/可观测性、网络和安全功能的理想地方,但是直接在内核中进行监控并不是一个容易的事情。在传统的Linux软件开发中,实现这些功能往往都离不开修改内核源码或加载内核模块。修改内核源码是一件非常危险的行为,稍有不慎可能便会导致系统崩溃,并且每次检验修改的代码都需要重新编译内核,耗时耗力。加载内核模块虽然来说更为灵活,不需要重新编译源码,但是也可能导致内核崩溃,且随着内核版本的变化模块也需要进行相应的修改,否则将无法使用。在这一背景下,eBPF技术应运而生。

2022-09-22 19:23:10 1298

原创 结合 Wasm 的 eBPF 极简开发工具介绍:eunomia-bpf

对比 Web 的发展,eBPF 与内核的关系有点类似于 JavaScript 与浏览器内核的关系。eunomia-bpf 是一套编译工具链和运行时,以及一些附加项目,我们希望做到让 eBPF 程序真正像 JavaScript 或者 WASM 那样易于分发和运行,或者说内核态或可观测性层面的 FaaS:eBPF 即服务。

2022-09-07 21:22:25 1994

原创 eunomia-bpf: 让 eBPF 程序的开发和部署尽可能简单

传统来说, eBPF 的开发方式主要有 BCC、libbpf 等方式。要完成一个 BPF 二进制程序的开发,需要搭建开发编译环境,要关注目标系统的内核版本情况,需要掌握从 BPF 内核态到用户态程序的编写,以及如何加载、绑定至对应的 HOOK 点等待事件触发,最后再对输出的日志及数据进行处理。我们希望有这样一种 eBPF 的编译和运行工具链,就像其他很多语言一样:大多数用户只需要关注bpf.c程序本身的编写,不需要写任何其他的什么 Python, Clang 之类的用户态辅助代码框架;

2022-09-07 20:55:57 652 1

FPU - verilog实现的浮点运算单元,支持标准浮点数加减乘除

FPU - verilog实现的浮点运算单元,支持标准浮点数加减乘除 源代码也可以在github获取:https://github.com/yunwei37/ZJU-CS-GIS-ClassNotes/

2020-08-20

MIPS-sc-zju.zip

MIPS-sc 为 MIPS simulator&compiler 的简称,是一个基于Qt实现的带图形界面的MIPS汇编指令的编辑器、汇编器、反汇编器、模拟器。是为浙江大学《计算机组成课程》编写的的课程项目之一。 源代码已放置在github中: https://github.com/yunwei37/MIPS-sc-zju

2020-07-04

中国社会组织_疫情防控-5_21.csv

中国社会组织公共服务平台疫情防控专区新闻语料库公开数据集:包含1月26号到5月21号的新闻数据; 使用该数据集进行的可视化分析实现:http://flask.yunwei123.tech/ github地址:https://github.com/yunwei37/COVID-19-NLP-vis

2020-06-04

一个轻量级的WEB服务器

一个轻量级的WEB服务器,可供学习http协议原理使用 可实现多并发、显示图片等 也可在我的github仓库 https://github.com/yunwei37/myClassNotes 获取和查看详细说明

2020-05-04

基于Socket接口实现自定义协议聊天室

基于Socket接口实现的自定义协议聊天室 C/S架构,可实现多对多聊天 也可在我的github仓库 https://github.com/yunwei37/myClassNotes 下载和查看具体说明

2020-05-04

使用openGL实现的简单太阳系demo

使用openGL实现的简单太阳系demo 在github仓库中也可获得源代码及实现说明 https://github.com/yunwei37/myClassNotes

2020-05-04

一个简单的 AVL树、splay树、以及二叉搜索树的代码实现

一个简单的 AVL树、splay树、以及二叉搜索树的代码实现 也可在我的github仓库中下载: https://github.com/yunwei37/myClassNotes

2020-05-04

一个简单的跳跃表实现,附有详细注释

一个简单的跳跃表实现,附有详细注释 参考了redis的源代码 源代码及说明也可以在 https://github.com/yunwei37/myClassNotes 中下载

2020-05-04

使用倒排索引实现的简单的搜索引擎

使用倒排索引实现的简单的搜索引擎demo 能对莎士比亚全集的文本进行搜索,并显示该词语所在的篇目和所在句子 源代码及说明也可在github获取 https://github.com/yunwei37/myClassNotes

2020-05-04

浙江大学c语言程序设计专题用的图形库的一个重构和改进版本

浙江大学c语言程序设计专题用的图形库的一个重构和改进版本 (以及简单的CAD demo) github地址:https://github.com/yunwei37/graphics

2020-05-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除