美文网首页Django&VUE全栈开发
2019年web开发者路径(后端)

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

作者: 蒙奇DJEFF | 来源:发表于2019-05-29 20:26 被阅读0次

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

    生命不息,学习不止~

    相关文章

      网友评论

        本文标题:2019年web开发者路径(后端)

        本文链接:https://www.haomeiwen.com/subject/qqqutctx.html