Nodejs开发环境搭建 - BlueDream

由于还是习惯win7环境。所以搭建的环境是:win7为开发环境。Vbox虚拟机+Ubuntu搭建nodejs编译环境。然后通过securecrt远程连接到虚拟机进行开发。如果securecrt远程链接被拒绝需要sudo apt-get install openssh-server第一步:安装依赖包1. 安装python 2.6版或者更高(ubuntu默认都已安装,可以在terminal中使用 python -v 命令查看python版本)。2. 安装其他依赖包:sudo ap

Underscore骨骼 - BlueDream

上次写过一篇QWrap骨骼的文章,个人认为,想要了解一个库或框架,首先从他的核心思想入手,理解其思想,那么剩余的就仅仅是方法的堆砌。近年比较火的一个jsMVC框架backbone他的核心强依赖库为underscore。抽空提取了一下他的骨骼,其实主要就是他的链式操作的实现,别个剩下的就是具体函数的实现了,当然对于Underscore函数式也是它的最大亮点,可以好好看下函数的实现。<!DOCTYPEhtml><html><head><t

【思维】中位数与顺序统计 - BlueDream

算法定义在统计学中,中值(又称中位数)代表一个样本、种群或概率分布中的一个数值,其可将数值集合划分为相等的上下两部分。对于有限的数集,可以通过把所有观察值高低排序后找出正中间的一个作为中值。如果观察值有偶数个,则中值不唯一,通常取最中间的两个数值的平均数作为中值。一个数集中最多有一半的数值小于中值,也最多有一半的数值大于中值。如果大于和小于中值的数值个数均少于一半,那麽数集中必有若干值等同于中值。设连续随机变量X的分布函数为F(X),那么满足条件P(X≤m)=F(

【思维】基数排序 - BlueDream

算法定义基数排序(Radix sort)是一种排序算法,它是这样实现的:将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零. 然后, 从最低位开始, 依次进行一次排序.这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列.基数排序的方式可以采用LSD(Least significant digital)或MSD(Most significant digital),LSD的排序方式由键值的最右边开始,而MSD则相反,由键值的最左边开始。算法描述基

【思维】计数排序 - BlueDream

算法定义计数排序(Counting sort)是一种稳定的排序算法。计数排序使用一个额外的数组C,其中第i个元素是待排序数组A中值等于i的元素的个数。然后根据数组C来将A中的元素排到正确的位置。当输入的元素是 n 个 0 到 k 之间的整数时,它的运行时间是 Θ(n+k)。计数排序不是比较排序,排序的速度快于任何比较排序算法。由于用来计数的数组C的长度取决于待排序数组中数据的范围(等于待排序数组的最大值与最小值的差加上1),这使得计数排序对于数据范围很大的数组,需要

【思维】快速排序 - BlueDream

算法定义快速排序是一种排序算法,由C. A. R. Hoare所发展的,以平均效能来说,排序n个项目要Θ(nlogn)次比较。然而,在最坏的效能下,它需要Θ(n2)次比较。一般来说,快速排序实际上明显地比其他Θ(nlogn) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来,且在大部分真实世界的数据,可以决定设计的选择,减少所需时间的二次方项之可能性。算法描述快速排序使用分治法(Divide and co

【思维】堆排序 - BlueDream

算法定义堆排序(Heapsort)是指利用(堆)这种数据结构所设计的一种排序算法。堆积树是一个近似完全二叉树的结构,并同时满足堆属性:即子结点的键值或索引总是小于(或者大于)它的父节点。 最差时间复杂度 O(nlogn) 最优时间复杂度 O(nlogn) 平均

【思维】插入排序 - BlueDream

算法定义插入排序(Insertion Sort)的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。算法描述一般来说,插入排序都采用in-place在数组上实现。具体算法描述如下:从第一个元素开始,该元素可以认为已经被排序取出下一

关于设计启发 - BlueDream

下面是对主要的设计中的启发式方法的总结:寻找现实世界中的对象(object,物体)形成一致的抽象封装实现细节在可能的情况下继承藏住秘密(信息隐藏)找出容易改变的区域保持松散耦合探寻通用的设计模式高内聚性构造分层结构严格描述类契约分配职责为测试而设计避免失误有意识的选择绑定时间创建中央控制点考虑使用蛮力画一个图保持设计模块化本文链接:http://www.cnblogs.com/bluedream2009/archive/2011/03/12/1982475.html,转载请注

如何向妻子解释OOD【转】 - BlueDream

译者原文地址:http://www.cnblogs.com/niyw/archive/2011/01/25/1940603.html如何向妻子解释OOD前言  此文译自CodeProject上<How I explained OOD to my wife>一文,该文章在Top Articles上排名第3,读了之后觉得非常好,就翻译出来,供不想读英文的同学参考学习。  作者(Shubho)的妻子(Farhana)打算重新做一名软件工程师(她本来是,后来因为他们孩子出