自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

转载 koa2做请求转发

最近用koa2做请求转发时,采用了request(options).pipe(ctx.res)的方法,结果出现了有时候前端获得的数据是分片的。后来翻阅文档,采取了如下方式解决: const PassThrough = require('stream').PassThrough; ctx.body = request(options) ...

2019-06-26 17:51:00 3866

转载 ES5中的类与继承

最近在重新复习TypeScript,看到类这块的时候自然会和ES5中的类写法进行对比加深印象。发现ES5的类与继承一些细节还是挺多的,时间久了容易忘记,特此记录下。首先是ES5的类定义,这没什么好说的,直接上代码:function Person () { this.name = 'xc' // 属性 this.age = 30 // 属性方法 th...

2019-06-19 23:21:00 148

转载 Docker中部署puppeteer导出pdf

最近在做puppeteer容器化的过程中发现问题。在容器中npm install puppeteer仍然会报错,不能launch随后错误提示中也给出了官方的文档,https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md翻阅了官方问题后,发现...

2019-06-14 10:00:00 543

转载 typescript import 全局node_modules报错

项目里面有一个node_modules的包太大,每次放到docker里面都要下载半天,大大减少了部署效率。所以考虑将这个node包全局安装到docker的基础镜像中,那么代码里面直接引用全局包就可以了。于是发现require成功,可是import失败。报错类似如图所示:原来是typescript的模块加载方式不一样。解决方案:配置typescript.jso...

2019-05-15 16:52:00 989

转载 Elasticsearch基本语法

match和match_phrase区别match:索引中只要有任意一个匹配拆分后词就可以出现在结果中,只是匹配度越高的排越前面match_phrase:索引中必须同时匹配拆分后词就可以出现在结果中ex:GET /product_index/product/_search{ "query": { "match_phrase": { ...

2018-11-20 11:06:00 127

转载 Golang 环境变量及工作区概念

GOROOTgo的安装路径GOPATH可以有多个目录,每个目录就是一个工作区,放置源码文件,以及安装后的归档文件和可执行文件;第一个工作区比较重要,go get会自动从一些主流公用代码仓库下载目标代码包,并把它们安装到环境变量GOPATH包含的第一工作区的响应目录中。如果存在环境变量GOBIN,那么仅包含命令源码文件的代码包会被安装到GOBIN指向的那个目...

2018-08-13 17:47:00 111

转载 记录Elasticsearch的一次坑

Elasticsearch建立mapping关系时,默认会给string类型加上分词。所以例如openid这种,如果你用默认的分词,就可能会出现查不到数据的情况。解决方案:1.将数据备份2.recreate index3.create new mapping 给openid加上"index":"not_analyzed"4.重新导入数据转载于:htt...

2017-02-27 11:00:00 91

转载 二叉树查找

接着上一章,对二叉树查找通常有三种类型:1.查找最小值。2.查找最大值。3.查找给定值。最小值较小的值总是在左子节点上,在BT上查找最小值,只需要遍历左子树,直到找到最后一个节点。function getMin() { var current = this.root; while (!(current.left == null)) { ...

2016-11-24 16:08:00 88

转载 实现二叉树以及遍历二叉树

实现二叉树定义节点://定义节点function Node(data, left, right) { this.data = data; this.left = left; this.right = right; this.show = show;}//显示节点数据function show() { retur...

2016-11-24 14:35:00 81

转载 Kibana + ElasticSearch

上面一张介绍了ElasticSearch的安装和简单用法。现在应该都知道ElasticSearch是用来做全文搜索的,那今天我就简单介绍下Kibana。它是专门用来查看ElasticSearch内容的工具,并且可以图形化Docker安装Kibana命令:docker pull index.tenxcloud.com/docker_library/kibana...

2016-07-28 14:13:00 84

转载 Docker + ElasticSearch + Node.js

最近有空就想研究下ElasticSearch。此篇文章用来记录研究过程。备注:需要有一定的docker基础,ElasticSearch的基本概念Docker安装ElasticSearch首先,就是安装ElasticSearch。 因为有了docker,所以就不用按部就班的安装,直接通过下载ElasticSearch的镜像源就搞定。理想是美好的,现实是残酷的。因为从国外拉取...

2016-07-27 14:37:00 81

转载 MongoDB 学习五:索引

这章我们介绍MongoDB的索引,用来优化查询。索引介绍数据库索引有些类似书的目录。一个查询如果没有使用索引被称为表扫描,意思是它必须像阅读整本书那样去获取一个查询结果。一般来说,我们应尽量避免这种情况,因为它是非常慢的。举个例子,我们创建一个百万条数据的collection:for(i=0;i<1000000;i++){ db....

2015-10-12 13:44:00 71

转载 MongoDB 学习四 : 查询(续)

接着上章,继续介绍MongoDB的查询。Querying on Embedded Documents有两种方式查询嵌入式的子Documents:查询整个Document或者查询个别的键值对。查询整个子Document和正常的查询是一样的。我们有一个document:{ "name":{ "first":"Joe", ...

2015-09-16 13:49:00 60

转载 MongoDB 学习三

这章我们学习MongoDB的查询操作。Introduction to findfind方法用于执行MongoDB的查询操作。它返回collecion中的documents子集,没有添加参数的话它将返回整个collection数据。例:查找c的所有数据db.c.find()find的第一个参数是查询条件,决定了返回哪些documents数据。例:我们想要查找...

2015-09-09 17:36:00 76

转载 MongoDB 学习二

这章我们学习数据操作。Inserting and Saving Documents上一章我们已经简单介绍了数据插入,如:db.foo.insert({"bar":"baz"})那么,假如你碰到需要插入多条documents的时候情况怎么办呢?只要传入数组就行db.foo.insert([{"_id":0},{"_id":1},{"_id":2}]...

2015-09-07 15:40:00 91

转载 MongoDB 学习一

这一章,我们先介绍几个MongoDB的概念:1.document: 它是MongoDB的基础数据单元,它大概等价于关系型数据库中的行。2.collection: 可以想象成动态的表。3.一个简单的MongoDB实例可以携带多个独立的数据库,每个数据库都有属于自己的collections。4.每个document都有自己特殊的key。"_id",它在collection中是...

2015-09-06 14:28:00 86

转载 JavaScript精粹

序:好书是需要不断品读的!再读语言精粹,顺便做点笔记。1.NaN是一个数值,它表示一个不能产生正常结果的运算结果。NaN不等于任何值,包括它自己。检测是否为NaN: isNaN(number)。2.JavaScript的简单类型包括数字、字符串、布尔值、null值和undefined值。其他所有的值都是对象。3.每个对象都连接到一个原型对象,并且它可以从中继承属性。所...

2015-08-26 16:45:00 63

转载 Node中的Socket.IO 简单Demo及说明

注:下面Demo的Server和Client都是纯后端。 并没有web页面。Server端代码:var express = require('express');var app = express();var server = require('http').createServer(app);var io = require('socket.io')(serve...

2015-07-28 13:42:00 119

转载 bluebird-api简介及demo

var Promise = require("bluebird");var fs = require("fs");//方法Promise化var readFileAsync = Promise.promisify(fs.readFile);//.spread([Function fulfilledHandler] [, Function rejectedHandl...

2015-07-27 16:53:00 112

转载 Node 文件上传,ZIP

上传文件:很多人会使用第三包进行文件的上传,例如formidable。我也研究过,可是与Express3.x框架一起使用时,发现上传的文件总是找不到。结果原因是下面这句导致:app.use(express.bodyParser({'uploadDir:xxx'}));Node端上传文件会将上传的文件临时保存到一个目录,然后再通过我们码的代码来移动文件到我们的指定...

2015-07-03 14:10:00 271

转载 Mongoose中的关联表查询 && 聚合查询

注:阅读此篇文章,需要有一定的Mongo基础。基本的不会再重复介绍。例: 有两张表,一张是博客列表,另外一张是博客的标签表。现在我们要做两张表的插入和关联查询。创建两张表的Schema主表blog//博客schemavar blogSchema = new mongoose.Schema({ title: {type: String}, //博客...

2015-06-09 17:41:00 298

转载 node-orm2

最近应老大要求,对orm2进行再一步封装,所以记录下封装和使用心得(文中数据库:mysql)。数据库连接var orm = require("orm");orm.connect("mysql://username:password@host/database", function (err, db) {}实际情况: 由于公司产品比较多,每个产品就会有...

2015-06-04 15:58:00 172

转载 CSS 动画

CSS3 动画通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片、Flash 动画以及 JavaScript。CSS3 @keyframes 规则如需在 CSS3 中创建动画,您需要学习@keyframes规则。@keyframes 规则用于创建动画。在 @keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改为新样式的动画效果。当您...

2015-05-22 10:45:00 62

转载 HTML 客户端存储

在客户端存储数据HTML5 提供了两种在客户端存储数据的新方法:localStorage - 没有时间限制的数据存储sessionStorage - 针对一个 session 的数据存储之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。在 H...

2015-05-21 11:30:00 75

转载 HTML canvas

什么是 Canvas?HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。画布是一个矩形区域,您可以控制其每一像素。canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。创建一个画布(Canvas)一个画布在网页中是一个矩形框,通过 (canvas) 元素来绘制.注意: 默认情况下 (canvas) 元素没有边框和内容。...

2015-05-21 10:57:00 76

转载 CSS3 (二)

translate() 方法通过 translate() 方法,元素从其当前位置移动,根据给定的left(x 坐标) 和top(y 坐标) 位置参数:示例:div{ transform: translate(50px,100px); -ms-transform: translate(50px,100px); /* IE 9 */ -w...

2015-05-20 16:49:00 52

转载 Sequelize入门一

最近刚开始接触Sequelize,当中遇到不少坑,所以想写篇Sequelize入门和大家分享,避免有道友和我一样爬坑。 学习sequelize的初衷是想解决SQL注入,它支持MySQL, SQLite, MariaDB and MSSQL,文中以MySQL举例。第一步:实例化sequelize数据库连接var Sequelize = require('sequelize');...

2015-05-18 18:16:00 107

转载 CSS3 (一)

属性选择器1. E[attr^="value"]:指定了属性名,并且有属性值,属性值是以value开头的;.wrap a[href^="http://"]{background:orange;color:blue;}2. E[attr$="value"]:指定了属性名,并且有属性值,而且属性值是以value结束的;.wrap a[tit...

2015-05-18 18:13:00 106

转载 Angular JS

简介AngularJS 是一个为动态WEB应用设计的结构框架,提供给大家一种新的开发应用方式,这种方式可以让你扩展HTML的语法,以弥补在构建动态WEB应用时静态文本的不足,从而在web应用程序中使用HTML声明动态内容。AngularJS有五个主要核心特性,如下介绍:1.双向数据绑定 —— 实现了把model与view完全绑定在一起,model变化,view也变化,反之亦然...

2015-05-15 11:47:00 84

转载 前端构建工具Gulp

Gulp干嘛的?如题。下面的内容里会有一些详细功能。其实虽然闻名已久,我也是今天才开始研究。所以边研究边做个笔记,希望同大家一起进步。Gulp开始:1.安装包全局:npm install gulp -g项目:npm install--save-dev gulp2.配置文件创建gulpfile.js在你的项目根目录,通俗来说这就是gulp的配置文件,你想运...

2015-05-13 16:11:00 58

转载 Node中的promise简说及入门

Node的特色之一就是异步回调,可是回调过多,就会形成著名的回调金字塔。直接上例子,我要读取1.txt里的内容,然后在这个内容上加上'test'并重新写入文件,如下代码所示:var fs = require('fs');fs.readFile('./1.txt', 'utf-8', function (err, msg) { if (err) { ...

2015-05-11 13:16:00 104

转载 DOM操作三

1.以一个对象的x和y属性的方式返回滚动条的偏移量function getScrollOffsets(w){ //使用指定的窗口,如果不带参数则使用当前窗口 w= w || window; //除了IE 8及更早的版本以外,其他浏览器都能用 if(w.pageXOffset !=null) return {x:w.pa...

2015-05-06 11:11:00 99

转载 DOM操作二

1.创建节点createElement(): 创建新的Element节点var s = document.createElement('script');createTextNode(): 创建Text节点cloneNode(): 复制节点,给方法传递参数true能够递归地复制所有的后代节点,false只是执行一个潜复制importNode(): 除了I...

2015-05-06 10:56:00 61

转载 DOM操作一

1.通过ID选取元素var section = document.getElementById("section1");2.通过ID查找多个元素function getElements(/*ids...*/){ var elements = {}; for(var i =0; i < arguments.length; i++){...

2015-05-05 17:06:00 55

转载 JavaScript算法题(二) && 数组filter使用

1.Let's implement the reject() function...例:var odds = reject([1, 2, 3, 4, 5, 6], function(num){ return num % 2 == 0; });=> [1, 3, 5]soluction:function reject(array, iterator)...

2015-04-29 16:43:00 78

转载 简说 call() 、apply() 、bind()

对于这三个方法,我想一部分人还是比较陌生的。所以今天来个简单的介绍~我们可以将call()和apply()看作是某个对象的方法,通过调用方法的形式来间接调用函数。call()和apply()的第一个实参是要调用函数的母对象,在函数体内通过this来获得他的引用。简单例子:function test(){ return this.x + this.y;}...

2015-04-29 15:20:00 53

转载 JavaScript算法题(一) && 数组reduce使用

可参考Array.reduce用法1. 请编写getMissingElement函数,返回给定数组中缺少的元素(数组里的元素为0~9,只会缺失一个)。Example:getMissingElement( [0, 5, 1, 3, 2, 9, 7, 6, 4] ) // returns 8 getMissingElement( [9, 2, 4, 5, 7, 0, 8...

2015-04-28 13:59:00 68

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除