node.js
风逝-
这个作者很懒,什么都没留下…
展开
-
面试常用手写eventEmitter实现
class EventEmitter { constructor() { this.handlers = {}; } on(evtName, handler) { if (!(evtName in this.handlers)) { this.handlers[evtName] = []; }...原创 2019-10-23 09:32:52 · 592 阅读 · 0 评论 -
关于使用node进行文件处理的几种方式
在使用node开发过程中很多时候会遇到对文件系统做各种处理操纵 文件处理开发中常用的内置模块 path:处理文件路径 fs:操作文件系统 child_process:新建子进程 process: 进程 比较好用的第三方模块 glob: 使用shell命令的模式匹配文件 trash: 文件放到回收站 下面通过一个文件遍历例子 来描述下node处理文件的各...原创 2019-09-17 18:47:51 · 946 阅读 · 0 评论 -
Stripe支付流程
近几天因为公司的项目中遇到了需要支持给国外本土支付提供支持,经过调研了市面上几款的产品后选择了stripe支付由于资料比较少没有太多讨论,慢慢查看官方文档以下是我对官方文档梳理和对接过程中的一些经验和理解记录了下来关于StripeStripe是一家提供给个人或公司在网上接受付款服务的科技公司 ,支持可以在无需开设商家账户的情况下在网上接受付款。Stripe在付款后两天内等候...原创 2019-01-29 17:21:47 · 18550 阅读 · 23 评论 -
node.js的前世今生 (诞生记)
任何技术的诞生都不会凭空出现,都是有相应的历史起源发展 和经历下面我们先来看下这位老哥 Node.js 之父 Ryan DahlRyan Dahl 现在是 Google Brain 的一个软件工程师。他是 Node.js 之父现在他从事深度学习研究项目,工作重点是彩色化和超分辨率等图像转换工作。他曾经贡献过几个开源项目,包括 HTTP Parse、libuvnode的诞...原创 2019-01-22 14:49:32 · 2379 阅读 · 2 评论 -
node.js的前世今生(特色篇)
前言 在上一篇的文章里我们见证了node的诞生和发展史知道了node是怎么出现的,私下我查阅了很多资料和询问了一些有经验丰富的人在加上一些自己对node的理解,对整体有了一个稍微清晰的认识 希望通过这篇文章来和大家分享下node的特色 相互学习探讨 下面我们废话不多说了直接进入正题 正文接下来我们先看一个问题: 1.node是个什么东西?我们第一反应肯...原创 2019-01-23 18:49:03 · 547 阅读 · 1 评论 -
浅谈bluebird包的使用理解
bluebird是一个第三方Promise类库,相比其它第三方类库或标准对象来说,功能更齐全而不臃肿、浏览器兼容性更好。我们可通过npm命令来安装:npm install bluebird通过require获取对模块的引用:cnst Promise = require('bluebird');我们可以看到官方的api使用说明但我们在项目中常会使用的方法有一下几部分1:.all...原创 2018-11-27 14:58:54 · 9130 阅读 · 0 评论 -
MongoDB 聚合(aggregate)
MongoDB中聚合(aggregate)操作处理数据记录并返回计算结果,聚合操作将来自多个文档的值组合在一起,并且可以对分组数据执行各种操作以返回结果。先看一张图我们可以看出整个聚合的过程(图片来自mongodb官方)db.collection.aggregate()的定义db.collection.aggregate(pipeline,options)pipeline ...原创 2018-11-20 10:27:03 · 9393 阅读 · 2 评论 -
node中stream与buffer的关系
JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。但在处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。所以在一个应用程序中,stream是一组有序的、有起点和终点的字节数据的传输手段。Buffer 用于创建一个专门存放二进制数据的缓存区 Stream 有四种流...原创 2017-04-13 10:00:24 · 1126 阅读 · 0 评论 -
js 闭包理解
我们先看一下维基百科对于闭包的解释 这里我们先只描述下闭包的概念 在PHP、JavaScript、Ruby、 Python、Go、Lua、objective c、swift 以及Java(Java8及以上)等语言中都能找到对闭包不同程度的支持。可能看了这个官方的解释会让你感觉云里雾里,我刚开始看的时候也很蒙,(这里我要很感谢我的老大 每次不明白的地方都会和我讲述清楚和背后的基础原理)通过几番...原创 2018-09-20 14:44:58 · 523 阅读 · 0 评论 -
express koa 中间件执行顺序
express 和 koa 中间件是用于处理 http 请求和响应的,但是二者的设计思路确不尽相同。 express中间件一个接一个的顺序执行, 习惯于将response响应写在最后一个中间件中; 而koa的中间件执行顺序是“洋葱圈”模型。其实中间件也是一种拦截器的思想我们先看下express中间件的执行顺序得到的结果是 下面是koa中间件执行顺序...原创 2018-05-16 10:33:34 · 2673 阅读 · 0 评论 -
node async模块流程
async.series series函数 串行执行它的作用就是按照顺序一次执行。series函数的第一个参数可以是一个数组也可以是一个JSON对象 async.waterfall waterfall和series函数有很多相似之处,都是按照顺序执行。不同之处是waterfall每个函数产生的值,都将传给下一个函数,而series则没有这个功能 async.par...原创 2018-10-08 12:37:46 · 432 阅读 · 0 评论 -
lodash模块工作中常用操作
1. _.map(collections,function)function square(n) { return n * n;}_.map([4, 8], square);// => [16, 64] 2._.pick从某个对象中选择部分属性组成新的对象var objA = {"name": "colin", "car": "suzuki", "age...原创 2018-05-17 17:53:17 · 3529 阅读 · 0 评论