编程最难的事,不是写不出代码,而是不知道该写什么
如果你也学编程,应该遇到过这种情况:
满腔热血打开编辑器,结果坐了一小时,光标都没动一下。
你不是不会写,而是压根不知道该写啥!
我自己以前也这样。
尤其是在三更半夜之际,突然之间就来了灵感,心里想着“我当下马上就要弄出点什么东西来”,随后便去把电脑打开,接着开始搜索“刚入门新手适合的项目”,浏览了十几条各种推荐,可是越看心里越发觉得没有头绪,最终甚至连动手想要去做的那种欲望都完全消失殆尽了,于是干脆直接关掉电脑,转身去刷短视频……这种情况熟悉吧?
其后,我在刷之时察觉到了一个宝藏项目库名为 Build Your Own X。

Build Your Own X项目介绍
尽是那种“从 0 建设装配”的超硬核指导课程,亲自动手去编写 Git,去编写 Redis,甚至于还能够打造出一个专属于自己的协议。刚开始瞅见之时,我内心是抵触的,忍不住嘟囔“这也太高端进阶了?”然而认真去瞧一瞧嘿,全都是一步一步地进行教导,难度确实是有,可你所完成的每一个步骤,全都是实实在在的干货!
从那以后呀,我就开启了认真做项目的模式,着手整理清单,不再是仅仅处于“看别人写”的状态,而是转变成为开始“写自己的事物”了。

今天,我要分享出我觉得极为值得去做的,共计20个项目,这些项目呢为适合初学者的类型,同时,它们也能够对进阶者带来挑战!
【入门级项目】——从0开始练基本功个人作品集网站
组建个人主页,运用 HTML 外加 CSS,去呈现项目以及相关技能,这是最为简单的做法,然而它却实实在在地属于构建“程序员身份”的起始步骤。

HTML5
待办事项清单应用
创造一个能够增添或者移除任务的小型工具,它适宜于用来练习前端与后端交互的逻辑,是新手必定要去做的。

To-do
计算器
加,减,乘,除,去构建一款清一色前端的计算器,接着去挑战一下能够支持括号,以及三角函数,试问如何?

计算器实现
随机语录生成器

每次进行点击操作,便会显示出一句话,且顺便能够学会去调用 API,这对于刚开始学习 API 进行练习操作是很适应的,是一个测验小程序。
建造一个能够出题,能够答题,能够评分的小型测验系统,此系统较为适合用于练习逻辑判断以及数据结构,还有QR码生成器。
把文本转成二维码,通过调用第三方库、外部接口就能达成,属于那种快速见到成效的项目。️【中级项目范畴】——开启以“仿若像个程序员那般”的路子去思索问题的AI聊天相关伴侣应用程序。
定制一个网页工具,这个工具要集成GPT - 4或者其他语言模型 ,并且这个工具要具备“会聊天”的特性 ,而且它的可定制性要高 ,玩法也要多。

个人理财追踪器
达成收入记录、消费支出记录,进行图表统计,甚至与Plaid等银行应用程序编程接口相连接,这属于数据处理方面的优质项目。

数据可视化练习
旅行预订系统
组合航班以及酒店 API,达成“搜索,下单,行程管理”全部流程。中大型项目练手最为优先的选择。
实时聊天系统

达成消息即时更新,是前后端联调项目里的典型范例菜鸟教程怎么做网站,适宜磨炼全栈思维。

在线聊天系统
智能镜子
与树莓派相连接,再加上显示器一同打造出那种会说话的镜子,所呈现的内容有天气情况、日历信息,其炫酷的程度直接拉满!

树莓派
聊天机器人(Bot)
搞一个平台的机器人,这个平台包含Slack、微信等等菜鸟教程怎么做网站,它适合用于学习API对接以及事件响应。【进阶项目】——以工程师的视角,自己去实现Git。
对程序员而言起着灵魂作用的,是版本控制系统,要从0开始把简化版Git做好,去明白其中合并等核心机制。


不同语言的从0开始写Git

Write a Git!
手写神经网络
不以框架为依赖,凭借手写来完成前向传播、反向传播。尽管数学方面存在不少难点,然而在做完之后,你对于AI的理解便不再处于仅仅是黑盒的状态,而是有了新的认知。

神经网络结构图
算法可视化器
展现冒泡,显示快速排序,呈现 DFS/BFS 等,以动画形式来展示,这样做不但能够巩固算法知识,而且还是视觉化编程练习,要自建 HTTP 服务器。
弄明白 TCP 连接,知晓 HTTP 报文,清楚状态码等基础观念,自底层构建起 Web 的“根基”,进行协议实现。
围绕学习文件分片,以及种子解析,还有P2P协议展开系统实现,这是网络协议学习与系统实现这一两方面的强力组合,【属于专家级项目】——要挑战技术上限去自己实现Redis。

关于一个内存数据库的初步形态,当你学完之后,就能够领会数据结构,还有并发控制以及缓存机制的底层内在逻辑。实时多人文档编辑器(/ Docs 样式的那种)。
是顶尖面试题里常常出现的常客,涉及到协作算法、冲突合并、用户权限等这类难点,自己制作视频游戏。
2D 可行,3D 也行,锻炼逻辑,锻炼状态机,锻炼图形编程,切实将“写代码”转变为“造世界”。

正在开发的游戏
️写在最后
舍弃再去刷称作了“看了就会”那般的教程,真实的成长仅仅存在一条路径,这条路径便是动手去做项目。
多久你学习了语言这并不是重要的,重要的是,多少有东西你真正“做”了。
哪怕只是一个待办清单,也比收藏夹里100个教程实用得多。
别等灵感来了才动手,先动手,灵感自然就来了。

