如何成为一名后端开发工程师( 二 )


Step 8:实践为目前已完成的任务编写单元测试,尤其是 Step 6 中的任务 。
学习如何计算代码的测试覆盖率 。
Step 9:学习关系型数据库了解如何将数据持久化到关系型数据库中,在继续学习之前,先了解相关数据库术语,例如:键、索引、规范化、元组(tuples)等 。
这里有几种数据库供选择,不过你学会了一个,学习其他数据库应该很容易 。如果你想学的 MySQL、MariaDB(Mysql 一个分支)、PostgreSQL,可以先从 Mysql 入手 。
Step 10:练习时间是时候实际应用你所学的知识了 。
用目前所学的内容创建一个简单的应用程序 。随便挑一个 idea 进行实现,比如创建一个简单的博客,实现如下功能:

  • 用户账号:登陆和注册
  • 注册者可以发布一个帖子
  • 用户可以查看他所发布的所有帖子
  • 他们可以删除自己的帖子
  • 确保用户只能看到自己发布的帖子,不能看到其他人的
  • 为这个应用编写单元测试和集成测试
  • 为这些查询服务做索引,分析这些查询索引,确保已经使用了索引优化
Step 11:学习一个框架根据项目和所选的语言,你可能需要一个框架,不同语言有不同的选择,请根据所选语言和适用范围进行选择 。
如果你选择 PHP,我建议你使用 Laravel 或者 Symfony,对于微框架,建议你使用 Luman 或者 Slim 。如果你选择 Node.js,则有不同的选择,不过最主要的是 Express.js 。
Step 12:练习时间为了完成这个步骤,你必须确保完成了步骤 10 的内容,以及选择了特定框架,实现相关测试 。
Step 13:学习一个 NoSQL 数据库首先了解 NoSQL 数据库是什么,和关系型数据库有什么不同,以及为什么需要它们 。有几种不同的数据库可供选择,先稍微研究一下,对比它们之间功能和差异 。常见的 NoSQLogic 数据库有:MongoDB、Cassandra、RethinkDB 和 Couchbase 。如果你想选一个,可以先从 MongoDB 入手 。
Step 14:缓存了解如何在程序中实现应用级的缓存 。了解如何使用 redis 或 Memcached,以及如何在 Step 12 中构建的应用程序内实现缓存 。
Step 15:创建 RESTful API阅读 Roy Fielding 的论文中有关 REST 的部分,了解 REST 概念,并学习如何开发 RESTful API,如果别人说 REST 只适用于 HTTP API,你要能与之辩论 。
Step 16:学会不同的授权方法(Auth Methods)你应该了解身份验证和授权方法,它们是什么,有何不同以及何时应该优先选择哪种?
  • OAuth - Open Authentication
  • Basic Authentication
  • Token Authentication
  • JWT - JSON Web Tokens
  • OpenID
Step 17:消息中间件了解消息中间件,以及何时如何使用它们,这里有多个选择,不过比较突出的就是 RabbitMQ 和 Kafka 。如果你想选择一个,可以从 RabbitMQ 入手 。
Step 18:搜索引擎随着应用增长,关系型数据库和 NoSQL 数据库的简单查询功能以及不能满足应用需求,你不得不使用搜索引擎,上图有几个选项,每个选项都有自己的差异 。
Step 19:学习使用 Docker无论是生产环境还是镜像环境,保持一致的操作系统(类型、版本)可以加快编码、测试或部署速度,Docker 可以帮你实现这部分工作,极大提高开发效率,在这个步骤中你需要学习如何使用 Docker 。
Step 20:Web 服务器相关知识如果你已经到了这一步,之前的步骤中你可能就需要 Web Server 相关的知识了 。这个步骤主要是了解不同 Web 服务器直接的差异、限制和不同的可选配置选项,以及如何利用这些限制来优化编码 。
Step 21:学会如何使用 Web Sockets虽然这部分不是必须的,但在学会相关的知识是有益的 。了解如何使用 Web Socket 实现实时 Web 服务,并实现一个简单的程序 。你可以在上面的博客应用程序中使用 Web Socket 来实时更新文章列表 。
Step 22:学习 GraphQL学习如何使用 GraphQL 开发 API,了解它和 REST的差异,以及为什么 GraphQL 被称为 REST 2.0
Step 23:学习图数据库(Graph Databases)图模型可以以一种非常灵活的方式来处理数据中的关系,图数据库提供了快速、有效的存储、检索、数据查询的方式,了解如何使用 Neo4j 或 OrientDB 。
Step 24:保持探索精神在你学习和练习的过程中肯定会遇到本文路线图中未涵盖的内容,保持开放的心态学习新事物 。
记住关键是尽可能多地练习,一开始可能比较困难,你觉得自己什么都没有掌握,但这是正常现象,随着时间流逝,你会觉得自己越来越好 。


推荐阅读