随笔分类 -  node.js

摘要:最早在大学的时候,只知道用 MD5 来存用户的账号的密码,但其实这非常不安全,而所用到的哈希函数,深入挖掘,也发现并不简单…… 一、普通的 Hash 函数 哈希(散列)函数是什么就不赘述了。 1、不推荐 RC4, MD4, MD5, SHA-0, SHA-1, DES, 2DES 等 2、推荐 SH 阅读全文
posted @ 2020-04-17 00:16 小蒋不素小蒋 阅读(6783) 评论(4) 推荐(10) 编辑
摘要:一、背景 最近做 dashborad 图表时,涉及计算小数且四舍五入精确到 N 位。后发现 js 算出来的结果跟我预想的不一样,看来这里面并不简单…… 二、JS 与 精度 1、精度处理 首先明确两点: 1、小数才会涉及精度的概念 2、小数的(存储和)运算涉及 JS 的精度处理 在现实中,我们运算小数 阅读全文
posted @ 2020-04-05 22:02 小蒋不素小蒋 阅读(3071) 评论(0) 推荐(1) 编辑
摘要:一、背景 1、Node.js 异步控制 在之前写的 "callback vs async.js vs promise vs async / await" 里,我介绍了 ES6 的 promise 和 ES7 的 async / await 的基本用法。 可以肯定的是, node.js 的异步控制(a 阅读全文
posted @ 2019-12-14 21:45 小蒋不素小蒋 阅读(3152) 评论(0) 推荐(1) 编辑
摘要:一、JSON vs JS 对象 1、区别 | 区别 | Javascript 对象 | Json | |: |: | | | 含义 | 对象的实例 | 一种数据格式(序列化格式) | | 传输 | 不能传输 | 可以 跨平台 传输,轻量级 | | 格式 | 1.键不加引号、加单引号、双引号都行2.值 阅读全文
posted @ 2019-12-08 17:56 小蒋不素小蒋 阅读(931) 评论(0) 推荐(0) 编辑
摘要:一、Node.js 日志 1、原生 Node.js 原生方法其实很简单,就四个: 配合 pm2 的 log 功能(参见我之前的 blog: "pm2 官方文档学习笔记 小蒋不素小蒋 博客园" ),可以对项目实现基础的日志功能。(目前我采用的也是这种) 2、第三方库 debug:比较简单,expres 阅读全文
posted @ 2019-11-17 23:07 小蒋不素小蒋 阅读(598) 评论(0) 推荐(0) 编辑
摘要:一、介绍 1、是什么 npm 全称是 Node Package Manager,即 Node 包管理工具。 但是发展到后来,并不仅是适用于 node.js 的包。 所以现在看 node_modules 这个名字实在有点偏颇,现在 npm 自己都说自己是通用的包管理,并不局限于 node,然而这名字却 阅读全文
posted @ 2019-11-08 20:38 小蒋不素小蒋 阅读(996) 评论(0) 推荐(0) 编辑
摘要:一、介绍 官方文档: 中文 "https://www.lodashjs.com/docs/latest" 英文 "https://lodash.com/docs/4.17.15" 1、作用 是一套 工具库 ,内部封装了很多字符串、数组、对象等常见数据类型的处理函数。 2、组成 :全部功能 :只有核心 阅读全文
posted @ 2019-10-23 16:32 小蒋不素小蒋 阅读(2860) 评论(0) 推荐(0) 编辑
摘要:一、背景: 我司的系统,用户可以创建任务,启动任务,但任务的运行需要很长的时间,所以采用消息队列的方式,后台异步处理。 这里所用到的是 RabbitMQ ,对应的 Node.js 库为 amqplib ( 这里采用的是回调形式:require("amqplib/callback_api") )。 二 阅读全文
posted @ 2019-07-23 20:11 小蒋不素小蒋 阅读(3467) 评论(0) 推荐(1) 编辑
摘要:一、Demo 1、首先定义 module 文件: 2、添加 main 文件: 二、追问 在 main 文件中还是需要有 来包裹整个 function content,有没有更简洁的写法呢? 阅读全文
posted @ 2019-07-01 13:15 小蒋不素小蒋 阅读(6951) 评论(0) 推荐(0) 编辑
摘要:环境: VSCode 1.33.1 Node.js 8.9.1 一、ESLint 1、介绍 ESLint是最流行的JavaScript Linter。 Linter 是检查代码风格/错误的小工具。其他类似的 Linter 工具还有:TSLint、stylelint。 它包含三个功能: (1)chec 阅读全文
posted @ 2019-05-07 21:18 小蒋不素小蒋 阅读(23807) 评论(1) 推荐(1) 编辑
摘要:环境: MacOS 10.14 Node.js 8.9.1 零、背景 目前有个上线应用会接受多个请求,且每个请求的处理时间可能很久,可能到数小时,所以就想采用异步机制,至于复杂的运算就用消息队列(MQ)去慢慢消化。 网上调研了一圈,遂采用RabbitMQ。 一、安装 1、安装 (1) MacOS b 阅读全文
posted @ 2019-04-25 18:39 小蒋不素小蒋 阅读(1635) 评论(3) 推荐(0) 编辑
摘要:一、背景 react 项目中,渲染组件时,显示的数据一直有问题,本来以为是 react 组件的问题,后来才发现罪魁祸首在 fetch 数据的过程,因为我用了 async/await ,而却搭配了 foreach 去循环拉取数据,却导致本以为是同步的操作还是变成了异步。 二、正文 沿用我之前一篇文章( 阅读全文
posted @ 2019-03-31 00:23 小蒋不素小蒋 阅读(3503) 评论(0) 推荐(4) 编辑
摘要:一、背景 最近在做 CMS 系统中不同身份登录用户的权限管理,涉及到对 api 路径的识别去判断是否放行。以前对正则表达式都是敬而远之,要用到的话都是直接复制粘贴现成网上的表达式,看也看不太懂,借这次机会熟悉下,不求钻的多深,但求有个整体的认知,满足我目前的简单需求即可。 二、介绍 正则表达式(Re 阅读全文
posted @ 2018-12-13 13:06 小蒋不素小蒋 阅读(509) 评论(0) 推荐(0) 编辑
摘要:一、作用 类似 git 管理源代码 一样,维护你的 DB。 二、安装 三、使用 1、构建项目时 会创建以下四个文件夹: , 包含配置文件,它告诉 CLI 如何连接数据库 ,包含您的项目的所有模型 , 包含所有迁移文件 , 包含所有种子文件 问:如何修改这四个文件的位置? 答:在项目的 中创建一个空文 阅读全文
posted @ 2018-11-19 18:22 小蒋不素小蒋 阅读(4107) 评论(0) 推荐(1) 编辑
摘要:一、背景 某个项目里,存在一个对象数组,我用 的 函数,分别生成了 A、B 两个新的对象数组,但我遍历了 B 数组,改造里面的每一个对象,没想到引起 A 数组的里对象发生了变化,引发了错误。 这是一个基础的,对引用类型——对象没有使用深拷贝的问题,我疏忽了,特此记录下。 二、例子 1、浅拷贝 ret 阅读全文
posted @ 2018-10-18 15:02 小蒋不素小蒋 阅读(12799) 评论(0) 推荐(2) 编辑
摘要:一、安装 / 使用 npm install moment 注:使用版本为 2.22.2 var moment = require('moment'); moment().format(); // 2018-09-11T11:34:13+08:00 moment 时间格式对照表 Key Key_2 S 阅读全文
posted @ 2018-09-13 19:01 小蒋不素小蒋 阅读(5228) 评论(0) 推荐(0) 编辑
摘要:背景 最近在做报表统计,因为 sequelize 的时区配置没加导致了统计数字对不上的问题。 问:大家都知道时区,但是你清楚 UTC 和 GMT 的区别吗? 答:UTC 是我们现在用的时间标准,GMT 是老的时间计量标准。 (1)GMT 是根据地球的自转和公转来计算时间,也就是太阳每天经过位于英国伦 阅读全文
posted @ 2018-09-13 02:37 小蒋不素小蒋 阅读(2180) 评论(0) 推荐(0) 编辑
摘要:背景: 在最近的 NODEJS 项目中,涉及到数据库的查询,回调函数里返回了查询结果,我这样做处理然后返回给前端: 但是这样万一 results.collect_coupon 是 undefined,再继续取下去就会抛错( ) ,所以我激进地改成了这样: 但是这种写法太过 冗长 ,变量重复出现很不好 阅读全文
posted @ 2018-08-21 13:05 小蒋不素小蒋 阅读(683) 评论(0) 推荐(0) 编辑
摘要:需求:想要声明函数的时候同时执行这个函数。 一、错误示例 return: 报错:SyntaxError: Unexpected token ( 二、正确示例 方法一 最流行的也最被接受的方法是将 包裹在圆括号里来告诉语法分析器去表达一个 方法二 一元操作符 如 ~`` 这种方法会使代码更简洁最直观, 阅读全文
posted @ 2018-08-15 13:49 小蒋不素小蒋 阅读(172) 评论(0) 推荐(0) 编辑
摘要:需求: A、依次读取 A|B|C 三个文件,如果有失败,则立即终止。 B、同时读取 A|B|C 三个文件,如果有失败,则立即终止。 一、callback : return: :太恶心了,不写了,总之很繁琐. 二、async.js 库的详细介绍可以见:[待写] : 当第二个 readFileB() 读 阅读全文
posted @ 2018-08-14 21:23 小蒋不素小蒋 阅读(836) 评论(0) 推荐(0) 编辑

ICP证:沪ICP备20014317号

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