24步成为后端开发工程师(2018版)

2023-05-24 0 425

24步成为后端开发工程师(2018版)

Python部族(python.freelycode.com)组织机构译者,明令禁止转发,热烈欢迎转贴。

那时的中文网站合作开发早已大相同过往,有许多的小东西会对步入此应用领域的人导致疑惑,这是他们写这系列产品该文的其原因——给我们辅导怎样在合作开发操作过程中独当一面某一的配角。

约1周从前,他们正式发布了一则名叫“当代后端合作开发–2018”,与此同时他们允诺了会正式发布一则“后端和合作开发网络管理蓝图”。落空而此允诺,这首诗是有关当代后端合作开发人员的。如果你还没查阅过后端合作开发蓝图,能去嘿嘿先。

在此之后,后端蓝图是单纯蛮横的得出了你须要掌控的控制技术,而没明晰的路径和自学的科学合理次序。他们像后端那样以渐进的形式重画了后端蓝图,期望给你更快的辅导。

嘿嘿,他们早已开始吧。详尽的蓝图在上面的相片中,与此同时就要逐渐的详尽传授。

24步成为后端开发工程师(2018版)

24步成为后端开发工程师(2018版)

24步成为后端开发工程师(2018版)

24步成为后端开发工程师(2018版)

24步成为后端开发工程师(2018版)

上面的章节,他们将之分解开来逐渐传授。

早已开始之前,虽然他们没将HTML/CSS列举在蓝图中,但是他们还是建议用户具备基础的HTML/CSS技能,至少能够写一些基本的HTML/CSS。

1. 自学一门语言

语言的选择有许多种,为了方便您的选择,我将它们进行了分类。对于刚接触后端合作开发的新手,我强烈建议你们选择一门脚本语言,因为它们的需求许多且上手较快。最好的选择当然是Python,它的需求正在急速增长,有大量的职位可供选择。

2. 学以致用

最后的自学方法是动手实践。一旦你选择了语言,然后对其有了基本的了解,早已开始使用它。运用它进行尽可能多的练习,写一些小程序练手,熟悉它。上面是一些小例子,能帮助你早已开始。

    *  实现一些bash中你常用的命令, 比如ls的功能

*  写一个从reddit的/r/programming频道抓取数据并将之保存为JSON格式的小程序

    *  写一个程序将目录结构保存为JSON文件。

    *  根据上面生成的JSON文件,生成目录结构。

    *  想想日常工作中的任务,尝试将之自动化。

3. 自学包管理器

一旦你了解了语言的基础,与此同时用它写过些示例程序,接着自学该语言的包管理器。包管理器能帮助你使用第三方库,与此同时你也能通过它正式发布自己的库以供他人使用。

假设你选择的是Python,你应该早已自学了Pip。Node.js有NPM或Yarn、PHP有Composer,Ruby有RubyGems。无论你选择了什么,进一步去自学它的包管理。

4. 规范和最佳实践

每一种语言有其规范和最佳实践。你须要掌控这个小东西。比如Python有PEP8跟Google Python代码规范。Node.js各社区有相同的规范。其他语言的状况也大同小异。

5. 安全

务必要掌控安全最佳实践。读读OWASP指南,了解相同的安全问题,与此同时要知道假如避免这类问题。(你选择的语言)

6. 实践

现在你早已掌控了语言基础,最佳实践,安全相关和包管理,你能去合作开发自己的库供他人使用了。假如你用Python,你须要正式发布在Pypi,假如是Node.js,你须要正式发布在Npm。

到此,你能在Github上找一些项目,参与进去。

    *  重构,实现你学到的最佳实践

    *  修复已知的问题

    *  添加新的功能

7. 测试

测试分许多种,要了解每一种测试的类型和其目的。但是现在,首先自学单元测试和综合测试,应用在你的程序中。此外,还要了解相同的测试术语,比如mocks,stubs等等。

8. 实践-测试

为你所写的所有程序编写单元测试,特别是在Github上参与的项目。

与此同时,自学覆盖率的概念,计算测试代码的覆盖率。

9. 关系型数据库

自学利用关系型数据库保存你的数据。在自学之前,首先掌控数据库相关的术语。比如: keys,indexes,normalization,tuples等。

可供选择的数据库许多,你只须要掌控一个,其他的也会变得很单纯。流行的有MySQL,MariaDB(MySQL分支,与之非常相似),PostgreSQL。推荐选择MySQL早已开始。

10. 动手时间 – 实践

到了将所学融合的时候了。

创建一个单纯的应用,运用你所学的一切。实现一个想法,可能是创建一个单纯的博客站点,实现一下的特性:

    *  账户系统——注册&登陆

*  注册用户能创建blog

    *  用户能查阅自己创建的所有的blog

    *  用户能删除自己正式发布的blog

    *  保证用户只能看到自己正式发布的blog,不能看其他人的

    *  为应用编写单元/综合测试

*  为查询创建索引。分析查询,确保索引生效

11. 自学一个框架

根据你的项目类型和你的语言的相同,你可能会须要一个框架辅助合作开发。(也可能不须要)。每种语言都有相同的选择,选择一个合适的即可。

假如你选择了Python,建议你选择Django,对于微框架,建议Flask。

对于Node.js,最知名的框架是Express.js。

12. 实践-框架

利用选择的框架重构你的博客应用。不要忘记了集成测试代码进来。

13. 自学NoSQL(not only SQL)数据库

首先了解什么是NoSQL,和它们与关系型数据库的差别,与此同时为什么须要它们。NoSQL数据库也有多种选择,了解并比较它们之间的特性和相同之处。常用的有MongoDB,Cassandra,RethinkDB,Couchbase。建议选择MongoDB早已开始。

14. 缓存

自学怎样在你的程序中实现应用级的缓存。了解怎样利用Redis或Memcached实现缓存,与此同时在你的博客应用中实现缓存功能。

15. 创建RESTful APIs

了解REST,自学怎样编写RESTful APIs,阅读有关REST的白皮书。(By Roy Fielding)。理解REST不仅仅是HTTP APIs。

16. 自学相同的认证方法

自学相同的认证和认证形式。你须要明白它们是什么,它们的相同点,和它们适用的场景。

    *  OAuth–Open Authentication

*  Basic Authentication

    *  Token Authentication

    *  JWT–JSON Web Tokens

    *  OpenID

17. 消息代理

自学消息代码,了解什么时候和为什么使用它们。有许多可供选择,最知名的是RabbitMQ & Kafka。建议从RabbitMQ早已开始自学。

18. 搜索引擎

随着应用程序规模的增长,单纯的查询早已无法满足要求。这个时候,你须要用到搜索引擎。同样有多种选择,每一种有自己的特点。

19. 自学使用Docker(容器)

Docker能为你的合作开发提供巨大的便利。它能让你的合作开发环境与生产环境保持一致,能让你的系统保持干净,能加速你的编码,能测试部署。Docker的好处,请自行google。从现在早已开始,自学Docker。

20. Web服务器的知识

到了这个时候,你可能早已处理过服务器相关的问题。而此步骤主要是了解相同的服务器之间的差异,局限,和相同的调优方法。

21. 自学Web Sockets

虽然不是必须,但是具备Web Sockets的技能是有好处的。自学编写实时的web应用。能在博客应用中,实现即时更新blog列表。

22. 自学GraphQL

自学GraphQl的APIs。了解它与REST的相同,然后为什么它被称之为REST 2.0。

23. 研究Graph数据库

Graph模型具备非常好的灵活性——在处理数据间的关系的时候。Graph数据库提供高速&高效的存取和查询。自学了解Neo4j或者OrientDB。

24. 不停探索

在你的自学和实践操作过程中,肯定会碰到蓝图里没提及的小东西。你只须要保持开放和饥渴去自学新的小东西。

时刻谨记,自学的关键是实践。多动手!刚早已开始的时候,你可能会感觉不大好,随着你的坚持和时间的推移,你会变得越来越好。

英文原文:https://ogmcsrgk5.qnssl.com/vcdn/1/%E6%8E%A8%E9%80%81%E6%96%87%E7%AB%A0%E9%95%BF%E5%9B%BE/201804/modern-backend-developer-in-2018-6b3f7b5f8b9.png 译者:rApeNB

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务