自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 原生的 promise 的局限性

本文来自:https://ekyu.moe/article/limits-of-native-promise-and-async-await/众所周知,Nodejs 已原生支持 Promise 和 async/await 关键字,异步控制已经变得更加方便。然而,如今仍有很多人选择使用第三方的 Promise 库(如bluebird)和类似 async/await 的实现(如c...

2017-09-27 16:00:00 138

转载 linux 常用端口

吐血整理所有常用端口,不全你来打我!作者:ADreamClusive来源:http://blog.csdn.net/u013943420/article/details/65938696大家在学习计算机的时候,对于最常用的几个端口比如80端口肯定有很深的印象,但是对于其他一些不是那么常用的端口可能就没那么了解。所以,在一些使用频率相对较高的端口上,很容易会...

2017-05-02 11:34:00 652

转载 mongodb query index 分析

query 的过程及分析:query 是通过Query planner选择最有效的查询plan ,为一个query 被给予一个可用的索引,查询时 query optimizer(最优的查询条件选择器)在caches里面查询, 找出匹配的最优的查询的index(query shapes),the query planner 搜索query plan cache寻找合适的query s...

2017-04-20 16:32:00 149

转载 五大常见的MySQL高可用方案

本文来自:https://zhuanlan.zhihu.com/p/25960208UCloud云计算1. 概述我们在考虑MySQL数据库的高可用的架构时,主要要考虑如下几方面:如果数据库发生了宕机或者意外中断等故障,能尽快恢复数据库的可用性,尽可能的减少停机时间,保证业务不会因为数据库的故障而中断。用作备份、只读副本等功能的非主节点的数据应该和主节...

2017-04-20 14:51:00 146

转载 Linux内核分析方法谈

本文来自http://blog.csdn.net/ouyang_linux007/article/details/7422346  Linux的最大的好处之一就是它的源码公开。同时,公开的核心源码也吸引着无数的电脑爱好者和程序员;他们把解读和分析Linux的核心源码作为自己的最大兴趣,把修改Linux源码和改造Linux系统作为自己对计算机技术追求的最大目标。Linux内核源码...

2017-04-18 10:56:00 79

转载 JavaScript中的原型继承

首先我们看看原型编程范型至少包括以下基本规则。    所有的数据都是对象。    要得到一个对象,不是通过实例化类,而是找到一个对象作为原型并克隆它。    对象会记住它的原型。    如果对象无法响应某个请求,它会把这个请求委托给它自己的原型。下面我们来谈论下javascript的原型继承:1. 所有的数据都是对象...

2017-04-04 16:35:00 74

转载 js 中面向对象的多态

什么是多态:  实际上是不同对象作用与同一操作产生不同的效果。多态的思想实际上是把“想做什么”和“谁去做“分开,多态的好处是什么呢?为什么要多态?我们来看看Martin Fowler 在《重构:改善既有代码的设计》里写到:  多态的最根本好处在于,你不必再向对象询问“你是什么类型”而后根据得到的答 案调用对象的某个行为——你只管调用该行为就是了,其他...

2017-03-30 21:29:00 69

转载 mongodb 索引的创建

mongodb 创建常用的创建索引的有 signle Field Indexes Compound multikey,创建索引就是按照索引字段把documnet 进行排序,索引只存储了document 创建索引的字段的值,创建索引的目的就是为了加快读取数据的速度,当然在插入时创建索引,必然会减慢插入时的速度,mongodb提供了异步的创建索引的方法,可以异步创建,详见这里(http://...

2017-03-28 20:47:00 93

转载 this 的理解

function foo(num){ console.log("foo:",+num); this.count++}foo.count =0for (var i=0; i<10;i++){ if (i>5){ foo(i); }}console.log(foo.count)在非严格模式下 foo.count应该最后输出的是0,和我们想象的...

2017-03-21 09:52:00 100

转载 js 的胖箭头问题

我们在声明函数的时候通常是var foo function(a){console.log(a)};用ES6 我们写成了这样var foo = a =>{  console.log(a);};foo(2);只是少些了function字段哪些冗余的东西吗首先看下下面的代码:var obj={  id:"LOVE"  love:fun...

2017-03-20 21:29:00 103

转载 js 的执行过程

首先来看一下LHS和RHS  LHS:是赋值操作的左侧,可以理解为赋值操作的目标是谁  RHS:是赋值操作的右侧,谁是赋值操作的源头。接下来看看这段代码的执行过程:  function foo(a){    console.log(a):  } foo(2);我们把这段代码想想成一段对话:  引擎:作用域,我需要对foo 进行RHS 引用,你见过吗...

2017-03-19 17:55:00 75

转载 js 的编译

js和其他语言一样,也是需要编译的,代码编译发生在代码执行之前,js代码的编译会经历如下几个阶段1.分词,词法分析   这个过程会将由字符串组成的字符分解成有意义的代码块,这些代码块称为词法单元,例如:var a = 2; 这段程序通常会被分解成为下面的词法单元,var,a, =,1,;.2.解析/语法分析 这个过程是将词法单元流转换为一个由元素逐级嵌套所组...

2017-03-19 17:31:00 249

转载 mongoose@4.5.2的eachAsync bug

  自称踩坑大王,幸好没有地雷,哈哈哈哈哈哈,今天用了mongoose的 eachAsync() 方法,没想到,会出现 Trace: [RangeError: Maximum call stack size exceeded]这个错误,为什么呢?  代码所示,采用了递归的方式进行游标操作的,在每次handleNextResult递归之前,原来的doc 没有释放,还是压在栈里面,因此,会出...

2016-12-20 20:53:00 92

转载 [mongodb] MMAP 和wiredTiger 的比较

  mongodb 现在有两款存储引擎 MMAPv1 和 WireTiger,当然了除了这两款存储引擎还有其他的存储引擎了。如:内存引擎:现在的mongodb 版本中已经有了,主要的cache 服务,它主要是做单元测试的。mongo-rocks:是一个key-value 的引擎被作为一个混合层为Facebook的RocksDBFusion-io: 这个存储引擎是被S...

2016-12-18 22:50:00 166

转载 [mongodb] MMAPv1 Storage Engine

  MMAPv1 是mongodb 在3.2以前默认的存储引擎,在3.2 之后默认的存储引擎为WiredTiger,MMAPv1存储引擎基于内存映射文件,它擅长高容量的插入,读取和更新。Journal  为了确保所有对mongodb 数据集的修改是可持续的写到磁盘中,mongodb 默认所有的记录都写在磁盘中的日志里面,mongodb写日志比写数据文件更加平凡。默认的情况下,mo...

2016-12-16 13:40:00 149

转载 [mongodb] WiredTiger Storage Engine

  今天看了mongodb的官方文档中的WiredTiger Storage Engine ,说说我对WiredTiger Storage Engine 的理解!  在mongodb3.2版本以后,wiredTiger 存储引擎为默认的储存引擎。Document Level Concurrency  WiredTiger 的写操作使用了Document 级别的并发控制,因此多...

2016-12-15 18:49:00 207

转载 近千节点的Redis Cluster高可用集群案例:优酷蓝鲸优化实战(摘自高可用架构)...

(原创)2016-07-26 吴建超 高可用架构导读:Redis Cluster 作者建议的最大集群规模 1,000 节点,目前优酷在蓝鲸项目中管理了超过 700 台节点,积累了 Redis Cluster 大量宝贵经验,本文从 Redis Cluster 的工作原理出发,提出了管理 Redis 超大集群几点行之有效的优化方法。吴建超,优酷土豆广告基础平台开发工程师,对互联网基础产品...

2016-12-12 17:08:00 111

转载 Redis 集群

(本文摘自互联网)由于Redis出众的性能,其在众多的移动互联网企业中得到广泛的应用。Redis在3.0版本前只支持单实例模式,虽然现在的服务器内存可以到100GB、200GB的规模,但是单实例模式限制了Redis没法满足业务的需求(例如新浪微博就曾经用Redis存储了超过1TB的数据)。Redis的开发者Antirez早在博客上就提出在Redis 3.0版本中加入集群的功能,但...

2016-12-09 12:37:00 46

转载 python linux 开启 一个新端口 查看文件

python -m SimpleHTTPServer转载于:https://www.cnblogs.com/Kellana/p/6078085.html

2016-12-08 16:42:00 215

转载 mongodb 的Cursor 作为 stream 的时候,读出来的数据数字开头的key没法访问(又踩了一个坑)...

mongdb 用Cursor 读取数据的时候,直接用流读出来的数据key是数字开头的话,就是独具不到,用Object.keys() 把所有的key 打印出来的话如下:怎么会是这样的呢?查看了一下文档,这个cursor返回的是一个object 模型,意味着他触发了真实的document 的实例,所以返回的是所有的documnet的实例(包含了其中的一些方法),所以可以用一些stre...

2016-11-14 11:15:00 152

转载 深入理解Node.js中的垃圾回收和内存泄漏的捕获

深入理解Node.js中的垃圾回收和内存泄漏的捕获文章来自:http://wwsun.github.io/posts/understanding-nodejs-gc.htmlJan 5, 2016对于Node.js而言,通常被抱怨最多的是它的性能问题。当然这并不意味着Node.js在性能方面就比其他技术表现的都更差, 因此开发者有必要清晰的理解Node.js是具体如何工...

2016-11-08 11:06:00 159

转载 mongodb 有一个坑 报错 no mongos proxies found in seed list

mongoose 的报当我从mongoose@4.5.2 升级到mongoose@4.6.5的时候,出现了一个问题:Unhandled rejection MongoError: no mongos proxies found in seed list怎么办,我google 一下的时候发现: https://github.com/christkv/mongodb-cor...

2016-10-27 17:23:00 341

转载 mongodb index 的background 及集群的索引建立

在数据库建立索引时,默认时"foreground" 也就是前台建立索引,但是,当你的数据库数据量很大时,在建立索引的时会读取数据文件,大量的文件读写会阻止其他的操作,此时在建立索引的时候用background:true,虽然,background在可以在后台建立索引。在后台建立索引的时候,不能对建立索引的collection进行一些坏灭型的操作,如:运行repairDatabase,...

2016-10-20 12:33:00 5651

转载 mongodb 中的Multikey Index Bounds解释$elemMatch

首先说一下$elemMatch的用法:{ _id: 1, results: [ 82, 85, 88 ] }{ _id: 2, results: [ 75, 88, 89 ] }$elemMatch是匹配document 中数组中至少有一个元素满足$elemMatch中的所有条件,例如:db.scores.find( { results: { $elemMatc...

2016-10-18 12:20:00 163

转载 mongodb 中 Aggregation 的管道和分片集合( Pipeline and Sharded Collections)

mongodb 中的aggretion 中,如果管道中存在一个与之相匹配的shard key ,那么这个管道只运行在与之相匹配的shard 中,在以前(3.2),pipeline 被分流,最后又由primary shard 合并;在sharded collections 中,aggragation 必须运行在多个shards 中,如果这个操作不请求运行到primary shard...

2016-09-18 11:02:00 119

转载 mac 查看C++及各种环境的命令

MacBook-Air:$ which g++/usr/bin/g++MacBook-Air:$ archi386MacBook-Air:$ g++ --versionConfigured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1...

2016-09-07 12:15:00 309

转载 mongodb count 导致不正确的数量(mongodb count 一个坑)

在mongodb 集群中,if 存在orphaned documents 和chunk migration,count查询可能会导致一个不正确的查询结果,例如我就是踩的这个坑,先不说话,看结果:skip 只能获取到54631,而count查出来了77396条数据,这就是坑,一样的查询条件,不一样的结果,为了避免这种结果,可以使用聚合查询,如上图所示,着里又是一个坑。m...

2016-09-06 10:59:00 531

转载 计数排序(COUNTING-SORTING)

计数排序的思想:计数排序是对每一个输入元素x;确定小于x的元素个数。计数排序算法:第一个for循环为统计arra 中的每一个数值的个数,并且放在相应arrc 数组中的arra[i]位,第二个for循环为了统计arrc[j]位以前有多少个数小于或等于arrac[j] 的数字,遍历arra[k],把对应 的arra[k]放在输出数组arrb中。运行过成如图所示:...

2016-09-05 19:52:00 111

转载 快速排序(QUICKSORT)

快速排序应用了分治的思想。首先,要分解,数组A[p..r]划分为两个子数组A[p..q-1]和A[q+1..r],使得A[p..q-1]中的每一个元素都小于A[q],而A[q]也小于等于A[q+1..r]中的每一个元素,其中,计算下标也是q划分的一部分。解决:通过递归调用快速排序,对子数组A[p..q-1]和A[q+1..r]进行排序。合并:因为字数组都是原址排序的,所以不需...

2016-09-02 17:13:00 93

转载 堆排序(HEAPSORT)

堆排序是利用”堆“的数据特性来进行数据管理。首先说一下什么是堆,堆的本质是经过排序的完全二叉树,其中任一非终端节点的数据值均不大于(或不小于)其左孩子和右孩子节点的值。根结点(亦称为堆顶)的关键字是堆里所有结点关键字中最小者的堆称为最小堆。根结点(亦称为堆顶)的关键字是堆里所有结点关键字中最大者,称为最大堆。堆排序的最坏的运行时间是O(nlgn).要用堆排序,首先要知道最大堆,...

2016-09-01 21:14:00 88

转载 mongodb的原子性(Atomicity)和事物 (Transactions)

在mongodb中,单个的写操作保持原子性是在单个的document 上。$isolated operator$isolated 一个写操作多个documents 的时候可以防止和其他进程交织,一旦写操作修改第一个文档,直到些操作完成或者出错,不会有一个client 看到这个改变。$isolated不能工作在sharded clusters. $isolated 没有事件回滚...

2016-08-30 16:11:00 133

转载 插入排序(INSERTION SORT)

先贴了代码,插入排序就是把所有的在数组中的数据拿出来和其他数组中的元素比较,时间复杂度为:n^2;还是说下步骤:初始化:数组从j=1开始,i=0;迭代:当i=0 时和key(也就时arr[1])比较,key<a[i]的时候进入while 循环,这时,把arr[i] 负值给arr[i+1],i在减去1,如果条件满足while 循环,继续while 循环,如果条件...

2016-08-25 19:45:00 47

转载 mongodb $where 查询中的坑

mongodb 查询中坑就是数字开头的字段不能用点号,只能用[""]。例如:即:db.datas.find({$where:"this['54bcfc6c329af61034f7c2fc'].testRet !== this['54bcfc6c329af61034f7c2fc'].taskRet"})但是 如果你用即:db.datas.find({$where:"th...

2016-08-24 19:54:00 260

转载 关于C++ 中的this 的理解

关键字this 通常被用在一个class内部,指正在被执行的该class的对象(object)在内存中的地址。它是一个指针,其值永远是自身object的地址。转载于:https://www.cnblogs.com/Kellana/p/5794681.html...

2016-08-22 10:34:00 88

空空如也

空空如也

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

TA关注的人

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