2019年web开发者路径(后端)

  1. 选择语言

    • 脚本语言:Python, Ruby, PHP, Node.js( TypeScript可选 )
    • 函数式编程语言:Elixir, Scala, Erlang, Clojure, Haskell…
    • 其他选择:Java, .NET, Golang, Rust…
      初学者,如果刚刚进入后端,我会推荐你选择一种脚本语言。快速而容易入门,请学习Node.js或者 PHP。如果你已经从事后端使用了某种脚本语言,那就不要再选择其他脚本语言了,可以看看Golang, RustClojure,它肯定会给你一个新的视角
  2. 实践所学
    练习,使用所选语言做一些命令行的应用程序,实现一些你使用的命令,如:“ls” .
    想想你每天所做的任务,尝试将他们自动化

  3. 学习包管理
    学习如何使用你学习语言的包管理, 例如:PHP有composer, Node.js有NPMYarn, Python有pip,Ruby有gems等等。
    包管理会给你的应用程序带来外部依赖, 去发布你自己的包

  4. 标准与最佳实践
    每种语言都有自己的标准和最佳实践。例如:PHP 有 PHP-FIG 和 PSRs 等等。

  5. 制作并发布一些包/库,贡献一些开源项目
    制作并发布包给其他人使用,且确保遵循了你目前所学的标准和最佳实践。
    搜索一些github上的项目,在开源项目中打开一些Pull requests。 一些想法是:重构实施你学到的最好的实践。 查看进入公开issues并尝试解决。添加任何其他功能。

  6. 学习测试
    测试类型有很多,现在学习如何写所选语言的单元测试集成测试。要理解不同的测试术语。
    PHP,有PHPUnit, PHPSpec…
    Node.js,有Mocha,Chal,Sinon…

  7. 为上面的实践步骤写测试

  8. 学习关系型数据库
    种类有很多,如:Oracle、MysqlMariaDBPostgreSQL、MSSQL。学习一个,其他应该也会容易。现在使用MySQL学习, 当然也要学习它们之间的区别和使用案例。

  9. 实践实践
    创建一个简单应用,使用你所学的知识。它应该含有,登录注册,以及CURD。例如:创建一个博客,任何人都可以注册,登录发帖,修改,帖子列表等。

  10. 学习一个框架
    这取决于你选择的项目以及语言,你也可能不需要框架。
    PHP,流行的Laravel框架,或Symfony,Slim,lumen等,(国产ThinkPHPYII2等)。
    Node.jsExpress.js, Hapi.js
    Golang,更偏爱直接编写。

11.实践实践
运用你选择的框架,实现步骤9相同的应用。

12.学习一个Nosql数据库
首先理解Nosql是什么,它与关系型数据库的区别,为什么它们会被使用。如果要选择学习,那就选MongoDB,不要问为什么,问就是…
学习MongoDB的同时,也要知道与其他RethinkDB, Cassandra,Couchbase的区别。

13.缓存
学习如何使用RedisMemcached,实现应用级缓存。
如果你学会了,别忘记应用到步骤11的实践中。

14.创建RESTful APIs
理解REST,学习如何创建RESTful风格的APIs,读读原文介绍。

  1. 认证/授权方式
  • OAuth
  • Basic Authentication
  • Token Authentication
  • JWT
  • OpenID
  1. Message Brokers消息代理
    学习消息代理,理解为什么,然后选择一个。当然,选择的种类有很多,但我会用RabbitMQ或者 Kafka。如果你想选一个,现在那就学习用RabbitMQ吧。

  2. 学习搜索引擎
    随着应用的发展,数据库上简单的查询已经不能胜任, 你不得不求助搜索引擎。选择有很多,它们都有各自的不同之处。
    ElasticSearch, Solr或 Sphinx

  3. 学习如何使用Docker

  4. Web服务器的学习
    有很多的不同选择,理解它们的区别。
    Apache, Nginx, Caddy, MS IIS

  5. 学习使用Web Sockets

  6. 学习GraphQL
    虽然它不是必需的,但随便看看它,看看它是什么以及它们为什么称它为新的REST

  7. 看看图形数据库
    虽然也不是必须的,但应该做点了解

  8. 所有以上没有提到的事
    Profiling,Static Analysis,DDD,SOAP. 搞清楚它们

  9. 继续探索

来源:https://github.com/kamranahmedse/developer-roadmap
其中包含前、后端和开发运维,在此只译了后端路线。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值