随笔分类 -  NodeJS

摘要:nodejs想直接请求第三方接口,比如微信登录的,那么appsecret这些肯定放在后端去请求比较安全。以前常用的是request模块,下面简介介绍一下基本用法。但是request目前已不在维护,下面也会介绍一些靠谱的替代方案。 一、request以及request-promise简单介绍 requ 阅读全文
posted @ 2020-08-13 09:42 古兰精 阅读(17556) 评论(1) 推荐(1) 编辑
摘要:一、为什么要使用Token? 在前后端分离开发时为什么需要用户认证呢?原因是由于HTTP协定是不储存状态的(stateless),这意味着当我们透过帐号密码验证一个使用者时,当下一个request请求时它就把刚刚的资料忘了。于是我们的程序就不知道谁是谁,就要再验证一次。所以为了保证系统安全,我们就需 阅读全文
posted @ 2020-08-12 16:34 古兰精 阅读(2179) 评论(0) 推荐(0) 编辑
摘要:Koa 是一个由 Express 原班人马打造的新的 web 框架,Koa 本身并没有捆绑任何中间件,只提供了应用(Application)、上下文(Context)、请求(Request)、响应(Response)四个模块。原本 Express 中的路由(Router)模块已经被移除,改为通过中间 阅读全文
posted @ 2020-08-11 15:53 古兰精 阅读(1597) 评论(0) 推荐(0) 编辑
摘要:本博客描述 Sequelize 中的各种关联类型。当调用诸如 User.hasOne(Project) 之类的方法时,我们说 User 模型(函数被调用的模型)是 source 。 Project 模型(作为参数传递的模型)是 target 。 一、一对一关联 一对一关联是通过单个外键连接的两个模型 阅读全文
posted @ 2020-08-11 15:15 古兰精 阅读(1917) 评论(0) 推荐(0) 编辑
摘要:1、时间格式化 类型需要采用:Sequelize.DATE 初始化Sequelize的时候传入dialectOptions参数,及timezone dialectOptions: { charset: 'utf8mb4', dateStrings: true, typeCast: true }, t 阅读全文
posted @ 2020-08-10 17:49 古兰精 阅读(1570) 评论(0) 推荐(0) 编辑
摘要:一、问题: 大家都知道在HTML中有三种使用CSS的方式,分别是:内联样式、内部样式、外部样式。外部样式,在head部分使用link标签引入外部写入css样式表的文件,示例如下:<link href="index.css" rel="stylesheet">,同时,在项目根目录下创建index.cs 阅读全文
posted @ 2020-08-10 17:34 古兰精 阅读(3707) 评论(1) 推荐(0) 编辑
摘要:一、查询 Finder 方法是生成 SELECT 查询的方法. 默认情况下,所有 finder 方法的结果都是模型类的实例(与普通的 JavaScript 对象相反). 这意味着在数据库返回结果之后,Sequelize 会自动将所有内容包装在适当的实例对象中. 在少数情况下,当结果太多时,这种包装可 阅读全文
posted @ 2020-08-08 11:06 古兰精 阅读(2493) 评论(0) 推荐(0) 编辑
摘要:直接使用Sequelize虽然可以,但是存在一些问题。团队开发时,有人喜欢自己加timestamp,有人又喜欢自增主键,并且自定义表名。一个大型Web App通常都有几十个映射表,一个映射表就是一个Model。如果按照各自喜好,那业务代码就不好写。Model不统一,很多代码也无法复用。所以我们需要一 阅读全文
posted @ 2020-08-06 18:38 古兰精 阅读(2810) 评论(0) 推荐(0) 编辑
摘要:一、调试 项目根目录下新建.vscode文件夹,同时该文件夹下新建launch.json文件 launch.json { // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwli 阅读全文
posted @ 2020-08-06 11:58 古兰精 阅读(1662) 评论(0) 推荐(0) 编辑
摘要:由于常常使用简单的方式来执行原始/已经准备好的SQL查询,因此可以使用 sequelize.query 方法. 默认情况下,函数将返回两个参数 - 一个结果数组,以及一个包含元数据(例如受影响的行数等)的对象. 请注意,由于这是一个原始查询,所以元数据都是具体的方言. 某些方言返回元数据 "with 阅读全文
posted @ 2020-08-05 15:32 古兰精 阅读(7544) 评论(0) 推荐(1) 编辑
摘要:一、什么是 ORM? 首先看下维基百科上的定义,ORM 是「对象关系映射」的翻译,英语全称为Object Relational Mapping,它是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的「虚拟对象数据库」。 随着面 阅读全文
posted @ 2020-08-04 16:17 古兰精 阅读(348) 评论(0) 推荐(0) 编辑
摘要:一、AES补位知识 针对 AES 加密的实现过程,一般都会用到补位。AES 加密的原数据长度要求是 16 的整数倍,但实际操作过程中并不能保证每次待加密的数据长度都能是 16 的整数倍,所以这时候就需要进行补位,再进行加密才能得到正确的加密数据。 常用的补位方式主要:NoPadding,zeroPa 阅读全文
posted @ 2020-07-30 17:49 古兰精 阅读(2272) 评论(0) 推荐(0) 编辑
摘要:一、问题背景 我们经常会看到一种配置语法,如下: node_modules **/*.js dist/**/package.json .gitignore 里、.eslintignore 里、jsconfig.json 里、webpack 配置里、VSCode 查找文件的“包含的文件”搜索框里…… 阅读全文
posted @ 2020-06-11 23:40 古兰精 阅读(7357) 评论(0) 推荐(1) 编辑
摘要:承接之前博客:nodejs向加密文件指定位置插入内容 我们需要对大文件进行处理,并需要真实的进度,那么就需要分片加密和解密。 1、前端分片 // 分片上传 async burst (ks, cryType, id) { let _home = this.$refs.home let successN 阅读全文
posted @ 2020-05-04 17:06 古兰精 阅读(1968) 评论(0) 推荐(0) 编辑
摘要:1、什么是分片上传 分片上传就是把一个大的文件分成若干块,一块一块的传输。这样做的好处可以减少重新上传的开销。比如:如果我们上传的文件是一个很大的文件,那么上传的时间应该会比较久,再加上网络不稳定各种因素的影响,很容易导致传输中断,用户除了重新上传文件外没有其他的办法,但是我们可以使用分片上传来解决 阅读全文
posted @ 2020-05-04 12:37 古兰精 阅读(2923) 评论(1) 推荐(0) 编辑
摘要:最近做了一个需求,需要加解密大文件,并返回真实加解密进度,因为大文件,所以必须要使用到分片上传。有时候前台分片之后,后台需要合并。前台分片上传没什么太大的问题,就是根据buffer或者blob去分割文件即可。主要是后台合并会遇到一些问题。后台合并的方法有很多,以Node.js为例,可以使用以下方式: 阅读全文
posted @ 2020-05-04 11:52 古兰精 阅读(2553) 评论(1) 推荐(0) 编辑
摘要:1、appendFile与writeFile区别 我们在nodejs开发中,有时候会遇到文件读写问题,在写文件的时候,我们会有这样的场景,需要向文件中循环添加内容,这时候,如果调用writeFile(path,data)或者writeFileSync(path,data),只会将最后一次写入的内容加 阅读全文
posted @ 2020-05-04 10:48 古兰精 阅读(10456) 评论(0) 推荐(0) 编辑
摘要:一、需求: 文件加密,将加密密钥之类的东西放在加密文件之前,类似于给文件增加一个头部信息,在解密的时候从文件这个头部信息里拿到这些密钥之类的东西,请求获取解密的code之类的东西,然后解密加密的文件。比如下 二、问题: 不能向文件的指定位置插入内容,如果直接将文件记录指针移动到中间某位置后开始输出, 阅读全文
posted @ 2020-04-19 18:24 古兰精 阅读(855) 评论(0) 推荐(0) 编辑
摘要:NodeJS有以下4个与公钥加密相关的类。 Cipher: 用于加密数据; Decipher: 用于解密数据; Sign: 用于生成签名; Verify: 用于验证签名; 在使用公钥加密技术时,需要使用公钥及私钥:公钥是用于创建只有私钥的拥有者能够读出的加密数据,以及对私钥的拥有者的签名进行验证;私 阅读全文
posted @ 2020-04-19 18:11 古兰精 阅读(2555) 评论(0) 推荐(0) 编辑
摘要:NeDB 是使用 Node.js 实现的一个 NoSQL 嵌入式数据库操作模块, 可以充当内存数据库,也可以用来实现本地存储,甚至可以在浏览器中使用。 查询方式比较灵活,支持使用正则、比较运算符、逻辑运算符、索引以及 JSON 深度查询等,适用于不需要大量数据处理的应用系统。 一、安装 使用 npm 阅读全文
posted @ 2020-04-19 17:43 古兰精 阅读(2149) 评论(0) 推荐(2) 编辑

点击右上角即可分享
微信分享提示