nodejs后端开发
文章平均质量分 58
nodejs开发后端的学习笔记
ArmadaDK
什么都沾点的臭恶大学生竟然已经上班哩,555
展开
-
谷歌地球kml文件读取(nodejs)
有个需求,需要在地图上打点然后读取出这些坐标,但是谷歌地球的数据会保存在kml里面,不像csv格式那样好拿。原创 2024-03-04 10:26:40 · 583 阅读 · 0 评论 -
mysql数据库操作小寄巧
查询某个json字段(xx)的某个属性下的某个数组里的第n个元素的某个属性(究极叠buff版)其中SYSDATE()是执行当前函数的时间,NOW是执行当前sql的时间。INTERVAL来表示时间间隔,直接加。时间可以直接字符串比较。原创 2024-02-27 16:38:08 · 524 阅读 · 0 评论 -
node-schedule nodejs定时提醒(并判断段是否是工作日)
工作中有个需求:在特定的时间发送一些消息,也就是说比如在每天的7点发送消息:该起床了。一开始我想用定时器每分钟每分钟的去查当前时间,但好像有点蠢,然后我找到了这个包。原创 2023-12-25 17:22:30 · 587 阅读 · 0 评论 -
对于koa中间件的理解
大家都知道koa是洋葱模型,先一层一层通过next往下,之后再回去执行next后面的内容,next即使没写,最后也会进入下一个中间件。那么什么是ctx呢,ctx顾名思义就是上下文,也就是上一层传给下一层的东西,无论是方法还是对象都可以使用。原创 2023-11-17 16:03:16 · 916 阅读 · 0 评论 -
js小知识点杂记
interopRequireDefault的作用就是判断require的模块是否是已经被babel编译过的模块,如果是,则当前require的引用一定存在一个default属性;之前好像见过但是没怎么在意,看红宝书的时候刚好看到了,记录一下,这个在多层循环的时候可以任意跳出某个循环,可以用continue和break加上label名称,如下示例。,被赋值的时候如果是对象之类的引用数据类型,那么只会获得一个指针地址,而不是整个数据。import是先不执行,遇到使用到的时候再真正的读取模块;原创 2023-11-08 15:54:55 · 500 阅读 · 3 评论 -
视频相关学习笔记
网上找到一张图,这个就很清楚的解释了什么是采样,如何采样。这里也能看出YUV相对于RGB的优势,RGB属于4:4:4一个像素3字节,而YUV可以压缩到1.5字节对YUV4:2:0认识理解YUV图像基础知识。原创 2023-10-25 13:33:04 · 814 阅读 · 0 评论 -
nodejs使用es-batis
这是DTD(Document Type Definition)声明,用于指定XML文件的文档类型。在这里,它指定了MyBatis的Mapper文件的DTD,版本为3.0。:这是XML文件的声明,表示使用XML的版本为1.0,并使用UTF-8编码。前两行是XML文件的声明部分,用于指定XML版本和编码方式。这里的xml如果要放在单独的文件里按如下方法使用。namespace和id我的理解是方便调用;原创 2023-10-23 09:35:37 · 321 阅读 · 0 评论 -
nodejs excel操作(读取和生成)
使用build函数生成pdf,build里的参数是sheet的数组,每个sheet的格式是{name,value},name是sheet名,value是表格里的数据的二维数组。这个parse在解析时间的时候会出现一些问题,时间会变成浮点型,如果你有时间,可以使用parse的第二个参数。原创 2023-10-16 11:53:11 · 1816 阅读 · 0 评论 -
puppeteer学习笔记
puppeteer是一个可以控制chrome的库,可以模拟一些交互行为。原创 2023-10-12 17:51:14 · 477 阅读 · 0 评论 -
nodemailer学习
找nodejs库的时候找到了这个框架,感觉应该会满常用,先记录一下。原创 2023-10-12 10:49:43 · 141 阅读 · 0 评论 -
lodash学习笔记
能使用原生js做到的尽量不要使用lodash,一个是作者已经停止维护了,就尽量不要过度依赖这个库,第二,这个库很多内容是可以用原生简单解决的,用它反而效率降低,没有必要。lodash包括很多工具函数,可以操作数组,集合,数字,字符串,也有一些很方便的函数可以调用。移除数组中的某些元素,可以单个移除不一定连续,然后这个函数返回的是移除的元素组成的数组。对集合进行处理,第一个参数是数组,第二个参数是处理函数,第三个是这个方法的参数。按某个条件进行分类,第二个参数就是条件,这个条件将转换成结果。原创 2023-10-12 09:55:45 · 536 阅读 · 0 评论 -
正则表达式
基本符号^首部,例如 $ 尾部 *0个或多个 + 一次或多次(至少一次 ?一个或0个 .单个字符 | 二选一 () 匹配括号里的全部字符 [] 匹配括号中的一个字符 {}限定匹配次数,比如{min,max}表示范围在min到max的 \w英文字母和数字 \W 非字母和数字 \d 数字 \D 非数字原创 2023-10-10 11:45:10 · 77 阅读 · 0 评论 -
socket.io学习笔记,含简易聊天室demo代码
nodejs后端:npm install socket.iovue前端:npm i vue-socket.io -Snpm i socket.io-client -Snodejs:前端:事件触发on接收事件,第一个参数是event,第二个参数是回调函数emit触发事件,第一个参数是event,第二个参数是事件参数connection:连接的时候自动触发disconnect:断开连接的时候自动触发chat message(随便自定义的名称):点对点通信事件,回调函数里有参数msg(收到的消息)原创 2023-10-08 11:21:36 · 258 阅读 · 0 评论 -
nodejs在pdf中绘制表格
之前我已经了解过如何在pdf模板中填写字段了nodejs根据pdf模板填入中文数据并生成新的pdf文件但是当我具体使用的时候,我发现我的模板里面有表格,表格的长度是不固定的,所以需要动态生成一个表格,就要在原方案生成的pdf后面自己画上表格,可以在pdflib的官网上看到一些例子。原创 2023-09-25 10:00:39 · 819 阅读 · 0 评论 -
nodejs使用kafka
topic:Topic(主题)是消息的逻辑分类或者容器。它是 Kafka 中最基本的概念之一,用于组织和管理消息的发布和订阅。我的理解是一个topic就是一个消息队列,为了让各种不同的消息不打岔,才分出不同的topic。原创 2023-09-11 17:50:57 · 1021 阅读 · 0 评论 -
nodejs将rtsp视频流打上水印后通过websocket发送给前端
但是如果将ffmpeg的这个代码推至留一个rtsp流中就会报错,而且报错没有报错信息,只有一些奇怪的东西报错上来(目前还不知道原因,如果知道了原因会补上)我们还需要给视频加上水印,比如我需要给视频进行画框,可以采用ffmpeg来进行画框。这样就可以在传输的过程中直接绘制图形。你可以使用ffplay试播放一下。ffmpeg的代码如下。原创 2023-09-01 14:00:51 · 930 阅读 · 0 评论 -
Sequelizejs框架学习(待更新)
model如果你不想使用sql语句,那么你需要建立模型model可以方便数据校验,数据关联等可以用一下快捷命令创建modelsequelize-auto -h ip -d 库名 -u 用户名 -x 密码 -p 端口号 -o 地址 -t 表名注意sequelize-auto要全局安装(npm isequelize-auto -g)model组件格式:const { DataTypes } = require("sequelize");const sequelize =原创 2023-08-29 13:36:01 · 372 阅读 · 0 评论 -
Koa框架学习
在 Koa 中,路由中间件负责根据不同的 URL 路径将请求分发到不同的处理函数,而请求方法中间件负责根据请求的 HTTP 方法(如 GET、POST 等)确定是否允许该方法的请求。这样,当请求到达时,首先会通过路由中间件进行。是request和response的集合,ctx.request.body表示收到的请求体,ctx.body表示要发送的应答体。注意koa-body进行的文件上传是先下载到本地的,如果需要的功能是导入之类的,这个文件用完就没用了,记得及时删除。,然后再通过请求方法中间件。原创 2023-08-29 11:22:01 · 293 阅读 · 2 评论 -
nodejs根据pdf模板填入中文数据并生成新的pdf文件
这里的Object.entries是将对象变成数组方便循环,也可以用for...in进行对象遍历。这三行表示读文件,并且读取pdf表单,之后在pdf的表单中寻找字段,之后填入字段。pdf模板可以使用福昕pdf进行制作,百度一下都能查到。最后将数据存入新文件中。原创 2023-08-23 17:01:45 · 2347 阅读 · 0 评论 -
Koa框架简介:构建高效、灵活的Web应用
Koa是一个基于Node.js的Web框架,它由Express.js的原作者设计和开发,旨在提供一种更加简洁、灵活的方式来构建Web应用。Koa采用了异步、中间件和生成器等概念,让开发者能够更轻松地处理请求和响应、控制流程以及处理异步操作。Koa是一个高效、灵活的Web框架,通过异步、中间件和生成器等概念,使得开发者能够更轻松地构建Web应用。它的简洁的语法和强大的功能使得Koa成为了Node.js生态系统中备受欢迎的选择。希望本篇介绍能够帮助你对Koa有一个初步的了解,并开始探索和应用这个优秀的框架。原创 2023-08-22 17:47:58 · 1505 阅读 · 0 评论 -
809协议解读遇到的一些小问题
它和808不同,它的头和尾标识不一样,头是5b,尾是5d转义方式:5b->5a 015a->5a 025d->5e 015e->5e 02。原创 2023-07-17 11:26:12 · 418 阅读 · 0 评论 -
809协议nodejs编写笔记
有的地方上写着用gbk有的地方没写,没写的时候就要注意这个字段是否有中文存在的可能,比如车牌号肯定有中文,只要有中文一律使用gbk编码,在协议的数据类型介绍里面有详细描述(但我第一次看的时候完全忽视)通过一个mian文件创建多个子进程,子进程的配置信息放在一个config.js的文件里,从数据库调用查找(里面有密钥,接入码,密码,用户名等)当启用多个进程的时候可能会调用同一个js组件文件,如果每个进程都要对此文件的变量进行修改,会不会影响并行的进程?答案:不会,不同进程互不干扰,地址不同。原创 2023-08-14 16:39:55 · 500 阅读 · 1 评论 -
redis学习笔记
redis可以当作缓存来使用,存在内存里,比读数据库更快,但是比从内存变量里取数据还是要慢不少的。原创 2023-08-21 18:44:08 · 307 阅读 · 0 评论 -
geo算法了解学习以及选择
手写的geo算法在时间效率上要远高于另外两种方法,空间占用略少于前两种;时间上的区别主要是因为手写的geo算法不需要通过网络,直接从内存中获取,而redis虽然也是从内存中获取数据,但是要经过网络传输进行计算,mysql无论计算还是获取数据都是通过网络,时间上最慢。空间上来说,前两种方法几乎一致,都是把事件读取到内存,别的都不消耗内存空间;而手写的geo需要把桩号也录入内存,比前两种空间占用略大,这个大小差是桩号个数×12字节(桩号id,经纬度各四个字节)持久化角度来说,数据库的持久化肯定是最好的;原创 2023-08-22 16:56:33 · 358 阅读 · 0 评论