Skip to main content

黑洞资源笔记

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

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

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

    在线阅读 | GitHub
  2. 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 | #工具
  3. 开源技术教程:《动手开发一个Python小项目》(The Big Book of Small Python Projects)

    书中收录了80多个Python项目,每个项目都是一个独立章节,其中包括项目实例、源码、进一步开发建议等内容。

    书中每个项目代码量最多只有200多行,对新手友好,适合快速上手学习。

    学完之后,便可以开始尝试,动手制作各类基于Python的数字艺术品、游戏、动画、数字计算等小工具。

    源代码和其他文件
    在线比较工具 (用来将你的代码与本书中的代码进行比较)

    在线阅读 | #Python #电子书
  4. Rust语言实战

    该书将通过有挑战性的示例、练习题、实践项目来提升Rust水平,建立从入门学习到上手实战的直通桥梁

    书中通过大量的实战练习,(练习题使用mdbook构建,你也可以下载到本地运行。)助你更好的学习和上手使用Rust语言。

    书中的练习题非常易于使用:你所需的就是在线完成练习,并让它通过编译。

    特性:部分示例和习题借鉴了Rust By Example

    1.每个章节分为三个可选部分:示例、练习和实践项目
    2.除了示例外,还有大量的高质量练习题,你可以在线阅读、修改、编译它们
    3.覆盖了Rust语言的几乎所有方面:基础语言特性、高级语言特性、async/await 异步编程、多线程、并发原语、性能优化、工具链使用、标准库、数据结构和算法等
    4.每一道练习题都提供了解答
    5.整体难度相对更高,更加贴近于实战难度: 简单, 中等, 困难, 地狱

    扩展:mdBook是一个免费和开源的(源代码),使用Markdown创建书籍的命令行工具,非常适合创建产品或API文档、教程、课程材料或任何需要简洁、易于导航和可定制的演示文稿

    在线阅读 | Github | #工具 #Rust #电子书
  5. Thrust:C++并行算法库

    Thrust是C++并行算法库,它启发了将并行算法引入C++标准库。Thrust 的高级接口极大地提高了程序员的工作效率 ,同时实现了GPU和多核CPU之间的性能可移植性。它建立在已建立的并行编程框架(如CUDA、TBB和OpenMP)之上。它还提供了许多类似于C++标准库中的通用工具。

    NVIDIA C++标准库是一个开源项目;它在GitHub上可用,并包含在NVIDIA HPC SDK和CUDA工具包中。如果你安装了其中一个SDK,则无需额外的安装或编译器标志即可使用 libcu++。

    Github | Docs | #C++