《大道至简》创作参考笔记链接汇总(持续更新)
在《大道至简,给所有人看的编程书》写作期间,我查阅了大量的资料。有些资料已经在书中添加了链接或脚注,更多的只是看过或做了收藏。这里我将这些资料整理出来,供大家参考。
如果你看了书,再看这些参考,会很有用。如果你没看书,这些参考资料也很有用 😃。
(持续更新中,欢迎常回来看看)
参考资料
- 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
图片来源
- 结绳记事: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 使用。
关于书的说明(草稿)
本书面向新手程序员,希望小学生们能看懂,也希望编程老手们读了也会感到很有帮助。
这是一套关于计算机与编程开发的课程。
本课程不能代替任何编程课,也不能代替任何一本编程书,它只是你编程之路上的一个催化剂。
本课程是作者多年编程开发经验的一个总结,也有作者多年在写代码、面试、带开发团队、指导计算机编程开发过程中的一些思考。
作者会尝试用最简单的方法和语言,带你理解计算机编程的基本原理、相关概念和编程的本质,希望能帮助你在看其他计算机书的时候事半功倍,在未来的学习和工作中能“以不变应万变”。
本课程的目标读者:所有人。
大到做一个产品,小到写一本书,通常都需要设定自己的目标用户或目标读者。然而本书的目标读者却没有那么明确,如果说明确,那就是——所有人。比如——
- 小学生:现在,很多小学生就已经开始学习编程,他们需要一本“课外书”,这本书会陪伴他们从小学到大学的编程旅程。
- 大学生:作者见过很多大学生,即使是计算机系毕业的学生,很多对编程也是一知半解。是我们的教育错了吗?还是学习不努力?希望能从本书找到答案。
- 刚走上工作岗位的程序员:我得到了一个编程工作的岗位,学什么?从哪里学?怎么学?
- 资深程序员:我都走过哪些弯路?我怎么告诉新手程序员少走弯路?
- 技术主管:有很多编程开发经验,但是,怎么培训新的程序员?怎么让他们跟你一样优秀?
- 产品经理:为什么程序员总是做不出我想要的效果?要是我会写代码,就自己撸一个,不用你们(程序员)。有了这本书,你可以做到了(这里只是开个玩笑,并不是让产品经理都改行当程序员。术业有专攻,通过本书,让产品经理更理解编程,进而能更容易地与程序员沟通)。
- 不会编程的管理者:了解你的程序员,为什么你认为一个简单的任务他们却做了很长时间?为什么会不断的推倒重来?
- 甲方:了解你的乙方,为什么你提的需求他们总是不能满足?为什么项目总是会延期?
- 学生家长:孩子学编程,应该学什么语言?报什么班?你能帮助他/她吗?
人工智能都能写代码了?未来还需要程序员吗?
不就是改一行代码的事吗?不就是改一个 Logo 吗?
本书特点:
- 简单直观:直击问题本质,轻松理解一个概念、问题及解决方法。
- 博大精深:本书描述了很多数学原理、语言、协议、技术和工具,通过横向对比深入洞悉的本质和这些技术存在的意义。
购书链接: 《大道至简,给所有人看的编程书》 。
(持续更新中,欢迎常回来看看)
本文永久链接:https://www.dujinfang.com/2024/06/08/simple-book-by-product.html 。