《大道至简》创作参考笔记链接汇总(持续更新)
在《大道至简,给所有人看的编程书》写作期间,我查阅了大量的资料。有些资料已经在书中添加了链接或脚注,更多的只是看过或做了收藏。这里我将这些资料整理出来,供大家参考。
如果你看了书,再看这些参考,会很有用。如果你没看书,这些参考资料也很有用 😃。
(持续更新中,欢迎常回来看看)
参考资料
- URL Decoding:https://www.rosettacode.org/wiki/URL_decoding
- 从头写一个HTTP Server: https://medium.com/from-the-scratch/http-server-what-do-you-need-to-know-to-build-a-simple-http-server-from-scratch-d1ef8945e4fa
- word numbering: https://cybertext.wordpress.com/2014/03/31/word-change-caption-numbering-from-sequential-to-chapter-numbering/
- 在浏览器中运行各种操作系统:https://geekflare.com/run-linux-from-a-web-browser/
- Unicode: https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/
- ISO8859: https://i18nqa.com/debug/table-iso8859-1-vs-iso8859-15.html
- 键盘扫描码:https://www.lookuptables.com/coding/keyboard-scan-codes
- 中断服务例程:https://wiki.osdev.org/Interrupt_Service_Routines
- Ninja得与失: https://neugierig.org/software/blog/2020/05/ninja.html
- Ninja性能:https://aosabook.org/en/posa/ninja.html
- newLib libc:https://sourceware.org/newlib/libc.html
- main函数之前是什么:https://embeddedartistry.com/blog/2019/04/08/a-general-overview-of-what-happens-before-main/
- 从零开始打造一台简易计算机 https://xiaogd.net/book/spcp/
- Hello 算法:https://github.com/krahets/hello-algo
- 中文编程语言:https://www.infoq.cn/article/umUelS6BrCgqPkVRfcwv
- https://www.gnu.org/software/libc/manual/pdf/libc.pdf
- https://www.macrumors.com/2012/03/22/steve-jobs-tried-to-hire-linux-creator-linus-torvalds-to-work-on-os-x/
- better C:https://theartofmachinery.com/2019/04/05/d_as_c_replacement.html
- checked C
- C 语言标准——C89、C99、C11、C17、C2x ... https://zhuanlan.zhihu.com/p/363380373
- 代码从编译到运行经历了什么?你真的清楚吗? https://blog.csdn.net/weixin_44895651/article/details/106260030
- Go:我们做对了什么?又做错了什么?
https://commandcenter.blogspot.com/2024/01/what-we-got-right-what-we-got-wrong.html
OS:
- OS教程:https://github.com/cfenollosa/os-tutorial
- OS小书:https://littleosbook.github.io/
- OS开发:https://wiki.osdev.org/
- UEFI Boot Loader ARM64:https://github.com/DOGSHITD/Simple-UEFI-Bootloader-ARM64
- 从头写一个Boot Loader:https://interrupt.memfault.com/blog/how-to-write-a-bootloader-from-scratch
- 启动:https://www.kernel.org/doc/html/v5.8/arm64/booting.html
- 巨简的HTTP服务器:https://git.sr.ht/~pitust/lolttp
- Windows上的虚拟机2024版: https://www.windowscentral.com/best-free-virtual-machine-software-windows-10-and-11
- VM
ware、KVM、Docker:https://zhuanlan.zhihu.com/p/272202324 - 虚拟化:https://zhuanlan.zhihu.com/p/680320488
- WSL Docker 安装: https://zhuanlan.zhihu.com/p/148511634
- ttyd: https://github.com/tsl0922/ttyd
- libtool: https://zhuanlan.zhihu.com/p/35847200
- libtool: https://autotools.info/libtool/index.html
- limine bootloader:https://github.com/limine-bootloader/limine
- OS: https://github.com/Lyre-OS/Lyre (已失效)
- 免费编程书: https://linuxstory.org/free-chinese-programming-books/
- Browser: https://zhuanlan.zhihu.com/p/615993165
- printf:https://github.com/eyalroz/printf
- 从 0 开始写 OS 内核:https://segmentfault.com/a/1190000040124650
- OS教程中文版:https://github.com/ruiers/os-tutorial-cn
- 编译器实现之旅:https://github.com/DoctorWkt/acwj
- Wi-Fi:https://www.newscientist.com/question/what-does-wi-fi-stand-for/
- CherryOS:https://github.com/msiniavine/CherryOS
- 安全:https://www.ibm.com/cn-zh/topics/cybersecurity
- 安全:https://www.gartner.com/cn/topics/cybersecurity
- 安全:https://aws.amazon.com/cn/what-is/cybersecurity/
- 安全:https://www.akamai.com/zh/glossary/what-is-cybersecurity
- C与Webassembly:https://surma.dev/things/c-to-webassembly/
- Lua macOS App:https://github.com/mogenson/lua-macos-app
- libui:https://github.com/andlabs/libui
- Git GUI: https://zhuanlan.zhihu.com/p/144961175
- Multiboot: https://www.gnu.org/software/grub/manual/multiboot/multiboot.html#Example-OS-code
- CMake:https://dominikberner.ch/cmake-library-setup/
- 如果用pkgconfig连接一个静态库 https://stackoverflow.com/questions/27586503/how-to-use-pkg-config-to-link-a-library-statically
- tree.c https://github.com/ccxvii/minilibs
- Bochs调试常用命令:https://petpwiuta.github.io/2020/05/09/Bochs调试常用命令
- Linux内核中的libc代码:https://github.com/torvalds/linux/tree/master/tools/include/nolibc
- rt0:https://github.com/lpsantil/rt0
- Chrome网络性能:https://aosabook.org/en/posa/high-performance-networking-in-chrome.html
- CMake:https://aosabook.org/en/v1/cmake.html
图片来源
- 结绳记事:https://www.cdstm.cn/frontier/kpx/201901/t20190124_905762.html
- 莫比乌斯带:https://zh.wikipedia.org/wiki/莫比乌斯带
- 椭圆坐标系:https://wuli.wiki/online/EliCor.html
- 加法器:https://zhuanlan.zhihu.com/p/370043999
- Tikz: https://zhuanlan.zhihu.com/p/137847051
- float: https://zhuanlan.zhihu.com/p/339949186
推荐书目
- UNIX 传奇:https://zhuanlan.zhihu.com/p/359470320
- 《UNIX 编程艺术》,Eric Raymond 著,ISBN: 9787121176654,电子工业出版社。
- 《UNIX 环境高级编程》
- 《数据结构:Java 语言描述》
- 《C 程序设计》
- 《Just for Fun》,只是为了好玩
- 《计算机网络》
- 《TCP/IP 详解》
- 《操作系统:设计与实现》
备选书名或次书名
- 大道至简——给所有人看的编程书
- 循序渐进,殊途同归
- 代码
- 代码修炼之从入门到走火入魔
- 编程
- 计算机与编程艺术
- 计算机编程从高手到入门
忘了在哪看到的
Torvalds has never met Bill Gates, but around 2000, when he was still working at Transmeta, he met Steve Jobs. Jobs invited him to Apple’s Cupertino campus and tried to hire him. “Unix for the biggest user base: that was the pitch,” says Torvalds. The condition: He’d have to drop Linux development. “He wanted me to work at Apple doing non-Linux things,” he said. That was a non-starter for Torvalds. Besides, he hated Mac OS’s Mach kernel.
微软起家的是 BASIC 解释器,那是盖茨自己写的。IBM 找微软也是要其提供 BASIC 解释器,盖茨建议 IBM 用 CP/M 操作系统,IBM 没能谈妥,让微软也提供操作系统。当时微软已成立五年,盖茨已不自己编程,雇了 Tim Paterson 将他写的 86-DOS 改成 MSDOS,其实也改自 CP/M。盖茨做了一个正确决定,不卖版权,只授权 IBM 使用。
其他
购书链接:《大道至简,给所有人看的编程书》 。
(持续更新中,欢迎常回来看看)
本文永久链接:https://www.dujinfang.com/2024/06/08/simple-book-by-product.html 。