你可以多次构建这些项目,每次从中收获新的知识。 每当我不知道该拿什么练手,或者想学习一种新的编程语言或框架时,我就会从以下项目中选择一种开始coding:
每个程序员都应该尝试的挑战性项目
文本编辑器
-
如何将文本文档存储在内存中
-
学习文本光标在流行的编辑器中的行为
△图源:Austin Z. Henley
-
撤销/重做
-
自动换行
-
用于存储文本的数据结构:数组,rope,gap buffer,piece table
-
文本光标的行为和实现
-
撤销/重做的设计模式:记忆,命令
-
分离文本视觉和记忆的抽象
2D游戏-太空侵略者
△图源:Austin Z. Henley
编译器-Tiny BASIC
△图源:Austin Z. Henley
-
词法分析
-
句法分析
-
递归下降解析
-
抽象语法树
-
语义分析
-
优化passes
-
代码生成
迷你操作系统
△图源:Austin Z. Henley
-
交叉编译
-
Bootloading
-
BIOS中断
-
x86模式
-
内存管理和分页
-
排程(Scheduling)
-
文件系统
电子表格
电子游戏机模拟器
网友建言献策
这些项目能让我接触到完全不同的领域和问题,比我日常的工作更能激励我。
-
从零搭建数据库
-
光线追踪器
-
矢量图形编辑器
-
图像解码器
-
网页聊天室
-
pi计算器的位数
-
通用终端实用程序(如grep)
-
FTP客户端和服务器
传送门
http://web.eecs.utk.edu/~azh/blog/challengingprojects.html
https://news.ycombinator.com/item?id=21790779
http://osblog.stephenmarz.com/index.html
<pre style="letter-spacing: 0.544px;"><section style="margin-right: 8px;margin-left: 8px;white-space: normal;color: rgb(0, 0, 0);font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-align: center;widows: 1;line-height: 1.75em;"><strong><span style="letter-spacing: 0.5px;font-size: 14px;"><strong style="font-size: 16px;letter-spacing: 0.544px;"><span style="letter-spacing: 0.5px;">—</span></strong>完<strong style="font-size: 16px;letter-spacing: 0.544px;"><span style="letter-spacing: 0.5px;font-size: 14px;"><strong style="font-size: 16px;letter-spacing: 0.544px;"><span style="letter-spacing: 0.5px;">—</span></strong></span></strong></span></strong></section><section style="white-space: normal;font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-align: center;widows: 1;color: rgb(255, 97, 149);"><section powered-by="xiumi.us"><section style="margin-top: 15px;margin-bottom: 25px;opacity: 0.8;"><section><section style="letter-spacing: 0.544px;"><section powered-by="xiumi.us"><section style="margin-top: 15px;margin-bottom: 25px;opacity: 0.8;"><section><section style="margin-right: 8px;margin-bottom: 15px;margin-left: 8px;padding-right: 0em;padding-left: 0em;color: rgb(127, 127, 127);font-family: sans-serif;font-size: 12px;line-height: 25.5938px;letter-spacing: 3px;"><span style="color: rgb(0, 0, 0);"><strong><span style="font-size: 16px;font-family: 微软雅黑;caret-color: red;">为您推荐</span></strong></span></section><p style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;min-height: 1em;color: rgb(127, 127, 127);font-family: sans-serif;font-size: 12px;line-height: 1.75em;letter-spacing: 0px;">AI有假?普林斯顿计算机教授炮轰“伪AI”<br /></p><p style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;min-height: 1em;color: rgb(127, 127, 127);font-family: sans-serif;font-size: 12px;line-height: 1.75em;letter-spacing: 0px;">网传饶毅举报多位学者论文造假?官方回应了<br /></p><p style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;min-height: 1em;color: rgb(127, 127, 127);font-family: sans-serif;font-size: 12px;line-height: 1.75em;letter-spacing: 0px;">阿里如何抗住90秒100亿?看这篇你就明白了!<br /></p><p style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;min-height: 1em;color: rgb(127, 127, 127);font-family: sans-serif;font-size: 12px;line-height: 1.75em;letter-spacing: 0px;">深度学习必懂的13种概率分布<br /></p><p style="margin-right: 8px;margin-bottom: 5px;margin-left: 8px;padding-right: 0em;padding-left: 0em;min-height: 1em;color: rgb(127, 127, 127);font-family: sans-serif;font-size: 12px;line-height: 1.75em;letter-spacing: 0px;">担心美国政府限制,Github考虑在华设立子公司<br /></p></section></section></section></section></section></section></section></section>
本篇文章来源于: 深度学习这件小事
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
内容反馈