这是一系列高赞文章,详细介绍了前端、后端、DevOps 的路线图,在 Github 上也是一个高星项目 。
现在的 Web 开发与几年前完全不同 。有很多新东西让刚进入 Web 领域的开发人员感到很困惑 。这也是我决定逐步制作这个直观的指南来展示 Web 概况的原因之一,可以让任何人都清楚他在 Web 开发中所处的角色和必备的条件 。
大约一周前,我发布了一篇文章:如何成为一名前端工程师,我在里面承诺会发布 Backend 和 DevOps 相关的路线图,这篇文章将实现这个诺言,是关于现代后端开发人员的 。
在这之前,后端路线图只是对技术的全面介绍、推荐,没有遵循明确的顺序,类似于之前的前端路线图,提供了分步指南,让你对此有一个更好的了解 。我们还在写 DevOps 相关的路线图,希望下周能够发布,同时会发布相关文章,这里是我们存放这些项目的仓库 。
文章插图
事不宜迟,让我们开始吧 。你可以在下图中找到详细的路线图,但我也会在下文中解释说明相关步骤 。
文章插图
我们将对其进行分解,并对每个步骤做详细说明 。
在此之前,尽管上图中没有列出 html/css 相关的知识,还是建议你至少了解一些相关知识并懂得如何编写一些基本的 HTML/CSS 。
Step 1:学习一门语言语言有很多种选择,这里我将它们分为几类,以方便你做选择,对于刚开始进行后端开发的初学者,我建议你选择任何一种脚本语言,因为有很多需求需要用到它们,而且脚本语言容易快速入门 。如果你有一些前端知识,则可能发现 Node.js 更加容易,且有巨大的就业市场 。
如果你使用某种脚本语言做后端,则建议你不要选择其他的脚本语言了,而是选择其他函数式或多范式语言 。例如,你已经在使用 php 或 Node.js,不要再使用 Python 或 Ruby,而应该尝试使用 Erlang 或 Golang 。这样能够帮你拓宽思路和视野 。
Step 2:练习你所学的东西没有比练习更好的学习方法了,一旦你对所选的语言有一定的概念和基础了解,就可以开始使用了,尽可能多地写一些小型程序,这里有一些建议供你参考:
- 实现一些自己用过的 Bash 命令,比如 ls 功能
- 编写一个命令,获取 Reddit 上有关 r/programming 的帖子,并以 JSON 格式保存
- 编写一个命令,将目录结构以 JSON 格式进行保存,比如: 执行 jsonify dir-name 可以保存 dir-name 文件目录结构
- 编写一个命令,读取上面保存的 JSON 目录结构,并新建一个类似的文件目录
- 考虑你每天要做的一些任务,并尝试用代码进行自动化
如果你选择 PHP,则必须学习 Composer,Node.js 则需要学习 npm 或 yarn,Python 则是 pip,Ruby 则是 RubyGems,无论你选择哪种语言,都需要学习相关的包管理软件 。
Step 4:相关标准和最佳实践每种语言都有自己的标准和最佳实践,根据你选择的语言学习这些标准和实践 。例如,PHP 的 PHP-FIG 和 PSR,Node.js 的社区指南,其他语言也是如此 。
Step 5:安全确保你阅读了安全相关的最佳实践,建议你阅读 OWASP(Open Web Application Security Project) 指南,了解不同的安全问题,以及你选择的语言如何解决这些问题 。
Step 6:练习在你了解了语言、标准、最佳实践、包管理和安全相关的基础知识之后,开始创建一个软件包,并将其分发出去(确保你遵循了相关标准和最佳实践) 。例如,如果选择了 PHP,则将其发布到 Packagist 上,如果选择了 Node.js 则发布到 npm 仓库中,以此类推 。
在你完成这些步骤之后,可以在 Github 上搜索一些项目,尝试发一个 PR(pull request):
- 用你所学的最佳实践重构一部分代码
- 看看项目中的 open issues,尝试解决
- 为项目添加一个拓展功能
推荐阅读
- 螃蟹怎样挑选肥的 如何挑选螃蟹肥瘦
- 衣服染色用84怎么洗掉 84染色的衣服怎么洗掉如何用墨水上色
- 薄荷饮品的制作,如何制作薄荷红茶
- 如何成功转行AI算法工程师
- 浅表性胃炎如何根治,慢性浅表性胃炎六如何根治
- 如何用python实现自动化办公
- 如何把青香蕉变成黄香蕉 香蕉发青怎么变黄
- 如何用三明治机煎蛋 三明治机怎么煎鸡蛋吗
- 如何购买二手车呢
- 新手如何购买基金呢