2021年十大值得建设的先进项目

2025-05-24

2021年十大值得建设的先进项目

我整理了一份清单,列出了 2021 年要完成的 10 个高级项目。其中大部分是系统编程项目,但也有一些其他人工智能和网络项目。我说这些项目是高级的,就是高级的。我建议你对用于完成这些项目的编程语言非常熟悉。让我们开始吧!

1.编程语言

替代文本

创建一门解释型或编译型编程语言绝非易事。一些编程语言包括:Python、Rust、Javascript、C++、Elixr 等等。在本项目中,您需要从头开始设计和实现一门解释型或编译型编程语言。如果您希望这个项目不仅仅是两周就能完成,请思考您在使用某些编程语言时遇到的问题以及如何解决这些问题。例如,Rust 是一种非常棒的编程语言,它兼具内存安全性和速度。Rust 的缺点是学习难度高。我会尝试创建一种快速、内存安全,但比 Rust 更容易学习的编程语言。

教程(如果你遇到困难):

Golang:https://interpreterbook.com/
Rust:https://arzg.github.io/lang/
Python:https: //youtu.be/Eythq9848Fg
?list=PLZQftyCk7_SdoVexSmwy_tBgs7P0b97yD 一般:https://online.stanford.edu/courses/soe-ycscs1-compilers

2. 玩具数据库/键、值存储

替代文本

对于这个项目,请创建一个玩具数据库或键值存储。如果您想在构建真正的数据库之前进一步练习数据库的工作原理,我建议您创建一个键值存储、一个 Redis 克隆或一个 Memcached 克隆。由于这些项目比完整的 NoSQL/SQL 数据库规模小,因此非常适合作为中级系统项目。一旦您准备好了,就可以创建一个玩具数据库。这个数据库可以是任何您想要的:SQL 或 NoSQL、关系型或非关系型,等等。

教程(如果你遇到困难):

Python(适合初学者):https://www.freecodecamp.org/news/how-to-write-a-simple-toy-database-in-python-within-minutes-51ff49f47f1/
常规:https://www.coursera.org/specializations/database-systems

3.实现TCP协议

替代文本

在这个项目中,我们将从头开始实现 TCP 协议。如果您不知道 TCP 协议是什么,那么这将是第一步。我建议您阅读:https://tools.ietf.org/html/rfc793。由于 TCP 协议是一种更高级的协议,如果您想处理一些更简单的问题,我建议您实现 FTP 协议,您可以在这里了解它:https://en.wikipedia.org/wiki/File_Transfer_Protocol

教程(如果你遇到困难):

Rust:https://youtu.be/bzja9fQWzdA?
list=PLqbS7AVVErFivDY3iKAQk3_VAm8SXwt1X C++:https://youtu.be/WDn-htpBlnU
?list=PLZo2FfoMkJeEogzRXEJeTb3xpA2RAzwCZ Python(FTP):https://www.tutorialspoint.com/python_network_programming/python_ftp.htm
Node: https: //www.digitalocean.com/community/tutorials/how-to-develop-a-node-js-tcp-server-application-using-pm2-and-nginx-on-ubuntu-16-04

4. 实施生物识别认证

替代文本

第四点,实现生物识别身份验证。如果您还不了解,生物识别身份验证利用用户独特的生物特征来确认其身份。生物识别身份验证的一些示例包括:指纹识别、人脸识别、眼部识别等等。这个项目要求您精通人工智能和机器学习。您可以通过在考勤平台、指纹投票系统等中实现生物识别身份验证来扩展这个项目。

教程(如果你遇到困难):

Python(人脸识别):https://youtu.be/535acCxjHCI
Node(指纹):https://youtu.be/RLpeBil53bk ?list=PLrUF5HNl_xIKDmlYxMXtnQywpbfByH07r

5.并发数据结构

替代文本

在本项目中,我们将创建一个并发数据结构。如果您不知道该创建哪种并发数据结构,我认为查阅一些关于并发数据结构的旧研究论文会很有帮助(通常它们会提供一些伪代码)。这个项目要求您了解并发是什么,并对数据结构有一定的了解。

教程(如果你遇到困难):

Rust(并发哈希图):https://youtu.be/yQFWmGaFBjk?
list=PLqbS7AVVErFj824-6QgnK_Za1187rNfnl 常规:http://www.cs.tau.ac.il/~afek/ConcurrentDS-MS04.pdf

6.创建操作系统

替代文本

这个项目很有趣!这个项目是关于从零开始创建你自己的操作系统。对于这个项目,我建议你使用 Rust、C 或 C++ 等高性能语言,因为创建操作系统可能会稍微降低你的电脑速度。你可以根据需要将操作设置得简单或复杂。你可以添加一些额外的功能,例如:内置一些基础应用,例如备忘录、QuickTime Player 或文本编辑器,以及多任务处理等等。

教程(如果你遇到困难):

Rust:https://os.phil-opp.com/
C:https://github.com/cfenollosa/os-tutorial
C++: https: //github.com/SamyPesse/How-to-Make-a-Computer-Operating-System

7. 使用AES算法进行图像加密

替代文本

不得不说,这个很酷,我下一个项目一定会用它!在这个项目中,我将使用 AES 算法创建一个图像加密工具。我发现这篇博文对理解 AES 算法非常有帮助:https://www.tutorialspoint.com/cryptography/advanced_encryption_standard.htm。你可以将你的图像加密工具应用于一些 Web 应用,例如 Instagram 克隆版,从而扩展这个项目。

教程(如果你遇到困难):

一般:https ://link.springer.com/article/10.1007/s11227-019-02878-7

8.创建文本编辑器

替代文本

在本项目中,你的目标是创建一个功能齐全的文本编辑器。一些文本编辑器的示例:Sublime Text、Notepad++ 等等。你可以创建一个专注于编程(语法高亮、键盘快捷键等)的文本编辑器,例如 Sublime,或者创建一个普通的记事本(更多 Subtitle 适合初学者),例如 Notepad++。

教程(如果你遇到困难):

Rust:https://www.philippflenker.com/hecto/
Java:https://www.geeksforgeeks.org/java-swing-create-a-simple-text-editor/
C: https: //viewsourcecode.org/snaptoken/kilo/
Python: https: //www.codespeedy.com/create-a-text-editor-in-python/
C#: https: //youtu.be/e_ychG719Fk

9. 创建浏览器引擎

替代文本

创建一个功能齐全的浏览器引擎。使其支持 HTML、CSS 和 JS 文件。您可以根据需要将这个项目设计得复杂或简单。对于这个项目,我将重点关注设计方面,因为这是选择浏览器时的一个重要因素。

教程(如果你遇到困难):

Rust:https://youtu.be/brhuVn91EdY?
list=PLJbE2Yu2zumDD5vy2BuSHvFZU0a6RDmgb Java: https: //youtu.be/anoPsxasIBE

10. 创建加密货币

替代文本

为这个项目创建一个加密货币。一些加密货币的例子包括:比特币、以太坊、达世币等。与所有之前的项目一样,您可以选择对这个项目的深入程度。如果您想添加更多高级功能,例如智能合约、挖矿等等,也可以选择其他方式。

教程(如果你遇到困难):

Rust:https://youtu.be/vJdT05zl6jk?
list=PLwnSaD6BDfXL0RiKT_5nOIdxTxZWpPtAv Python:https: //www.freecodecamp.org/news/create-cryptocurrency-using-python/
Elixir:https: //shyr.io/blog/writing-blockchain-elixir
Typescript:https://lhartikk.github.io/


这些项目可真够大的!如果你完成了其中任何一个,我很想知道进展如何!如果你想尝试其中任何一个项目,祝你好运!感谢阅读!

亨利

📰 新闻通讯
🐱 GitHub
🐦 Twitter

文章来源:https://dev.to/hb/10-advanced-projects-to-build-in-2021-425o
PREV
10 个可用于下一个项目的有趣 API
NEXT
35个面向开发者的网站速查表 什么是速查表?面向开发者的速查表