- 博客(135)
- 资源 (3)
- 收藏
- 关注
转载 数据引擎--LSM树与B+数
LSM树是HBase里非常有创意的一种数据结构,它和传统的B+树不太一样,下面先说说B+树。1 B+树相信大家对B+树已经非常的熟悉,比如Oracle的普通索引就是采用B+树的方式,下面是一个B+树的例子:根节点和枝节点很简单,分别记录每个叶子节点的最小值,并用一个指针指向叶子节点。叶子节点里每个键值都指向真正的数据块(如Oracle里的RowI
2015-06-17 13:49:44
1579
原创 Git常用命令
http方式保存密码1、linux系统: git config credential.helper 'cache --timeout=36000000' 数字为保存的时间 输入一次密码后通过一个后台进程存储在内存中2、windows系统: http://gitcredentialstore.codeplex.com/ 安装 gitcre
2015-06-02 19:18:32
766
原创 Git与SVN的简单比较
git的优点:1、git建立分支只是指针移动,是及其轻量级的。 svn建立分支需要拷贝文件2、git支持分布式版本管理 svn不支持分布式版本管理。不利于个人维护自己的版本库3、git可以修改提交历史说明 svn不能修改4、一个很大的文件被误上传,git可以轻易删除。 svn需要管理员使用管理员命令删除
2015-06-02 19:15:39
730
转载 优秀程序员的十个习惯
在这个世界上,有数百万的人热衷于软件开发,他们有很多名字,如:软件工程师(Software Engineer),程序员(Programmer),编码人(Coder),开发人员(Developer)。经过一段时间后,这些人能够成为一个优秀的编码人员,他们非常熟悉如何用计算机语言来完成自己的工作。但是,如果你要成为一个优秀的程序员,你还可以需要有几件事你需要注意,如果你能让下面十个条目成为你的习惯,那
2013-07-03 14:33:06
867
转载 HTTP协议详解
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of H
2013-06-21 16:42:33
805
转载 Linux 惊群现象
在linux中,惊群现象已经消失了的,我们可以看 http://simohayha.javaeye.com/blog/561424 ,但是当我们在开发服务器时候,需要使用epoll,发现一个问题,就是当一个请求过来的时候,发现有的时候被唤起的进程不止一个,看下面的程序#include #include #include #include #include #incl
2013-06-17 14:09:15
712
转载 CAP理论以及Eventually Consistent (最终一致性)解析(转)
CAP理论以及Eventually Consistent (最终一致性)解析(转)1 CAP理论简介 10年前,Eric Brewer教授指出了著名的CAP理论,后来Seth Gilbert 和 Nancy lynch两人证明了CAP理论的正确性。CAP(Consistency,Availability,partition tolerance)理论告诉我们,一个分布式系统不可能满足
2013-06-17 11:46:17
815
转载 最终一致性
Eventually Consistent(最终一致性)分布式系统的CAP理论 CAP理论(data consistency, system availability, and tolerance),也就是数据一致性,系统可用性和网络分区容错性,在一个分布式系统中CAP是不能同时保证的,最多只能同时满足两个。如果一个系统不必考虑网络分区容错性,那么它可以同时取得数据一致性和可用性,这通
2013-06-17 11:41:38
1404
转载 内核态与用户态
内核态与用户态 内核态与用户态是操作系统的两种运行级别,intel cpu提供Ring0-Ring3三种级别的运行模式。Ring0级别最高,Ring3最低。其中特权级0(Ring0)是留给操作系统代码,设备驱动程序代码使用的,它们工作于系统核心态;而特权极3(Ring3)则给普通的用户程序使用,它们工作在用户态。运行于处理器核心态的代码不受任何的限制,可以自由地访问任何有效地址,
2013-06-11 15:41:15
860
转载 大学毕业后拉开差距的真正原因
大学毕业后拉开差距的真正原因大学毕业后拉开差距的真正原因 有人工作,有人继续上学,大家千万不要错过这篇文章,能看到这篇文章也是一种幸运,真的受益匪浅,对我有很大启迪,这篇文章将会改变我的一生,真的太好了,希望与有缘人分享,也希望对有缘人有所帮助!看完之后有种“相见恨晚”的感觉,特别激动,希望大家好好的珍藏这篇文章,相信多年以后,再来看这篇文章,一
2013-06-08 17:50:11
911
转载 被神化的海量数据处理和高并发处理
被神化的海量数据处理和高并发处理 其实任何简单的问题,只要规模大了都会成为一个问题,就如中国人口多,很多小问题都会变成大问题一样。但处理这种海量数据的方法无非就是分治和”人海”战术。使用人海战术的前提是问题的划分能够支持这种人海战术,其手段无非是切割(纵向,横向)和负载均衡。纵向分隔主要是按业务(功能)来分,也就是所谓面向服务架构,横向分隔方式比较多,主要依赖于所处理的对象属
2013-05-10 10:46:43
744
转载 声音数字化
众所周知,声音是模拟信号,在传输过程中,由于噪声的干扰和能量的损失总会发生畸变和衰减,所以模拟传输时,每隔一定的距离就要通过放大器来放大信号的强度,放大信号强度的同时,由噪声引起的信号失真也随之放大。当传输距离增大时,多级放大器的串联会引起失真的叠加,从而使信号的失真越来越大。而数字传输,只有代表了0和1变化模式的数据,方波脉冲式的数字信号在专输过程中除了会衰减外,也会发生失真但它是采用转发器来代
2013-05-09 15:23:46
10872
转载 比较全面的gdb调试命令 .
用GDB调试程序 GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。 于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更
2013-05-02 15:15:35
828
原创 各种操作符的重载
#include "Complex.h"// 求平方宏#define SQUARE(__X__) ((__X__) * (__X__))// 默认构造函数CComplex::CComplex (void) : _dReal (0.f) , _dImage (0.f){ cout }// 重载的构造函数CComplex::CComplex (double
2013-03-13 16:25:09
652
原创 map
描述基于键值用于存储/获取pair 的关联式容器,pair 包括两部分数据,key 必须唯一,底层使用RB-Tree 作为基础数据,因此数据在内部会基于键值进行自动排序,元素的值可以直接修改,与key 不关联,而key 不可修改必须使用新重新插入并删除原来的。1. 关联式容器,大小可变,支持高效的基于key 的元素获取;2. 可以反转,其迭代器为双向的;3. 自排序;
2013-03-13 16:05:40
935
转载 vector
vector 的操作方式以及内部数据的内存布局与数组非常相似,因此在应用中经常使用vector 替代数组使用,而二者最大的区别在于vector 可以灵活的进行内存空间配置,而数组则是静态的,一旦数组定义以后则数据内存布局就确定了,不能修改;若需要改变数组大小则只能重新定义新的数组,再把原数组中数据拷贝到新数组(若数组为动态分配的,则须释放原数组使用内存)。vector 模板类是
2013-03-13 16:04:41
930
原创 list容器
序列化容器使用之list描述list 模板类属于容器,允许快速在任意位置插入/删除,时间复杂度为O(1),插入/删除一个元素时候只需分配/释放一个节点即可,因此list 模板类在内存空间运用算绝对算得上“精打细算”;list 容器不提供随机访问的功能。通常实现list 都需要设计一个’list node’,也就是说list 实现和list node 本身是独立,以下li
2013-03-13 16:03:50
884
原创 C++ 文本文件操作(非二进制)
文件操作:打开文件文件名注意路径名中的斜杠要双写,如:"D:\\MyFiles\\ReadMe.txt"文件打开方式选项:ios::in = 0x01, //供读,文件不存在则创建(ifstream默认的打开方式)ios::out = 0x02, //供写,文件不存在则创建,若文件已存在则清空原内容(ofstream默认的打开方式)ios::ate = 0x04
2013-03-12 13:07:29
911
转载 模板类声明和定义为何要写一起
前言常遇到询问使用模板到底是否容易的问题,我的回答是:“模板的使用是容易的,但组织编写却不容易”。看看我们几乎每天都能遇到的模板类吧,如STL, ATL, WTL, 以及Boost的模板类,都能体会到这样的滋味:接口简单,操作复杂。我在5年前开始使用模板,那时我看到了MFC的容器类。直到去年我还没有必要自己编写模板类。可是在我需要自己编写模板类时,我首先遇到的事实却是“传统”编程方法(
2013-03-02 09:54:11
427
转载 函数模板与类模板的区别
函数模板与类模板有什么区别?答:函数模板的实例化是由编译程序在处理函数调用时自动完成的,而类模板的实例化必须由程序员在程序中显式地指定。 即函数模板允许隐式调用和显式调用而类模板只能显示调用 这期间有涉及到函数模板与模板函数,类模板与模板类的概念(类似于类与类对象的区别)请看下面例子 注意:模板类的函数声明和实现必须都在头文件中完成,不能像普通
2013-02-28 11:26:38
539
转载 声乐唱法分类
1、 通俗唱法声音的主要特点是完全用真声唱,接近生活语言,轻柔自然。强调激情和感染力,演唱时有意借助电声的音响制造气氛,所以很注意话筒的使用方法和电声效果。 2、流行唱法的风格多样,没有固定的模式,演唱风格追求自然、随意,强调用自己最真实的声音歌唱,从而体现声音的个性化与特色,感情自然流露,表演有很强的即兴性和煽动性,主要利用话筒等音响设备扩大制造声音效果,并且经常借助舞蹈、和声、电子乐队
2013-01-24 17:21:05
1948
转载 容灾数据复制技术的比较
容灾数据复制技术的比较 一、概述近几年来,容灾已经成为信息数据中心建设的热门课题。很多容灾技术也快速发展起来,对用户来说也有很广阔的选择余地。但由于容灾方案的技术复杂性和多样性,一般用户很难搞清其中的优劣以确定如何选择最适合自己状况的容灾解决方案。本文我们就容灾建设中的备份及复制技术做一个初步探讨,希望能对客户的数据中心容灾建设提供一些参考。目前有很多种容灾技术,分类也比较复杂。但
2012-12-20 19:07:37
28228
1
转载 DAS、NAS、SAN存储系统分析
DAS、NAS、SAN存储系统分析目前磁盘存储市场上,存储分类(如下表一)根据服务器类型分为:封闭系统的存储和开放系统的存储,封闭系统主要指大型机,AS400等服务器,开放系统指基于包括Windows、UNIX、Linux等操作系统的服务器;开放系统的存储分为:内置存储和外挂存储;开放系统的外挂存储根据连接的方式分为:直连式存储(Direct-Attached Storage,简称
2012-12-19 16:43:41
1209
转载 深入浅出谈存储:如何区别NAS、SAN与DAS
深入浅出谈存储:如何区别NAS、SAN与DAS 【IT168 技术】 上一篇《NAS是什么?》发表后,评论如雪花般飘来。这本是每位作者所乐意看到的,令我哭笑不得的是,多数读者只看了开头的笑话就留言走人了。唯有一位让我聊感欣慰,因为他说“/陈老师专题”里的几百兆图片他也有。还好“/陈老师专题”出现在文章的末尾。这悲剧也提醒了我,技术文档不要过度包装,再生动的语言也掩盖不了技术的晦涩。当
2012-12-06 16:52:59
1209
转载 数据容灾
1 数据容灾的概念: 数据容灾就是指建立一个异地的数据系统,该系统是本地关键应用数据的一个实时复制。当今的世界,正在跨入信息时代,数据和信息逐渐成为各行各业的业务基础和命脉。 如何实现业务数据的共享并在现有业务数据之上建立新兴的增值应用,如数据仓库、客户关系管理(CRM)等,已经成为了各企业建立信息系统的关键所在。2 数据容灾实现方式:2.1数据备份 备份
2012-12-06 15:58:42
2133
转载 数据容灾备份的等级和技术介绍
容灾备份是通过在异地建立和维护一个备份存储系统,利用地理上的分离来保证系统和数据对灾难性事件的抵御能力。 根据容灾系统对灾难的抵抗程度,可分为数据容灾和应用容灾。数据容灾是指建立一个异地的数据系统,该系统是对本地系统关键应用数据实时复制。当出现灾难时,可由异地系统迅速接替本地系统而保证业务的连续性。应用容灾比数据容灾层次更高,即在异地建立一套完整的、与本地数据系统相当的备份应用系统(可以同本
2012-12-06 15:46:19
1506
原创 学习方法探讨
1、什么是学习 学习通过自己体验或者他人教授而获得对各种具体和抽象事物的认知过程。亦即学习是一个过程。这整个过程中始终存在着两个方面,“学什么”和“怎么学”。 “学什么“指明我们学习的内容,只有明确知道了学什么不至于徒劳无功。 ”怎么学“指明学习的方法,只有知道怎么学才能够事半功倍。 所以学习前首先要明确”学什么“和”怎么学“。但是,问题就在于对于一个未知
2012-12-06 12:48:20
720
转载 一个合格的程序员应该读过哪些书
“如果能时光倒流,回到过去,作为一个开发人员,你可以告诉自己在职业生涯初期应该读一本, 你会选择哪本书呢?我希望这个书单列表内容丰富,可以涵盖很多东西。”很多程序员响应,他们在推荐时也写下自己的评语。 以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 10的书。其实除了前10本之外,推荐数前30左右的书籍都算经典,笔者整理编译这个问答贴,同时摘译部分推荐人的评语。
2012-12-03 15:05:02
572
转载 程序员之路——一个老程序员对刚上大学的学弟学妹的忠告
对一个初学者来说,IT界的技术风潮是不可追赶。 我时常看见自己的DDMM们把课本扔了,去买些价格不菲的诸如C#, VB.Net 这样的大部头,这让我感到非常痛心。 而许多搞不清指针是咋回事的BBS站友眉飞色舞的讨论C#里面可以不用指针等等则让我觉得好笑。几个误区认为计算机技术等于编程技术:咬文嚼字的孔已己作风:不顾基础,盲目追赶时髦技术:几个重要的基础课程日三省乎己把最多的时间花在学习上
2012-12-03 14:59:13
1216
转载 硅谷创业教父Paul Graham:如何获得创业好点子?
硅谷创业教父Paul Graham:如何获得创业好点子?发表于2012-11-22 10:47|2674次阅读| 来源paulgraham.com|6 条评论| 作者Paul Graham创业YCombinatorPaulGraham摘要:Y Combinator公司创始人Paul Graham称获得创业点子,并不是绞尽脑子去想,而是去发现问题,发现那些你本身遇到的问题。
2012-11-26 18:25:42
708
转载 jax-rpc、jax-ws和 axis、xfire的联系和区别
Sun 和 Java 标准 JAX-RPC 1.0 是 Java 方面的 Web 服务的原始标准。虽然 JAX-RPC 的设计思想是可以为实际 Web 服务实现使用不同的协议实现,但在实践中,仅将其用于 SOAP 服务。已经开发了多个不同的 JAX-RPC 实现,其中使用最广泛的可能就是 Apache 框架了,其次是 Sun Microsystems 作为 Java Web Service
2012-11-11 09:54:23
931
转载 见的网络服务器软件综合比较介绍(apache、IIS、tomcat、jboss、resin、weblogic、websphere)
在互联网高速发展的今天,不同种类的网站大量涌现,每个人都在享受着网络服务所带来的便利。而创建自己个性化的网站的门槛不断降低,从事网站架设,这种当年的绝对“高科技”技术活,也从IT人的专利“沦落”到人人皆可的境地:随便安装一个windows的server版,使用自带的IIS就可以迅速创建一个说的过去的网站。然而要架设一个符合长远发展要求的网站,就不是一件简单到每个人都可以胜任的事了。且不说建站需
2012-11-09 19:26:16
786
原创 指向成员函数的指针并非指针
class Shape{ public: //.... void moveTo(Point newLocation); bool validate() const; virtual bool draw() const = 0; //...};class Circle : public Shape{ //...
2012-11-08 15:50:59
554
原创 指向类成员的指针并非指针
class C{ public: //... int a_;};int C::*pimC; //一个指针,指向C的一个int成员C aC;C *pc = &aC;pimC = &C::a_;aC.*pimC = 0;int b = pc->*pimC; 将pimC的值设置为&C::a_时,实际上是将pimC设置为a_在C内的偏移量。说得更明白
2012-11-08 15:20:12
499
转载 C++中代理类和句柄类
指针是 C 与其他语言区别的重要特征之一,在 C++ 中,指针也被广泛运用,我们通过指针实现多态。然而,众所周知,指针的使用必须小心,否则很容易造成内存泄漏 Memory Leak。当我们有几个指针指向同一个对象时有其应该注意,关于何时释放这个对象:(1) 如果释放的太早,那么其它的指针仍然指向这片内存,如果再使用它会造成未定义行为。(2) 如果一直不释放可能会丢失最后一个指向这个对象的指
2012-11-08 15:01:13
740
原创 C++ 中常量成员函数
class X{public:X():buffer_(0),isComputed_(false){}//...void setBuffer(){ int *tmp = new int[MAX]; delete []buffer_; buffer_=tmp;}void modifyBuffer(int index,int value) const //不
2012-11-08 14:26:28
921
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人