首页
学习
活动
专区
圈层
工具
发布

说Node.js做后端开发,stream有必要了解下

什么是stream 定义 流的英文stream,流(Stream)是一个抽象的数据接口,Node.js中很多对象都实现了流,流是EventEmitter对象的一个实例,总之它是会冒数据(以 Buffer...水桶管道流转图 注意:stream不是node.js独有的概念,而是一个操作系统最基本的操作方式,只不过node.js有API支持这种操作方式。linux命令的|就是stream。...下面对几个常用的应用场景分别进行介绍 介绍一个压力测试的小工具 一个对网络请求做压力测试的工具ab,ab 全称 Apache bench ,是 Apache 自带的一个工具,因此使用 ab 必须要安装...,为本地文件对应的路径创建一个stream对象,然后直接.pipe(ws),将post请求的数据流转到这个本地文件中,这种stream的应用在node后端开发过程中还是比较常用的。...前端一些打包工具的底层实现 目前一些比较火的前端打包构建工具,都是通过node.js编写的,打包和构建的过程肯定是文件频繁操作的过程,离不来stream,例如现在比较火的gulp,有兴趣的小伙伴可以去看一下源码

2.2K11
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【JavaScript】在前后端通信方面的优势

    随着Web应用程序的日益复杂化,前后端之间的通信成为了开发过程中的一个重要环节。JavaScript作为一种在浏览器端运行的脚本语言,在实现前后端通信方面具有独特的优势。...本文将探讨JavaScript在前后端通信方面的优势。 一、实现实时通信 JavaScript可以通过WebSocket技术实现与服务器的实时通信。...这意味着使用JavaScript实现的前后端通信可以在广泛的浏览器中得到支持,降低了开发和维护的成本。...六、总结 JavaScript在前后端通信方面具有多种优势,包括实现实时通信、简化开发过程、支持多种通信协议、强大的数据处理能力和广泛的浏览器支持。...这些优势使得JavaScript成为了实现前后端通信的理想选择之一。作为开发人员,我们应该充分利用JavaScript的这些优势,提高应用程序的性能和用户体验。

    36510

    Node.js 使用 RSA 做加密

    A 和 B 都提供一个公开的公钥。A 把需要传递的信息,先用自己的私钥签名,再用 B 的公钥加密。B 接收到这串密文后,用自己的私钥解密,用 A 提供的公钥验签。 为什么要先签名后加密?...如果你先加密后签名,非法用户通过获取的公钥就可以破解签名,破解之后就可以替换签名。...详细的原理可以参考以下文档: RSA算法原理(一) RSA算法原理(二) node-rsa 在 node.js 中使用 rsa 算法,我们使用的是 node-rsa 这个包。...,所以我们需要把对象按一定的顺序排列并序列化成字符串再进行签名加密的操作 const serialize = (obj) => { const str = []; Object.keys(obj...,加上 Node 不适合做计算密集型的操作。

    7.4K21

    Node.js:构建高效、可扩展的后端应用的利器

    引言 Node.js是一种基于Chrome V8引擎的JavaScript运行时环境,用于构建高性能、可扩展的后端应用程序。...它的非阻塞、事件驱动的特性使得Node.js成为处理实时数据和构建Web应用的理想选择。本文将深入探讨Node.js的特点、优势、用途以及如何充分利用这一技术来开发强大的后端应用。 1....Node.js 的优势 2.1 统一的语言 Node.js使用JavaScript作为编程语言,使得前端和后端开发都能使用同一种语言,简化了技术栈。...3.2 API服务 Node.js适用于构建RESTful API和GraphQL服务,提供可扩展的后端支持。...结语 Node.js已经成为构建高性能、可扩展的后端应用的强大工具。无论您是前端开发者还是后端工程师,了解Node.js的特性、优势和最佳实践都将对您的技能和项目产生积极的影响。

    1.8K20

    详细介绍 Node.js JXcore 打包的使用方法和优势

    Node.js JXcore 是一个流行的工具,它可以将 Node.js 应用程序打包成可执行文件,并提供了一些额外的功能。本文将详细介绍 Node.js JXcore 打包的使用方法和优势。...JXcore 是一个基于 Node.js 的增强版运行时环境,它扩展了 Node.js 的功能,并提供了一些附加功能。...JXcore 打包的优势使用 JXcore 打包你的 Node.js 应用程序带来了一些优势,使你能够更好地构建和部署应用程序。...性能优化JXcore 提供了一些性能优化功能,可以显著提高你的应用程序的性能。例如,JXcore 支持多线程执行,可以充分利用多核处理器的优势。...我们还讨论了 JXcore 打包的优势,包括独立的可执行文件、性能优化和配置灵活性。

    1.3K30

    开发做前端好还是后端好?

    前端和后端是Web开发中的两个不同的领域,你更倾向于哪一种? 一、引言 前端开发和后端开发是构建现代Web应用的两个关键组成部分。...以下是一些更具体的步骤和建议,帮助开发者从前端转向后端或反之: 评估当前技能: 在开始转换之前,先评估自己的现有技能和知识基础。了解自己在前端或后端开发中的优势和需要改进的地方。...确定目标领域: 明确你想要转向的领域。了解该领域的主要技术栈、工具和最佳实践。 学习新的编程语言: 如果转向后端,可能需要学习如Python、Java、Ruby、Node.js等语言。...如果是前端到后端,可能需要深入了解JavaScript的后端应用,如使用Node.js。...,如服务器端编程语言(如Node.js、Python、Java或Ruby)和数据库技术(如MySQL、MongoDB)。

    2.2K10

    使用 WordPress 做纯后端和管理界面,实现前后端分离

    WordPress 除了做博客之外,其实还可以做成纯后端服务和管理界面(Admin UI),前端的模板可以不需要使用 WordPress 模板。...把「WordPress果酱」博客的后端放到另外一个域名下面或者目录下面,比如:http://wpjam.纯后端的域名.com/,然后通过访问 /wp-admin/ 目录登录后台进行更新的。 2....比如比如文章列表的 API 接口:http://wpjam.纯后端的域名.com/api/post/list.json。 3....WordPress 做纯后端的好处 这样做,初步看起来,有点很繁琐,但是好处非常大: 1....完全的前后端分离 这样做的好处就是完全的前后端分离,页面的渲染都可以交给前端或者中台去处理,后端只需要去处理业务逻辑就好了,当然博客比较简单没有什么复杂的业务逻辑。

    3.5K20

    Promise实现原生JS的Ajax请求(后端使用Node.js)

    最近在学习ES6的相关知识,看完了Promise,于是打算用Promise实现一个原生JS的Ajax例子,顺便复习一下Node的相关知识。...说搞就搞,先写后端 项目目录结构 后端使用的是Express框架,具体步骤如下: npm init 初始化,这个就一直下一步就行了,需要注意的是项目文件夹名不能为中文。...此时的目录结构应该是这样的:node_modules/ package.json package-lock.json 新建文件:server.js,和上面的文件同级。...再来看看前端 新建前端页面index.html 因为后端指定了静态文件在public,于是我们新建index.html文件,放在public文件夹下。public文件夹和server.js同级。...的POST请求,GET请求就不写了。

    5.2K30

    后端的我要学Node.js了,你敢信

    项目需要,我需要储备一些Node.js 相关的知识了,整体感觉是一件好事 背景 从前,我也写过前端,不过那会最多用到HTML5 +jQuery相关技术。...也没有准确的时间点来划分,我就忽忽悠悠的专注于Java后端了 ?...在学习的过程中我都有做记录,同时结合项目内容做了下面这张思维导图,只有全部点亮这些叶子,才能算是做完了这个Demo(更多细节内容隐藏在了节点notes里面) ?...这个思维导图肯定不是标准的Node.js 学习内容,只不过是应对我本次基础的学习,后续的学习会不断对这个思维导图进行修正的 总结 你以为我们就可以彻底抛弃官网了吗?.../读书笔记/技术交流等,共同进步 隔三差五,我也会输出一些Node.js 相关的内容,你以为我喜新厌旧了?

    1.3K20

    Node.js 是如何做 GC (垃圾回收)的?

    今天我们来研究一下 Node.js 是如何做 GC 的。 GC,Garbage Collection,垃圾回收。在编程中,一般指的是内存自动回收机制,会定时将不需要用到的数据进行清除。...如果到达一个最大限制(现在通常是 4GB),就会堆内存溢出的错误,然后终止 Node.js 进程。...这种基于 copy 的算法,优点是可以很好地处理内存碎片的问题,缺点是会浪费一些空间作为搬移的空间位置,此外因为拷贝比较耗费时间,所以不适合分配太大的内存空间,更多是做一种辅助 GC。...,不要用 Buffer 做测试。...因为 Buffer 是 Node.js 特有的处理二进制的对象,它不是在 V8 中的实现的,是 Node.js 用 C++ 另外实现的,不通过 V8 分配内存,属于堆外内存。

    1.4K20

    做 RAG 不懂向量数据库,就像做后端不懂 MySQL

    做 RAG 不懂向量数据库,就像做后端不懂 MySQL。 不是说你每天都要手写索引算法,而是你至少要知道系统为什么这样设计,出了问题该往哪里排查。 今天这篇,我们就把向量数据库面试高频问题讲透。...向量数据库的价值不只是存储,而是高效相似度检索和工程化管理。 三、向量数据库和 Elasticsearch 有什么区别? 这个问题不能简单答成:ES 做关键词,向量数据库做向量。...Elasticsearch 的核心优势是全文检索、倒排索引、关键词匹配、日志搜索和复杂过滤。 向量数据库的核心优势是高维向量检索、向量索引优化、向量数据管理和语义召回。...如果你的业务是关键词检索为主,顺带做语义检索,ES 或 OpenSearch 可能就够了。...缺点是过滤后数据太少时,向量索引优势可能下降。 先检索再过滤 优点是向量检索流程简单。 缺点是可能 TopK 里大部分被过滤掉,最后结果不够。

    41311

    Node.js做静态资源服务器

    在上一篇文章介绍了Node.js基础API 接下来我们做一个案例,用Node.js实现静态资源服务器 目录结构 首先新键如下目录结构 config:存放一些配置文件 helper:辅助文件 template...:模板文件(后面会使用到模板引擎) app.js:入口文件 搭建服务 我们要根据客户端请求的url返回相应的文件/目录信息,所以我们要先搭建服务 使用http模块搭建 const http = require...得到url后有三种情况 1.url指向某个文件 2.url指向某个目录 3.不存在的路径 当url指向某个文件时我们直接返回,当指向某个目录时,我们将该目录的文件全部列出,并且实现超链接,当没有该目录或文件时返回提示信息...console.log(e) } } 在route.js中我们引入promisify模块引入,将相关文件操作封装成promise对象,这样可以使我们在读取文件时不用进行各种回调,通过async与await时同步的方式去做异步的事情...我们还引入了自定义模块mime这个模块放置了文件类型对应的contentType,以确保我们发送给客户端正确的contentType helper/mime.js const path = require

    3K20

    Node.js后端+MySQL数据库+jQuery前端实现

    hash:密码加盐的盐值。 passwd:加密后的密码。 uid:数据表主键,用于唯一标识一个用户。 我们约定,用户名是不可以重复的,但是邮箱是可以重复的。约束放在后端来做。...前端在每一次提交登录 / 注册请求时会把绑定到当前会话的验证码带上,由后端进行校验,以确保安全性。 前端部分对应代码如下。...,但是增加了新的重复密码框,并使用 CDN 引入 jQuery 与后端进行通信。...密码安全性 前端向后端发送请求的时候即已经密码加盐(用户名)并用 SHA-256 散列,服务端不接触明文密码。...密码安全性 前端在向后端发送请求时会做和登录侧一样的处理,在此不再赘述。 后端部分 概述 后端采用了 Node.js 和 express 框架。依赖的 npm 包如下。

    1.8K10

    前后端不分离到分离演变,优势,前后端接口联调,排错及优化

    这就是node.js的妙用了,node.js适合运用在高并发、I/O密集、少量业务逻辑的场景。最重要的一点是,前端不用再学一门其他的语言了,对前端来说,上手度大大提高。 ?...服务器一分为二,前后端分别部署,静态资源放在前端服务器,业务代码放在后端服务器. 2. 前端服务器需要接受http请求 (一般使用node.js) 3....,为后面的架构升级做准备 前后端分离优势 可以实现真正的前后端解耦 前端服务器使用nginx。...8.如果页面上有一些权限等等相关的校验,那么这些相关的数据也可以通过ajax从接口里拿。 9.对于既可以前端做也可以后端做的逻辑,我建议是放到前端,为什么?...,如果后端或服务器端未做一些设置,会造成页面访问接口失败,在浏览器的控制台会显示报错信息。

    3.6K50

    node.js后端+小程序前端+mongoDB(增删改查)

    这种活跃的社区支持使得开发者能够更容易找到解决问题的方法。 node.js优点 高性能: Node.js采用了非阻塞的I/O模型,使得它能够处理大量并发连接而不会造成阻塞。...快速开发: Node.js使用JavaScript作为开发语言,这使得前端和后端开发都可以使用同一种语言,简化了开发人员的学习曲线和开发工作流程。...此外,Node.js的模块化设计和丰富的第三方模块库也有助于快速开发和构建应用。 轻量和高效: Node.js本身是一个轻量级的运行时环境,占用资源较少,启动时间短。...这使得它适用于构建高效的后端服务和微服务架构。 生态系统丰富: Node.js拥有庞大而活跃的开源生态系统,包括npm(Node Package Manager)上数以万计的可重用模块。...下载nodemon解决node代码更新的痛点 npm install nodemon -g 3. node.js连接mongodb数据库 npm install mongoose --save 后端目录

    1.9K10
    领券