随笔分类 - nodejs
nodejs相关的内容
摘要:HTTP协议 HTTP服务服务端 代理客户端跨域 搭建静态资源服务器 构建HTTP静态服务工具 一、HTTP协议 前言:在之前学习和使用HTTP协议的时候我已经写过几篇相关博客,但内容都写的非常繁杂,这篇博客主要基于HTTP协议在nodejs中的应用,将一些基础但又重要的内容以示例的方式展现出来,这
阅读全文
摘要:简单的介绍nodejs中的TCP服务创建及与客户端的数据交互,重点介绍了如何解决Nagle算法导致的粘包和不完整的数据包问题。
阅读全文
摘要:什么是流? 可读流于可写流 双工流于转换流 背压机制与文件流模拟实现 一、什么是流? 关于流的概念早在1964年就有记录被提出了,简单的说“流”就是控制数据传输过程的程序,比如在那篇记录中有这样的描述: “在编写代码时,我们应该有一些方法将程序像连接水管一样连接起来 -- 当我们需要获取一些数据时,
阅读全文
摘要:node为什么要使用异步I/O 异步I/O的技术方案:轮询技术 node的异步I/O nodejs事件环 一、node为什么要使用异步I/O 异步最先诞生于操作系统的底层,在底层系统中,异步通过信号量、消息等方式有广泛的应用。但在大多数高级编程语言中,异步并不多见,这是因为编写异步的程序不符合人习惯
阅读全文
摘要:CommonJS规范回顾与nodejs模块机制基础内容 基于VS调式断点了解node模块加载编译源码流程 基于nodejs的VM模块手动模拟实现模块加载 node的模块编译 C/C++扩展模块 包与NPM 一、CommonJS规范回顾与nodejs模块机制基础内容 在深入了解nodejs模块机制之前
阅读全文
摘要:文件操作的基础知识 文件操作常用API 大文件操作 目录操作的常用API 一、文件操作的基础知识 1.1文件权限位:当前用户/用户组对文件是否具有完全控制权限/未指定权限(默认)(F/0)、写入权限(W/2)、读取权限(R/4)、执行权限(X/1)。 在命令行工具中可以通过cacls/ls -l指令
阅读全文
摘要:什么是Buffer Buffer的结构 Buffer对象API解析 解决Buffer拼接时导致的乱码问题 Buffer的性能 一、什么是Buffer? 首先Buffer是nodejs全局上的一个內置模块,可以直接在不用require引入就可以直接调用的模块。 Buffer的作用就是让JavaScri
阅读全文
摘要:v8的内存限制 v8的垃圾回收机制 高效使用内存与内存指标 内存泄漏与内存泄漏排查 大内存应用 一、v8的内存限制 1.1为什么要关注内存? 在JavaScript中,它与Java一样都是由垃圾回收机制来进行自动内存管理,这使得开发者不需要像C/C++开发那样时刻关注内存的分配和释放问题。所以在开发
阅读全文
摘要:这是一篇node入门级解析全局对象Global的博客,相对于官方文档这篇博客主要将各种API按照功能特性分类,不是官方文档那样基于字母顺序分类。另外详细通俗的解析了进程模块Process的API,这边博客可以保证你清晰明了的读懂Node文档,特别时按照功能分类可以瞬间就在杂乱无章的API中理清头绪。
阅读全文
摘要:nodejs是什么? nodejs的架构模式以及优缺点 nodejs异步IO nodejs事件驱动 nodejs单线程 nodejs应用场景 一、nodejs是什么? 1.1nodejs是一个开源的、跨平台的JavaScript的运行环境。就像java的运行环境JRE一样,比如JRE自带的java基
阅读全文
摘要:实现控制台输入输出 实现文件读写操作 全原生实现一个简单的脚手架工具 实现vue-cli2源码 一、实现控制台输入输出 关于控制台的输入输出依然是基于node进程管理对象process,在process上有三个基于流的对象分别是:标准输入流(stdin)、标准输出流(stdout)、标准错误(std
阅读全文
摘要:了解NPM安装模块时与项目配置文件中的bin配置发生了什么 了解nodejs在控制台中的运行环境及上下文 基于自定义命令集工具集成Yeoman 一、NPM模块安装内幕与nodejs控制台运行环境 1.1NPM模块安装内幕 当我们使用npm install 安装NPM模块时你会思考它到底发生了什么吗?
阅读全文
摘要:什么是脚手架? Yeoman是什么? 实现自定义脚手架 基于Yeoman实现Vue-cli 一、什么是脚手架? 手脚架从功能上来讲就是创建项目初始文件,这其中包括生成功能模块配置、自动安装依赖、自动生成标准化(结构的)文件,提高项目创建速度降低手动操作可能发生的低级错误。 关于手脚架在周俊鹏的《前端
阅读全文
摘要:什么是session Express session实例应用 Express session源码解析 一、什么是session 1. 由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识具体的用户,这个机制就是Session.典型的场景比如购物车,当你点击下单按钮时,
阅读全文
摘要:Application.use() Application.router() express核心源码模拟 一、express.use() 1.1app.use([path,] callback [, callback ...]) 通过语法结构可以看到Application.use()参数分别有以下几
阅读全文
摘要:express()表达式 express的方法 express功能分析 一、express()表达式 创建Express应用程序。express()函数是express模块导出的顶级函数。(相当于HTTP.createServer()) let express = require("express"
阅读全文
摘要:最简单的数据库连接操作 封装数据库连接模块 从页面到数据库一个完整的数据请求过程 一、用于测试的数据库(用于第二三部分测试) 数据库:school --管理员表:school_admini --老师表:teacher --班级表:class --学生表:student --成绩表:grade 以上的
阅读全文
摘要:HTTPS原理 HTTPS域名配置与证书申请 nodejs配置证书启动HTTPS服务 HTTPS服务可能需要解决的问题与潜在的安全问题 一、HTTPS原理 HTTPS有被称为HTTP安全协议,在HTTP协议的基础上增加一层安全层,也就是在HTTP应用层与TCP传输层之间增加一层加密与认证流程,确保通
阅读全文
摘要:HTTP缓存原理 HTTP缓存策略 nodejs实现http缓存策略demo Express配置缓存 一、HTTP缓存原理 1.1什么是HTTP缓存? 当客户端向原始服务器请求过一次资源以后,该资源就会被网络节点上的某个缓存设备缓存下来,当再次请求该资源时就可以直接在最近的缓存设备获取。 在web缓
阅读全文
摘要:关于URL的一些基础内容 URL模块的API解析 URL的参数URLSearchParams类 querystring模块 一、关于URL的一些基础内容 1.1 定义: 在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL(Uniform Resource Locator,统一资源
阅读全文