<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ddxto80286的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ddxto80286</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ddxto80286]]></copyright><item><title><![CDATA[原生的 promise 的局限性]]></title><link>https://blog.youkuaiyun.com/ddxto80286/article/details/102202942</link><guid>https://blog.youkuaiyun.com/ddxto80286/article/details/102202942</guid><author>ddxto80286</author><pubDate>Wed, 27 Sep 2017 16:00:00 +0800</pubDate><description><![CDATA[本文来自：https://ekyu.moe/article/limits-of-native-promise-and-async-await/
众所周知，Nodejs 已原生支持 Promise 和 async/await 关键字，异步控制已经变得更加方便。
然而，如今仍有很多人选择使用第三方的 Promise 库（如bluebird）和类似 async/await 的实现（如c...]]></description><category></category></item><item><title><![CDATA[linux 常用端口]]></title><link>https://blog.youkuaiyun.com/ddxto80286/article/details/102202937</link><guid>https://blog.youkuaiyun.com/ddxto80286/article/details/102202937</guid><author>ddxto80286</author><pubDate>Tue, 02 May 2017 11:34:00 +0800</pubDate><description><![CDATA[吐血整理所有常用端口，不全你来打我！

作者：ADreamClusive
来源：
http://blog.youkuaiyun.com/u013943420/article/details/65938696

大家在学习计算机的时候，对于最常用的几个端口比如80端口肯定有很深的印象，但是对于其他一些不是那么常用的端口可能就没那么了解。所以，在一些使用频率相对较高的端口上，很容易会...]]></description><category></category></item><item><title><![CDATA[mongodb query index 分析]]></title><link>https://blog.youkuaiyun.com/ddxto80286/article/details/102202940</link><guid>https://blog.youkuaiyun.com/ddxto80286/article/details/102202940</guid><author>ddxto80286</author><pubDate>Thu, 20 Apr 2017 16:32:00 +0800</pubDate><description><![CDATA[query 的过程及分析：
query 是通过Query planner选择最有效的查询plan ,为一个query 被给予一个可用的索引，查询时 query  optimizer（最优的查询条件选择器）在caches里面查询， 找出匹配的最优的查询的index（query shapes），the query planner 搜索query plan cache寻找合适的query s...]]></description><category></category></item><item><title><![CDATA[五大常见的MySQL高可用方案]]></title><link>https://blog.youkuaiyun.com/ddxto80286/article/details/102202935</link><guid>https://blog.youkuaiyun.com/ddxto80286/article/details/102202935</guid><author>ddxto80286</author><pubDate>Thu, 20 Apr 2017 14:51:00 +0800</pubDate><description><![CDATA[本文来自：https://zhuanlan.zhihu.com/p/25960208
UCloud云计算


1. 概述
我们在考虑MySQL数据库的高可用的架构时，主要要考虑如下几方面：

如果数据库发生了宕机或者意外中断等故障，能尽快恢复数据库的可用性，尽可能的减少停机时间，保证业务不会因为数据库的故障而中断。
用作备份、只读副本等功能的非主节点的数据应该和主节...]]></description><category></category></item><item><title><![CDATA[Linux内核分析方法谈]]></title><link>https://blog.youkuaiyun.com/ddxto80286/article/details/102202938</link><guid>https://blog.youkuaiyun.com/ddxto80286/article/details/102202938</guid><author>ddxto80286</author><pubDate>Tue, 18 Apr 2017 10:56:00 +0800</pubDate><description><![CDATA[本文来自http://blog.youkuaiyun.com/ouyang_linux007/article/details/7422346
　　Linux的最大的好处之一就是它的源码公开。同时，公开的核心源码也吸引着无数的电脑爱好者和程序员；他们把解读和分析Linux的核心源码作为自己的最大兴趣，把修改Linux源码和改造Linux系统作为自己对计算机技术追求的最大目标。
Linux内核源码...]]></description><category></category></item><item><title><![CDATA[JavaScript中的原型继承]]></title><link>https://blog.youkuaiyun.com/ddxto80286/article/details/102202936</link><guid>https://blog.youkuaiyun.com/ddxto80286/article/details/102202936</guid><author>ddxto80286</author><pubDate>Tue, 04 Apr 2017 16:35:00 +0800</pubDate><description><![CDATA[首先我们看看原型编程范型至少包括以下基本规则。
　　  所有的数据都是对象。
　　  要得到一个对象，不是通过实例化类，而是找到一个对象作为原型并克隆它。



　 　 对象会记住它的原型。
　 　 如果对象无法响应某个请求，它会把这个请求委托给它自己的原型。
下面我们来谈论下javascript的原型继承：



1. 所有的数据都是对象...]]></description><category></category></item><item><title><![CDATA[js 中面向对象的多态]]></title><link>https://blog.youkuaiyun.com/ddxto80286/article/details/102202933</link><guid>https://blog.youkuaiyun.com/ddxto80286/article/details/102202933</guid><author>ddxto80286</author><pubDate>Thu, 30 Mar 2017 21:29:00 +0800</pubDate><description><![CDATA[什么是多态：
　　实际上是不同对象作用与同一操作产生不同的效果。多态的思想实际上是把“想做什么”和“谁去做“分开，多态的好处是什么呢？为什么要多态？我们来看看



Martin Fowler 在《重构:改善既有代码的设计》里写到:



　 多态的最根本好处在于，你不必再向对象询问“你是什么类型”而后根据得到的答 案调用对象的某个行为——你只管调用该行为就是了，其他...]]></description><category></category></item><item><title><![CDATA[mongodb 索引的创建]]></title><link>https://blog.youkuaiyun.com/ddxto80286/article/details/102202934</link><guid>https://blog.youkuaiyun.com/ddxto80286/article/details/102202934</guid><author>ddxto80286</author><pubDate>Tue, 28 Mar 2017 20:47:00 +0800</pubDate><description><![CDATA[mongodb 创建常用的创建索引的有 signle Field Indexes Compound multikey，创建索引就是按照索引字段把documnet 进行排序，索引只存储了document 创建索引的字段的值，创建索引的目的就是为了加快读取数据的速度，当然在插入时创建索引，必然会减慢插入时的速度，mongodb提供了异步的创建索引的方法，可以异步创建，详见这里(http://...]]></description><category></category></item><item><title><![CDATA[this 的理解]]></title><link>https://blog.youkuaiyun.com/ddxto80286/article/details/102202931</link><guid>https://blog.youkuaiyun.com/ddxto80286/article/details/102202931</guid><author>ddxto80286</author><pubDate>Tue, 21 Mar 2017 09:52:00 +0800</pubDate><description><![CDATA[function foo(num){    console.log("foo：",+num);    this.count++}foo.count =0for (var i=0; i&lt;10;i++){    if (i&gt;5){        foo(i);    }}console.log(foo.count)在非严格模式下 foo.count应该最后输出的是0，和我们想象的...]]></description><category></category></item><item><title><![CDATA[js 的胖箭头问题]]></title><link>https://blog.youkuaiyun.com/ddxto80286/article/details/102202932</link><guid>https://blog.youkuaiyun.com/ddxto80286/article/details/102202932</guid><author>ddxto80286</author><pubDate>Mon, 20 Mar 2017 21:29:00 +0800</pubDate><description><![CDATA[我们在声明函数的时候通常是
var foo function(a){
console.log(a)
};
用ES6 我们写成了这样
var foo = a =&gt;{
　　console.log(a);
};
foo(2);
只是少些了function字段哪些冗余的东西吗
首先看下下面的代码：
var obj={
　　id:"LOVE"
　　love:fun...]]></description><category></category></item><item><title><![CDATA[js 的执行过程]]></title><link>https://blog.youkuaiyun.com/ddxto80286/article/details/102202929</link><guid>https://blog.youkuaiyun.com/ddxto80286/article/details/102202929</guid><author>ddxto80286</author><pubDate>Sun, 19 Mar 2017 17:55:00 +0800</pubDate><description><![CDATA[首先来看一下LHS和RHS
　　LHS：是赋值操作的左侧，可以理解为赋值操作的目标是谁
　　RHS：是赋值操作的右侧，谁是赋值操作的源头。
接下来看看这段代码的执行过程:
　　function foo(a){
　　　　console.log(a):
　　}
 foo(2);
我们把这段代码想想成一段对话：
　　引擎：作用域，我需要对foo 进行RHS 引用，你见过吗...]]></description><category></category></item><item><title><![CDATA[js 的编译]]></title><link>https://blog.youkuaiyun.com/ddxto80286/article/details/102202930</link><guid>https://blog.youkuaiyun.com/ddxto80286/article/details/102202930</guid><author>ddxto80286</author><pubDate>Sun, 19 Mar 2017 17:31:00 +0800</pubDate><description><![CDATA[js和其他语言一样，也是需要编译的，代码编译发生在代码执行之前，js代码的编译会经历如下几个阶段
1.分词，词法分析
　　 这个过程会将由字符串组成的字符分解成有意义的代码块，这些代码块称为词法单元，例如：var a = 2; 这段程序通常会被分解成为下面的词法单元，var，a, =,1,;.
2.解析/语法分析
   这个过程是将词法单元流转换为一个由元素逐级嵌套所组...]]></description><category></category></item><item><title><![CDATA[mongoose@4.5.2的eachAsync bug]]></title><link>https://blog.youkuaiyun.com/ddxto80286/article/details/102202927</link><guid>https://blog.youkuaiyun.com/ddxto80286/article/details/102202927</guid><author>ddxto80286</author><pubDate>Tue, 20 Dec 2016 20:53:00 +0800</pubDate><description><![CDATA[　　自称踩坑大王，幸好没有地雷，哈哈哈哈哈哈，今天用了mongoose的 eachAsync() 方法，没想到，会出现 Trace: [RangeError: Maximum call stack size exceeded]这个错误，为什么呢？　　代码所示，采用了递归的方式进行游标操作的，在每次handleNextResult递归之前，原来的doc 没有释放，还是压在栈里面，因此，会出...]]></description><category></category></item><item><title><![CDATA[[mongodb] MMAP 和wiredTiger 的比较]]></title><link>https://blog.youkuaiyun.com/ddxto80286/article/details/102202928</link><guid>https://blog.youkuaiyun.com/ddxto80286/article/details/102202928</guid><author>ddxto80286</author><pubDate>Sun, 18 Dec 2016 22:50:00 +0800</pubDate><description><![CDATA[　　mongodb 现在有两款存储引擎 MMAPv1 和 WireTiger,当然了除了这两款存储引擎还有其他的存储引擎了。
如：

内存引擎：现在的mongodb 版本中已经有了，主要的cache 服务，它主要是做单元测试的。
mongo-rocks:是一个key-value 的引擎被作为一个混合层为Facebook的RocksDB
Fusion-io: 这个存储引擎是被S...]]></description><category></category></item><item><title><![CDATA[[mongodb] MMAPv1 Storage Engine]]></title><link>https://blog.youkuaiyun.com/ddxto80286/article/details/102202925</link><guid>https://blog.youkuaiyun.com/ddxto80286/article/details/102202925</guid><author>ddxto80286</author><pubDate>Fri, 16 Dec 2016 13:40:00 +0800</pubDate><description><![CDATA[　　MMAPv1 是mongodb 在3.2以前默认的存储引擎，在3.2 之后默认的存储引擎为WiredTiger,MMAPv1存储引擎基于内存映射文件，它擅长高容量的插入，读取和更新。
Journal
　　为了确保所有对mongodb 数据集的修改是可持续的写到磁盘中，mongodb 默认所有的记录都写在磁盘中的日志里面，mongodb写日志比写数据文件更加平凡。默认的情况下，mo...]]></description><category></category></item><item><title><![CDATA[[mongodb] WiredTiger Storage Engine]]></title><link>https://blog.youkuaiyun.com/ddxto80286/article/details/102202926</link><guid>https://blog.youkuaiyun.com/ddxto80286/article/details/102202926</guid><author>ddxto80286</author><pubDate>Thu, 15 Dec 2016 18:49:00 +0800</pubDate><description><![CDATA[　　今天看了mongodb的官方文档中的WiredTiger Storage Engine ，说说我对WiredTiger Storage Engine 的理解！
　　在mongodb3.2版本以后,wiredTiger 存储引擎为默认的储存引擎。
Document Level Concurrency
　　WiredTiger 的写操作使用了Document 级别的并发控制，因此多...]]></description><category></category></item><item><title><![CDATA[近千节点的Redis Cluster高可用集群案例:优酷蓝鲸优化实战（摘自高可用架构）...]]></title><link>https://blog.youkuaiyun.com/ddxto80286/article/details/102202924</link><guid>https://blog.youkuaiyun.com/ddxto80286/article/details/102202924</guid><author>ddxto80286</author><pubDate>Mon, 12 Dec 2016 17:08:00 +0800</pubDate><description><![CDATA[(原创)2016-07-26 吴建超 高可用架构导读：Redis Cluster 作者建议的最大集群规模 1,000 节点，目前优酷在蓝鲸项目中管理了超过 700 台节点，积累了 Redis Cluster 大量宝贵经验，本文从 Redis Cluster 的工作原理出发，提出了管理 Redis 超大集群几点行之有效的优化方法。吴建超，优酷土豆广告基础平台开发工程师，对互联网基础产品...]]></description><category></category></item><item><title><![CDATA[Redis  集群]]></title><link>https://blog.youkuaiyun.com/ddxto80286/article/details/102202923</link><guid>https://blog.youkuaiyun.com/ddxto80286/article/details/102202923</guid><author>ddxto80286</author><pubDate>Fri, 09 Dec 2016 12:37:00 +0800</pubDate><description><![CDATA[（本文摘自互联网）
由于Redis出众的性能，其在众多的移动互联网企业中得到广泛的应用。Redis在3.0版本前只支持单实例模式，虽然现在的服务器内存可以到100GB、200GB的规模，但是单实例模式限制了Redis没法满足业务的需求（例如新浪微博就曾经用Redis存储了超过1TB的数据）。Redis的开发者Antirez早在博客上就提出在Redis 3.0版本中加入集群的功能，但...]]></description><category></category></item><item><title><![CDATA[python linux 开启 一个新端口 查看文件]]></title><link>https://blog.youkuaiyun.com/ddxto80286/article/details/102202921</link><guid>https://blog.youkuaiyun.com/ddxto80286/article/details/102202921</guid><author>ddxto80286</author><pubDate>Thu, 08 Dec 2016 16:42:00 +0800</pubDate><description><![CDATA[python -m SimpleHTTPServer

转载于:https://www.cnblogs.com/Kellana/p/6078085.html]]></description><category></category></item><item><title><![CDATA[mongodb 的Cursor 作为 stream 的时候，读出来的数据数字开头的key没法访问（又踩了一个坑）...]]></title><link>https://blog.youkuaiyun.com/ddxto80286/article/details/102202920</link><guid>https://blog.youkuaiyun.com/ddxto80286/article/details/102202920</guid><author>ddxto80286</author><pubDate>Mon, 14 Nov 2016 11:15:00 +0800</pubDate><description><![CDATA[mongdb 用Cursor 读取数据的时候，直接用流读出来的数据key是数字开头的话，就是独具不到，用Object.keys() 把所有的key 打印出来的话如下：怎么会是这样的呢？

查看了一下文档，这个cursor返回的是一个object 模型，意味着他触发了真实的document 的实例，所以返回的是所有的documnet的实例（包含了其中的一些方法），所以可以用一些stre...]]></description><category></category></item></channel></rss>