前后端开发需要学什么,后端开发需要具备哪些

  前后端开发需要学什么,后端开发需要具备哪些

  现在的网站发展和过去有很大的不同,有很多东西会让进入这个领域的人感到困惑。这也是我们写这一系列文章——的原因,指导你如何胜任开发过程中的特定角色。

  大约一周前,我们发表了一篇名为《现代前端开发-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. 关系型数据库

  学会使用关系数据库保存你的数据。学习之前,先掌握数据库相关的术语。例如:键、索引、规范化、元组等。

  有许多数据库可供选择。你只需要掌握一个,其他的就变得很简单了。比较流行的有MySQL,MariaDB(MySQL分支,很像它)和PostgreSQL。选择MySQL开始。

  10. 动手时间 - 实践

  是时候把学过的东西整合一下了。

  创建一个简单的应用程序,并使用你所学到的一切。要实现一个想法,可能需要创建一个简单的博客网站,并实现以下功能:

  *账户系统3354注册登录

  *注册用户可以创建博客。

  *用户可以查看自己创建的所有博客。

  *用户可以删除自己发布的博客。

  *确保用户只能看到自己的博客,而不能看到其他人的博客。

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

  *为查询创建索引。查询以确保索引生效。

  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的白皮书。(罗伊菲尔丁).要明白REST不仅仅是HTTP APIs。

  16. 学习不同的认证方法

  学习不同的认证和认证方法。你需要了解它们是什么,它们的区别,以及它们适用的场景。

  * OAuth -开放认证

  *基本认证

  *令牌认证

  * JWT - JSON网络令牌

  * OpenID

  17. 消息代理

  学习消息代码,并知道何时以及为何使用它们。可供选择的有很多,最著名的是RabbitMQ Kafka。建议从RabbitMQ开始学习。

  18. 搜索引擎

  随着应用规模的增长,简单的查询已经不能满足要求。这时候就需要用搜索引擎了。选择也很多,各有特色。

  19. 学习使用Docker(容器)

  Docker可以为你的发展提供极大的便利。它可以使您的开发环境与生产环境保持一致,保持您的系统整洁,加快您的编码和测试部署。Docker的好处,请自己谷歌一下。从现在开始,学习Docker。

  20. Web服务器的知识

  此时,您可能已经处理了与服务器相关的问题。这一步主要是了解不同服务器之间的区别、限制以及不同的调优方法。

  21. 学习Web Sockets

  虽然不是必须的,但是有Web Sockets的技能是有好处的。学习编写实时web应用程序。在博客应用程序中,博客列表可以即时更新。

  22. 学习GraphQL

  学习GraphQl的API。了解它和REST的区别,然后为什么叫REST 2.0。

  23. 研究Graph数据库

  图模型在处理数据之间的关系时具有很好的灵活性。图形数据库提供了高速高效的访问和查询。了解中学或OrientDB。

  24. 不停探索

  在你学习和实践的过程中,一定会遇到路线图中没有提到的东西。你只需要保持开放和渴望去学习新的东西。

  永远记住,学习的关键是实践。多做!寒石,你可能会不舒服。有了你的坚持和时间,你会越来越好。

  以上为转载,主要转载于339 MP。微信。QQ。com/s吗?-biz=mza 3 otgymdcwng=mid=2650636791 idx=2sn=08 a 57 b 9579 cf 24f 31 CDC 429 DD 54 e 4845 chsm=87 a 4833 ab 0d 30 a 2 cc 07 c 9 AC 0 a 9 DC 453280706 cb2 d 8 22 FB 0409 db 4 D2 C3 CFA 12309 c 91108 a 94

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • Win8微软拼音输入法新版本功能介绍
  • django重新生成迁移,django迁移文件是什么
  • 深度win7下如何查看笔记本配置
  • Win11删除临时文件方法教程
  • windows10英文版中文乱码,win10电脑出现乱码字体怎么解决
  • windows10摄像头不能用,win10如何连接外置摄像头
  • Python怎么判断一个数是不是质数,用python判断质数
  • java图片不显示,Java中图片运行图片显示不了咋回事
  • corel painter2020教程,Corel Painter下载
  • 服装cad如何画男衬衣版型结构图视频,服装cad如何画男衬衣版型结构图片
  • windows11 显卡驱动,win 10 重装 显卡驱动
  • 魔兽世界大脚法术计时器,魔兽世界大脚插件技能计时调整位置
  • unix命令大全详解,unix系统指令汇总
  • windows10怎么重装系统不用U盘,win10怎么装系统
  • 无法在驱动器0的分区上安装windows怎么回事 无法在驱动器0的分区上安装windows解决方法
  • 留言与评论(共有 条评论)
       
    验证码: