JavaScript 后端开发者必须跨的 10 道门槛

摘要在IT行业中,后端开发者发挥着至关重要的作用。尤其是在技术变革日新月异的时代,更需要后端开发者不断提升自我的技能,但是,无论技术迭代如何迅速,后端开发人员的“基本功”都不可以落下。

本文展开讨论成为JavaScript堆栈后端开发人员,必须经历的那些事……

原文链接

https://billypentester.medium.com/ultimate-10-stages-to-master-backend-development-f6f65f22a327声明:本文为CSDN翻译,转载请注明来源。

作者 | Bilal Ahmad

译者 | 朱珂欣 责编 | 屠敏

出品 | CSDN(ID:CSDNnews)

随着时代的发展,越来越多编程语言和开发工具的出现,让开发者能够方便且快捷地开发和部署应用程序。其中,后端开发多是指服务器端编程,开发人员通过创建应用程序体系结构和业务逻辑,以此处理和存储数据并输出有用的信息。

毋庸置疑,成为后端开发人员必然有门槛,掌握Web和操作系统的基础知识、了解数据库、计算机网络协议、数据结构和算法、开发工具等,逐渐成为后端开发人员的入门技能。后端编程语言、框架和堆栈也很多,例如JavaScript、Python、PHP、Java、Ruby等。那么,成为JavaScript堆栈后端开发人员,需要面临那几个必须经历的阶段呢?

第1阶段:掌握Web基础知识

在开发人员的初始阶段,学习Web的基础知识是至关重要的。因为拥有Web概念可以帮助开发人员更好地了解互联网的工作原理,例如使用哪些协议、如何传递消息等。

首当其冲的是了解Web中的一些基本概念,例如HTTP的概念、HTTP的基本方面、HTTP 请求的类型及作用、客户端和服务器模型、OSI 模型、DNS 工作原理等。

第2阶段:了解操作系统知识

操作系统,管理着计算机上的所有软件和硬件。它执行内存和进程管理,处理输入和输出等。通过运行操作系统,进一步运行完整 Web 应用的服务器。因此,开发人员有必要了解操作系统整体实现,以最大限度地提高性能并优化内存。

在此阶段,开发者需要了解操作系统体系结构、文件系统、基本CLI命令、内存和进程管理、操作系统线程等。

第3阶段:学习后端框架和语言

在开发者学习要使用的后端框架和语言的过程中,第一步是学习JavaScript。学习JavaScript的基础知识,例如数据类型、循环、选择、函数、对象、类、数组、字符串、正则表达式等。

JavaScript 由ECMAScript、文档对象模型(DOM)和浏览器对象模型(BOM)三个部分组成。ECMAScript是JavaScript所基于的脚本语言规范。它引入了新的JavaScript功能,如箭头函数,异步等待,模板文本等,这些功能可以对有效的编码很有帮助。

Node.js是一个开源的、跨平台的、后端的JavaScript运行时环境,它在JavaScript引擎上运行并执行JavaScript代码。开发人员可以学习基本的节点JavaScript模块,例如fs、path、os等。

第4阶段:使用服务器框架和API开发

首先,服务器端框架作为后端开发中的主要角色,它是前端和后端(节点应用)之间的通信网关,使编写、维护和扩展Web应用更加容易。

服务器端框架提供工具和库来实现简单、常见的开发任务,包括路由处理,数据库交互,会话支持用户验证,格式化输出,提高安全性应对网络攻击,也能使开发人员完全控制传入和传出的请求/响应,提供端点,执行中间件功能等。

其次,API开发作为一种实践阶段,开发人员将学习如何使用Express JS和节点JS创建简单的REST API并执行CRUD操作。使用快速中间件验证传入请求,使用路由器处理端点等。

Postman 在测试 API 端点方面很有帮助。添加更多内容并了解 swagger 和 Open API。

第5阶段:使用模板引擎

通常,前端(React应用程序)和后端(快速应用程序)之间的通信是使用MERN堆栈中的API调用完成的。客户端从服务器请求数据,服务器将请求的数据发送回客户端。

但是,如果开发人员的项目很小,并且对 React 或其他前端框架不了解,可以使用模板引擎。

模板引擎可帮助开发人员创建静态HTML模板文件,并在运行时将模板文件中的变量替换为实际值,这使其成为动态网站。模板引擎与Express JS的集成一起工作。它从数据库获取数据值,并可以通过HTML 模板文件呈现这些值。

第6阶段:了解数据库

数据库在后端开发中发挥着巨大的作用。数据库用于以结构化方式存储数据以及访问和维护数据。

后端应用程序可以通过使用MongoDB,MysqL等第三方npm包查询数据库来直接与数据库交互。如果开发人员不了解sql数据库语言,则需要学习任何ORM/ODM作为中间件,将对象方法转换为复杂的数据库查询,这些中间件为开发人员提供了一个名为模型的完整结构,用于在将数据输入数据库之前验证数据。此外,它在对象模型之上提供了一个额外的安全层。

第7阶段:关注安全性

安全性是企业级 Web 应用程序的一大关注点。单个漏洞会导致数据泄露或应用程序故障。Web 应用中应有适当的验证、身份验证和授权。

因此,开发人员在该阶段可能会涉及促进应用更安全的一些技术,例如:

JWT:使用令牌防止对受保护资源的意外访问;

Cookie:用于存储有关访问网页的信息;

会话:用于维护与服务器的安全连接

CORS:使用CORS从一个网站向另一个网站发出请求;

哈希:使用中间件通过salt对密码进行哈希处理;

加密/解密:使用中间件加密和解密重要数据;

SSL:使用SSL认证来保护事务;

限制:使用中间件应用请求限制,防止DDOS攻击。

第8阶段:使用消息代理

现代应用程序非常复杂,由于时间复杂度大,cpu密集型操作、大量数据处理以及多个服务之间的API通信存在耗时的问题,会带来糟糕的用户体验。

消息代理成为帮助克服其中一些困难的解决方案之一。消息代理由 3 个组件组成:

制作人:生产者发送有关主题的消息。一个或多个发布者可以针对同一主题发布内容

消费者:订阅订阅主题,发布到该主题的所有消息都将由该主题的所有订阅者接收;

队列/主题:队列保存由生产者发布并由消费者访问的消息。

第9阶段:测试完整的API

在实时服务器上部署Web应用程序之前,为了减少单个错误的输入或缺少数据导致正在运行的服务器出现故障,需要进行测试。

测试可以根据多个标准在多个级别上进行,开发人员可以检查Web应用是否返回了正确的状态代码错误消息、数据等。

在这个阶段,开发人员的主要任务是使用Jest测试完整的API。Jest是一个著名的单元测试框架,用于测试Web应用程序和API。它提供了多种方法自动化测试过程,检查对错误或缺失数据的响应等。

第10阶段:实时服务器/云上部署Web应用程序

在部署Web应用之前,开发人员需要学习Git、GitHub的操作以及版本控制工具的使用,以使部署灵活且可扩展。

Git可以用于版本控制,通过创建多个分支,跟踪源代码中的更改,并使多个开发人员能够协同工作。GitHub是一个用于版本控制和协作的代码托管平台,可以允许开发人员和其他人共同处理项目。GitHub操作可帮助您自动执行软件开发工作流。单个操作是可重用的代码段,可用于在 GitHub上生成、测试、打包或部署项目。它还可用于自动执行工作流程的任何步骤。部署完整的Web应用非常复杂。开发者还需要一个专用服务器来响应HTTP请求,并使用在线数据库

总的来说,从应用程序开发最初阶段的掌握Web基础知识,到最后阶段在实时服务器/云上部署Web应用程序。JavaScript堆栈后端开发者在点滴的积累中,学习和掌握了与应用开发相关的实践经验。然而,无论是对于后端开发的初学者还是对有经验工程师,无论迈过多少个阶段,学习之路都不会中断。

原文地址:https://www.toutiao.com/article/7140162620040217127/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

编程头条相关文章

在前面的教程中,我们已经看到了如何使用 Spring Data 分页 Web 支持。在本教程中,我们将了解如何使用排序支持。在基于 Web 的应用程序中应用排序主要有两种方法:按可分页处理程序参数排序我们在前面的示例中使用过,但没有任何排序查询参数。除了分页信息外,还可以设置排序信息(查看这个和)。按排序处理程序参数排序我们也可以用作控制器方法参数(查看我们的)。@SortDefault注释此批注定义将 Sort 实例注入控制器处理程序方法时要使用的默认排序选项。
因此,让我们定义一个简单的存储库接口,该接口适用于。正如我们在介绍中提到的,Spring Data Web 支持允许我们在控制器方法中使用请求参数来构建 Querydsl 的。为了了解如何使用 Spring Data Web 支持来改进控制器的功能,让我们创建一个基本的 Spring 启动项目。很明显,Querydsl Web 支持是一个非常强大的功能,我们可以用来获取与给定条件匹配的数据库记录。现在,我们至少需要实现一个基本的 RESTful 控制器,它充当客户端和存储库层之间的中间层。
中,我们看到了如何在Spring MVC控制器方法中使用参数。以下示例显示了如何将 Spring 数据分页与 Thymeleaf 视图一起使用。我们还将使用注释来更改默认页面大小。本地主机:8080/员工。
然而,这种支持是 解释得非常快,因为我们只需要添加正确的参数并返回值 到我们的存储库界面。我们可以改用接口,如果我们不这样做 需要项目或页面的总数,例如,如果我们只想提供 “上一页”和“下一页”按钮,不需要“第一页”和“最后一页” 按钮。如果我们想在 Web 控制器中返回一个(或)项,它需要接受 定义分页参数的参数,将其传递给数据库, ,然后将 aobject 返回给客户端。在本教程中,我们将检查 Spring Data 的分页支持,并创建如何使用的示例 并对其进行配置以及有关其如何在幕后工作的一些信息。
总而言之,我们学习了如何使用Spring MVC和Spring Data JPA在RESTful Web服务中实现分页。您可以在我们的GitHub 存储库中找到上述示例。相关春季 JPA 中的分页和排序带有 Spring 引导的 RESTful JPA 存储库带有示例的 Spring 引导文件上传春季数据JPA简介Spring 安全性中的自定义登录表单。
【代码】EnversRevisionRepositoryImpl.java源码。
这两个字符串操作之间的主要区别在于:接受只有空格的字符串,而不接受。以相同的方式运行,除了它输入。