Node.js
文章平均质量分 62
Supernova_gu
这个作者很懒,什么都没留下…
展开
-
Next学习小记
Next的背景为什么选择Nextkoa和express都太老了,而且他们只提供了中间件写法,基本实现要自己写;Next.js的定位Node全栈框架CSS-in-JS页面预渲染 + SSR(服务端渲染)前后端同构(代码同时运行在两端)需要 Node.js 10.13以上支持 React支持 typeScript不支持VUE弱项没有数据库相关功能,需要自行搭配Sequelize或TypeORM完全没有提供测试相关功能,需要自行搭配Jest或Cypress有一个Blitz原创 2022-01-15 18:00:52 · 638 阅读 · 0 评论 -
koa学习小记
koa的发展koa出现的时间节点比较尴尬,koa的出现刚好碰上了node.js和io.js闹分裂,但是koa采取了更激进的方案koa对比express中间件对比’express的中间件是线型的koa的中间件是U型的语言特性对比express使用的是回调函数 next()koa v1.x使用的是generator语法koav2.x使用的是async/await语法2011~2016express是更好的选择2017以后koa是更好的选择koa的中间件模型express线型原创 2022-01-12 18:01:43 · 185 阅读 · 0 评论 -
node - process
进程程序的实例就是进程程序在CPU上执行的活动叫做 进程进程可以创建进程 被创建的是子进程,主进程关闭所有子进程也会关闭CPU单核CPU靠在不同的进程中切换达到多程序并发执行多个程序在宏观上并行,微观上串行每个进程会出现[执行 - 暂停 - 执行]的规律多个进程之前会出现抢资源的现象(如打印机)进程的两个状态运行态非运行态程序开始执行进程 由 CPU做分配暂停的处理阻塞如果A在等待CPU资源,而B在等待I/O完成(如文件读取) 这个时候将CPU资源分配给了B,原创 2022-01-11 12:00:39 · 314 阅读 · 0 评论 -
Stream 流概念
node里面的stream流学习小记原创 2022-01-10 16:58:19 · 442 阅读 · 0 评论 -
node编写接口小记
需要使用到的插件yarn add --dev ts-node-dev //使用时 用ts-node-dev 代替 node 命令yarn global add typescript // 全局安装tsyarn add md5 // 安装md5插件yarn add --dev @types/md5 // 安装md5ts的类型发布到npmyarn init -y // 初始化pakeage.json 文件api拼接// 示例http://api.fanyi.baidu.com/api/t原创 2022-01-08 15:12:52 · 161 阅读 · 0 评论 -
全栈开发的定义
定义被误解的全栈 = Node.js + JavaScript全栈开发 != 前端开发 + 后端开发一开始的LAMP = Linux + Apache + MySql + PHP后来的MEAN = MongoDB + Express + Angular + Node什么才是全栈良好的计算机基础和英语阅读能力服务器知识(权限、内存、CPU、硬盘、云服务)网络知识(带宽、网络架构)数据模型(MySql、MongoDB、索引、备份)安全知识(SQL防注入、XSS、CSRF、Repla原创 2021-12-21 11:56:57 · 2086 阅读 · 0 评论 -
node-中间件
中间件是流程处理function hi(req,res,next){ if(req.query.name === 'yang'){ next() // 放行,结束函数并执行后面代码 }else{ res.end('你输错了') }}app.use(hi)// 下一个中间件有没有被调用取决于有没有调用next()app.use((req,res,next)=>{ console.log(`req.duang: ${req.duang}`) next()})app.us原创 2021-11-11 13:29:35 · 564 阅读 · 0 评论 -
Cheerio爬虫
Cheerio是 Node.js 特别为服务端定制的,能够快速灵活的对 JQuery 核心进行实现。它工作于 DOM模型上,且解析、操作、呈送都很高效,适合各种Web爬虫程序。 数据源爬虫要想爬取数据首先提供爬取数据的路径:url: http://www.hubwiz.com/course/562427361bc20c980538e26fhttp://xc.hubwiz.com/course/562427361bc20c980538e26f爬虫目标页面每一章节的标题及其中小节的标题名称。小.原创 2021-03-29 22:56:31 · 931 阅读 · 0 评论 -
JWT的使用
什么是JWTJWT, 全称是JSON Web Token,是一种易于使用、无状态的鉴权(Authorization)方式。简单的来说,就是Server端把JSON数据经过加密做成token,以授权给Client端。当Client端登录完成以后,Server端要返回一个7天有效的token,那么对应的Python的样例代码会是这样的:(使用了PyJWT包:pip install pyjwt)import timeimport jwtexp = int(time.time()) +原创 2021-03-29 19:04:26 · 514 阅读 · 0 评论 -
登录验证和鉴权
登录验证用户登录和鉴权的重要性不言而喻由于HTTP请求无状态的特性,为了节省运算资源,有必要(?)提供一套登录机制,在验证通过后、一段时间内对需要登录的操作放行常用的方法有:Session机制,JWT机制和OAuth机制 cookie-sessionSessionSession,会话。在用户登录后,服务器存储用户会话的相关信息,并为客户端指定一个访问凭证,如果有客户端凭此凭证发出请求,则在服务端存储的信息中取出用户相关登录信息并使用服务端返回的凭证常存储于Cookie中。此时Cookie与S原创 2021-03-29 17:59:52 · 1094 阅读 · 0 评论 -
node_错误处理
错误处理在我们自己搭建的Node.js服务中,产生错误是很常见的。开发环境下我们可以通过在对应位置添加断点的方式调试,也可以在console.log中打印出关键信息以定位问题但是生产环境中的错误处理和调试就会比较麻烦:首先,对服务高稳定性的需求导致我们不能把服务器中的代码打上断点慢慢调试,这样服务器的相应会被阻塞其次,在不确定错误产生的地点时,一点点增加console.log的深度然后不断重启服务显然不限时再者,使用我们服务的用户应该尽快地知道有错误发生,并且收到相应的解决方案这就对服务器的原创 2021-03-29 17:55:06 · 952 阅读 · 0 评论 -
express_generator 脚手架使用
项目创建安装express-generatornpm i -g express-generator使用express-generator生成一个express项目express --view=ejs what_i_love #项目名cd what_i_lovenpm i项目结构设计方式route层主要看网关设计方式services和control(model)层主要看业务逻辑,是面向一个功能还是多个功能设计。model和model之间不要有耦合和互相依赖的情况routers/原创 2021-03-27 23:58:04 · 200 阅读 · 0 评论 -
express使用小记
1.1 介绍Express 是一个基于 Node.js 封装的上层服务框架,它提供了更简洁的 API更实用的新功能。它通过中间件和路由让程序的组织管理变的更加容易;它提供了丰富的 HTTP工具;它让动态视图的渲染变的更加容易;它还定义了一组可拓展标准。1.2 安装node安装npm install express -S1.3 hellow worldlet express = require('express')let app = express()app.get('/',(re原创 2021-03-27 23:09:55 · 280 阅读 · 0 评论 -
Node.js
用libuv进行异步I/O操作用event loop 管理事件处理顺序用C/C++库高效处理DNS/HTTP…用bindings让JS能和C/C++沟通用V8运行JS用Node.js标准库简化JS代码原创 2021-03-26 12:40:17 · 103 阅读 · 0 评论 -
Node.js入门全解
Node.js是什么Node.js是一个平台他将多种技术组合起来让JavaScript也能调用系统接口、开发后端应用Node.js用到了哪些技术V8引擎libuvC/C++实现的c-ares、http-parser、OpenSSL、zlib等库Node.js技术架构bindingsNode.js用C++对http_parser金行封装,使它符合某些要求,封装的文件叫做http_parser_bindings.cpp用Node.js提供的编译工具将其编译为.node文件JS代原创 2021-02-22 14:39:23 · 120 阅读 · 0 评论