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

蒙奇DJEFF · · 1418 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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

  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. 继续探索

生命不息,学习不止~


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:蒙奇DJEFF

查看原文:2019年web开发者路径(后端)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1418 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传