随笔分类 - NODE入门
摘要:multer是常用的Express文件上传中间件。服务端如何获取文件上传的进度,是使用的过程中,很常见的一个问题。这里整理出来,有同样疑问的同学可以参考一下。文章主要介绍如何利用progress-stream获取文件上传进度,以及该组件使用过程中的注意事项。
阅读全文
摘要:cookie-parser是Express的中间件,用来实现cookie的解析。不少人在使用过程中遇到问题,一般都是因为对cookie-parser的签名、验证机制不了解导致的。本文深入讲解cookie-parser的签名和验证机制,以及cookie签名是如何增强网站的安全性的。
阅读全文
摘要:刚回答了SegmentFault上一个兄弟提的问题《非对称解密出错》。这个属于Node.js在安全上的应用,遇到同样问题的人应该不少,基于回答的问题,这里简单总结下。
非对称加密的理论知识,可以参考笔者前面的文章《NODEJS进阶:CRYPTO模块之理论篇》。
完整的代码可以在 《Nodejs学习笔记》 找到,也欢迎大家关注 程序猿小卡的GitHub。
阅读全文
摘要:在信息安全重要性日益凸显的今天,作为一名开发者,需要加强对安全的认识,并通过技术手段增强服务的安全性。
crypto模块是nodejs的核心模块之一,它提供了安全相关的功能,如摘要运算、加密、电子签名等。很多初学者对着长长的API列表,不知如何上手,因此它背后涉及了大量安全领域的知识。
本文重点讲解API背后的理论知识,主要包括如下内容:摘要、对称加密、非对称加密、电子签名等。
阅读全文
摘要:在web服务端开发中,字符的编解码几乎每天都要打交道。编解码一旦处理不当,就会出现令人头疼的乱码问题。
不少从事node服务端开发的同学,由于对字符编码码相关知识了解不足,遇到问题时,经常会一筹莫展,花大量的时间在排查、解决问题。
文本先对字符编解码的基础知识进行简单介绍,然后举例说明如何在node中进行编解码,最后是服务端的代码案例。
阅读全文
摘要:Diffie-Hellman(简称DH)是密钥交换算法之一,它的作用是保证通信双方在非安全的信道中安全地交换密钥。目前DH最重要的应用场景之一,就是在HTTPS的握手阶段,客户端、服务端利用DH算法交换对称密钥。
下面会先简单介绍DH的数理基础,然后举例说明如何在nodejs中使用DH相关的API。
阅读全文
摘要:Node.js 8.0 在2017年6月份发布,升级的特性中,包含了N-API。N-API并不是对原有node扩展实现方式的替代,它只是提供了一系列底层无关的API,来帮助开发者编写跨版本的node扩展。
阅读全文
摘要:Buffer是node的核心模块,开发者可以利用它来处理二进制数据,比如文件流的读写、网络请求数据的处理等。
Buffer的API非常多,本文仅挑选 比较常用/容易理解 的API进行讲解,包括Buffer实例的创建、比较、连接、拷贝、查找、遍历、类型转换、截取、编码转换等。
阅读全文
摘要:nodejs的核心模块,基本上都是stream的的实例,比如process.stdout、http.clientRequest。
对于大部分的nodejs开发者来说,平常并不会直接用到stream模块,只需要了解stream的运行机制即可(非常重要)。
而对于想要实现自定义stream实例的开发者来说,就得好好研究stream的扩展API了,比如gulp的内部实现就大量用到了自定义的stream类型。
阅读全文
摘要:body-parser 是非常常用的一个express中间件,作用是对post请求的请求体进行解析。本文从简单的例子出发,探究body-parser的内部实现。
阅读全文
摘要:本文基于express、express-session实现了简易的登录/登出功能,在后续章节将针对express-seesion的实现原理进行深入的探究。完整的代码示例可以在笔者github上找到。
阅读全文
摘要:MD5(Message-Digest Algorithm)是计算机安全领域广泛使用的散列函数(又称哈希算法、摘要算法),主要用来确保消息的完整和一致性。常见的应用场景有密码保护、下载文件校验等。
本文先对MD5的特点与应用进行简要概述,接着重点介绍MD5在密码保护场景下的应用,最后通过例子对MD5碰撞进行简单介绍。
阅读全文
摘要:morgan是express默认的日志中间件,也可以脱离express,作为node.js的日志组件单独使用。本文由浅入深,内容主要包括 入门例子、日志分割、写入数据库、源码剖析。
阅读全文
摘要:本文摘录自个人总结《Nodejs学习笔记》,更多章节及更新,请访问 "github主页地址" 。欢迎加群交流,群号 197339705。 模块概览 在node中,child_process这个模块非常重要。掌握了它,等于在node的世界开启了一扇新的大门。熟悉shell脚本的同学,可以用它来完成很多
阅读全文
摘要:本文摘录自《Nodejs学习笔记》,更多章节及更新,请访问 "github主页地址" 。欢迎加群交流,群号 197339705。 文章概览 本文基于express、express session实现了简易的登录/登出功能,完整的代码示例可以在 "这里" 找到。 环境初始化 首先,初始化项目 然后,安
阅读全文
摘要:在网络安全问题日益严峻的今天,网站采用HTTPS是个必然的趋势。本文主要包含两部分,1、通过客户端、服务端的例子,对https模块进行入门讲解。2、如何访问安全证书不受信任的网站。(以 12306 为例子)
阅读全文
摘要:net模块是同样是nodejs的核心模块。做node服务端编程,net基本是绕不开的一个模块。本文从一个简单的 tcp服务端/客户端 的例子开始讲解,好让读者有个概要的认识。对于初学者,建议把文中的例子本地跑一遍加深理解。
阅读全文
摘要:今天,在express/node交流群里,有个群友问了个问题:“nodejs读取图片,转成base64,怎么读取呢?” 想了一下,他想问的应该是 怎么样把图片嵌入到网页中去,即如何把图片转成对应的 datauri。
是个不错的问题,而且也是个很常用的功能。快速实现了个简单的demo,这里顺便记录一下。
思路很直观:1、读取图片二进制数据 -> 2、转成base64字符串 -> 3、转成datauri。
阅读全文
摘要:大多数nodejs开发者都是冲着开发web server的目的选择了nodejs。正如官网所展示的,借助http模块,可以几行代码就搞定一个超迷你的web server。
在nodejs中,http可以说是最核心的模块,同时也是比较复杂的一个模块。上手很简单,但一旦深入学习,不少初学者就会觉得头疼,不知从何入手。
本文先从一个简单的例子出发,引出`http`模块最核心的四个实例。看完本文,应该就能够对http模块有个整体的认识。
阅读全文
摘要:在nodejs中,path是个使用频率很高,但却让人又爱又恨的模块。部分因为文档说的不够清晰,部分因为接口的平台差异性。
将path的接口按照用途归类,仔细琢磨琢磨,也就没那么费解了。
阅读全文