程序员必备:关注开源项目,轻松提升技能!

发表时间: 2024-11-19 14:44

如果你想持续的更新提升你的技术能力,那么这些开源项目你一定不能错过。这篇文章中我会按照以下几个维度来推荐。

  • 学习路径
  • 书籍、博客、网站
  • 算法
  • 设计模式
  • 系统设计
  • 面试

学习路径

在学习路径方面包含了两个开源项目,当你在学习一门语言或者工具时,它么会为你需要准备的基础知识提供方向。

1、developer-roadmap

该开源项目提供了编程语言、开发框架、运维、数据库、人工智能、区块链等等几乎所有方面的学习路径。

另外,它还有对应的网站,针对每种学习内容都提供了详细的节点以及对应的资源。针对每个节点,都有详细的学习资源。我们以人工智能为例子,看看它列出的学习路径

2、awesome-roadmaps

第二个是awesome-roadmaps,该开源项目包含了编程语言、WEB开发、移动端开发、游戏开发、人工智能等多个方面。

书籍、博客、网站

这部分的开源项目主要介绍了好的书籍、博客、网站,你可以通过阅读相关的内容来夯实你的技术框架。

3、free-programming-books

该开源项目中收集了软件相关的很多的书籍,并且按照编程语言及按照主题对书籍进行了分类;除此之外它还提供了不同语言的版本,我们看看中文版整理的内容。

4、kilimchoi/engineering-blogs

该开源项目按照公司、个人、组织、产品多个维度收集了相关的博客

5、Best-websites-a-programmer-should-visit

收集了新闻、编码风格、面试准备、AI学习、计算机书籍等多个方面的网站

6、freeCodeCamp

这是一个免费学习编程的最大的开源项目,包含了编程的所有的方面,该开源项目也包含了包括认证、学习平台等多个方面的资源。

算法

7、TheAlgorithms

按照编程语言分类实现了各种算法

8、awesome-algorithms

分享了算法相关的网站、视频播放列表、在线课程、书籍、SDK、工具

设计模式

9、design-patterns-for-humans

按照创建型模式、结构型模式、行为型模式分类,对每种设计模式给出解释以及示列。

10、awesome-design-patterns

该开源项目分享了云架构、微服务、分布式、大数据、机器学习、移动端等等不同场景下的解决方案。

系统设计

通过这些开源项目的内容,会加深你在系统的可扩展、性能、数据存储等多个方面理解。

11、ByteByteGoHq/system-design-101

这个是由ByteByteGo分享的关于系统设计的一个开源项目,包含了服务通信协议、CI/CD、架构设计模式、数据库、缓存、微服务架构、支付系统、DevOps、GIT、云服务、安全等多个方面。针对每个系列都有图解。

12、system-design-primer

system-design-101主要偏向于架构设计的入门,但是system-design-primer适合全面的去学习架构设计,不光分享了架构设计的内容,还分享了学习架构知识的先后顺序以及学习方法。另外,此开源项目中还分享了多个互联网公司的技术博客。

13、InterviewReady/system-design-resources

分享了系统设计的资源,包含了系统设计的方方面面,非常适合在面试的时候以及在丰富自己的知识体系的时候查看。

面试

14、kdn251/interviews

该开源项目列举了面试相关的一些资源,包括了在线练习、视频教程、面试书籍等等。

15DopplerHQ/awesome-interview-questions

该开源项目梳理了编程语言、编程框架、系统设计、数据结构与算法、网络、安全、操作系统多个方面的常见的面试题。