Skip to main content

黑洞资源笔记

  1. Virgil 是一种编程语言,专为快速、无依赖的程序而设计。它的设计融合了功能性和面向对象的编程范式,以提高表现力和性能。Virgil 的编译器为 JVM 生成优化的独立本机可执行文件、WebAssembly 模块或 JAR。为了在测试和调试中快速周转,程序也可以直接在内置解释器上运行。它非常适合编写小而快的程序,这使得它非常适合构建某些类型的程序,如编译器和虚拟机。它目前被用于虚拟机和编程语言的研究,特别是下一代 WebAssembly 虚拟机Wizard的开发。

    该存储库包括 Virgil 各种编译目标的整个编译器、运行时系统、一些库、测试、文档和支持代码。

    Virgil 专注于平衡静态类型语言中的这些主要特性:

    类 - 用于基本的面向对象编程
    功能 - 用于功能的小规模重用
    元组 - 用于多参数函数的有效聚合和统一处理
    类型参数 - 用于对类型进行强大而清晰的抽象
    代数数据类型——便于数据结构的构建和匹配

    virgil | 教程 | 图书馆
  2. 开源技术教程:《动手构建一个简单数据库》(Let's Build a Simple Database)。

    作者将基于C语言,手把手构建一个类SQLite数据库,让你进一步了解数据库的工作原理,比如:

    - 数据的保存格式;
    - 数据从内存移动到磁盘的时机;
    - 一张表为何只能有一个主键?
    - 回滚事务的工作原理;
    - 索引的格式化原理。

    在线阅读 | GitHub
  3. Pure是一个静态分析文件格式检查器,可检查 ZIP 文件是否存在危险的压缩率、规范偏差、恶意存档签名、不匹配的本地和中央目录标题、不明确的 UTF-8 文件名、目录和符号链接遍历、无效的 MS-DOS 日期、重叠的标题、上溢、下溢、稀疏、意外缓冲区溢出等。

    Pure的目标是缩小试图利用易受攻击软件的攻击者可用的语义差距,并降低零日漏洞的概率,例如David Fifield的更好的zip炸弹,它被Pure 的早期版本检测为零日漏洞.

    文件:
    pure.h:库源代码的 C 接口。
    pure:用于开发测试的 CLI 脚本。用法:./pure <file>。
    test.js:Node.js 测试运行程序,用于针对./tests.
    binding.c:CLI 和测试运行程序使用的 Node.js 绑定。
    make-errors.js:动态重新创建 C 错误枚举、错误代码和错误字符串的脚本。
    make-signatures.js:动态重新创建 C 签名字符串的脚本。
    make-tests.js:动态重新创建测试文件的脚本

    pure | #工具