随笔分类 - Node.js
摘要:前言 框架思维非常重要,和语言无关,这是一种非常重要的抽象能力,吹得厉害一点,就是要有高屋建瓴,统筹全局的能力。 无限级树型结构的创建也是有套路的,下面由伟大的诗人chenqionghe给出套路框架,再分别套上相应的编程语言实现。 最终达到看到框架就能实现对应编程语言的代码,或者也可以直接copy实
阅读全文
摘要:问题 ESlint是代码检测、规范开发人员代码用的,虽然挺牛逼的,但是那种缩进、空格、单双引号之类报出的红色波浪线,要了命了,其实啥错没有,如下图 解决 方法一:编辑器直接禁用插件 方法二:删除.eslintrc文件 就是这个,空json或直接删除 方法三:创建.eslintignore忽略文件 类
阅读全文
摘要:故事背景 还是传说中的PUK项目,不仅有一个独特的加密数据方法DESede/CBC/PKCS5Padding,还加了一层RSA签名(非对称加密),双重加密保障,安全系数5颗星! 普及一下非对称加密校验原理,简单说就是 甲方用自己的【私钥】对机密信息进行加密后发送给乙方,乙方再用甲方的【公钥】对甲方发
阅读全文
摘要:故事背景 最近对接了一个第三方支付,冠名PKU的支付项目,用的加密算法是:DESede/CBC/PKCS5Padding 其实就是类似AES/DES的对称加密,这个算法真的是坑爹了,网上搜索了一堆只有java版本是正常的,nodejs版本的各种问题,我了个乖乖,硬着头皮调了大半天,踩了N个坑,真的是
阅读全文
摘要:一、初始化npm包 npm init 输入包名后一直回车,直到生成一个package.json,如下 二、新建自己的工具类 这里我建立了一个文件lib/cqh.js,内容如下 class Cqh { hello() { console.log('hello chenqionghe') } } mod
阅读全文
摘要:问题 每次查询datetime的字段,显示出来都是这种格式 解决办法 初始化Sequelize的时候传入dialectOptions参数
阅读全文
摘要:问题:在外部单独使用类实例对象的方法,this没有指向该类实例对象 代码如下 class CQH { hello() { let name = this.name(); console.log( ); } name() { return "chenqionghe" } } const cqh = n
阅读全文
摘要:[toc] 一、async和await是什么 ES2017 标准引入了 async 函数,使得异步操作变得更加方便,async其实本质是Generator函数的语法糖 async表示函数里有异步操作 await表示在后面的表达式需要等待结果 async函数返回的是一个Promise对象,可以使用th
阅读全文
摘要:ES6允许使用= 定义函数,箭头函数使得表达更加简洁,例如 定义方式 1. 一行代码可以省略代码块花括号{} 2. 一个参数可以省略函数的小括号() 3. 多个参数多行代码常规写法 注意事项 1. 函数体内的this,指向定义时的对象,而不是使用时的对象 2. 不能当作构造函数,不能使用new命令
阅读全文
摘要:1. 数组解析赋值 等同于 默认值 当赋值为undefined的时候,默认值会生效 2.对象解析赋值 默认值 3. 字符串解析赋值 4. 函数参数解析赋值
阅读全文
摘要:[toc] 一、Promise对象的定义 Promise对象用来将异步操作以同步操作的流程表达出来,定义如下 二、链式调用 then方法 使用then方法调用,第一个参数是成功回调,第二个参数是失败回调,如下 下面我们分别定义三个方法,参数为延时执行的秒数 1. chenqionghe 2. get
阅读全文
摘要:[toc] 一、Node.js能解决什么问题 对于PHP、JAVA、Python等服务端语言中,为每个客户端连接创建一个新的线程,而每个线程需要大约2M的内存,理论上,具有8GB内存的服务器可以同时连接的最大用户数为4000个左右,要让Web应用程序支持更多的用户,就需要增加服务器的数量,这样硬件的
阅读全文
摘要:sequelize是node最受欢迎的orm库,普遍使用 Promise. 意味着所有异步调用可以使用 ES2017 async/await 语法. 快速入门地址:https://github.com/demopark/sequelize docs Zh CN/blob/master/getting
阅读全文
摘要:场景 express的路由里抛出异常后,全局中间件没办法捕获,需要在所有的路由函数里写try catch,这坑爹的逻辑让人每次都要多写n行代码 官方错误捕获中件间代码如下 测试证明客户端已经卡死,没有返回结果 解决方法一 虽然可以捕获,在命令行有输出,但是没办法给客户端返回错误了 解决方法二 解决方
阅读全文