自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

Reactor事件驱动的两种设计实现:面向对象 VS 函数式编程

Reactor事件驱动的两种设计实现:面向对象 VS 函数式编程这里的函数式编程的设计以muduo为例进行对比说明;Reactor实现架构对比面向对象的设计类图如下: 函数式编程以muduo为例,设计类图如下: 面向对象的Reactor方案设计我们先看看面向对象的设计方案,想想为什么这么做; 拿出Reactor事件驱动的模式设计图,对比来看,清晰明了;  ...

2015-12-31 09:28:33 155

单线程你别阻塞,Redis时延问题分析及应对

单线程你别阻塞,Redis时延问题分析及应对Redis的事件循环在一个线程中处理,作为一个单线程程序,重要的是要保证事件处理的时延短,这样,事件循环中的后续任务才不会阻塞; 当redis的数据量达到一定级别后(比如20G),阻塞操作对性能的影响尤为严重; 下面我们总结下在redis中有哪些耗时的场景及应对方法;耗时长的命令造成阻塞keys、sort等命令keys命令用于查找所有符...

2015-12-11 10:47:45 395

IO设计模式:Reactor和Proactor对比

IO设计模式:Reactor和Proactor对比平时接触的开源产品如Redis、ACE,事件模型都使用的Reactor模式;而同样做事件处理的Proactor,由于操作系统的原因,相关的开源产品也少;这里学习下其模型结构,重点对比下两者的异同点;反应器ReactorReactor模式结构Reactor包含如下角色:Handle 句柄;用来标识socket连接或是打开文...

2015-04-27 09:17:31 121

发布《Linux工具快速教程》

发布《Linux工具快速教程》阶段性的完成了这本书开源书籍,发布出来给有需要的朋友,同时也欢迎更多的朋友加入进来,完善这本书; 本书Github地址:https://github.com/me115/linuxtools_rst在线阅读缘起Linux下有很多命令行工具供我们使用,每个工具总是提供了大量参数供我们选择; 实际工作中,我们用到的工具,最常用的总是那么几个参数组合;...

2015-01-14 11:03:55 111

收集互联网博客

收集互联网博客缘起中国的博客发展已有十余年历史;这些年诞生了不少高质量的博客,给大家带来了很多精品博文; 但是,人的精力和注意力是有限的,一旦博客不再更新后,它就渐渐的就淡出了互联网的舞台; 而这博客上的优秀作品也被历史潮水所淹没; 这样很遗憾,其实有不少博客的内容,都经得起时间的推敲。 我觉得有必要将这内容保存下来,供更多人阅读; 我喜欢阅读博客,也订阅了不少博客,对于同类精品文章,希...

2014-09-03 11:12:25 76

NoSQL数据库:数据的一致性

NoSQL数据库:数据的一致性读取一致性强一致性 在任何时间访问集群中任一结点,得到的数据结果一致;用户一致性 对同一用户,访问集群期间得到的数据一致; 解决用户一致性:使用粘性会话,将会话绑定到特定结点来处理; 这样会降低负载均衡器的性能;最终一致性 集群中各结点间由于数据同步不及时造成暂时的数据不一致,但数据同步完成后,最终具有一致性;更新一致...

2014-07-02 10:01:17 337

架构核心五要素

架构设计中要考虑的核心五要素; 性能、可用性、扩展性、伸缩性、安全性性能性能的测试指标响应时间 应用执行一个操作需要的时间,包括从发出请求开始到收到最后响应数据所需要的时间。响应时间是系统最重要的性能指标,直观地反映了系统的“快慢”。下表列出了一些常用的系统操作需要的响应时间。 并发数 系统能够同时处理请求的数目吞吐量 单位时间内系统处理的请求数量; 如:...

2014-04-16 20:31:46 181

《大型网站技术架构》读书笔记[2] - 架构的模式

《大型网站技术架构》读书笔记 - 架构的模式大CC上周写的读书笔记记录的是网络的升级路线,其中用到的各种技术手段只是点到即止(《大型网站技术架构》读书笔记 - 网站的技术升级路线);今天写的第二篇笔记,讨论架构的模式;这篇文章,其中主干是书中的重点笔记,分支和内容则是我展开的思考,如有不对的地方,还请大家指出;需要说明,模式不是万能的,任何模式都是一定应用场景的经验总结;离开具体的场...

2014-04-10 12:50:01 63

《大型网站技术架构》读书笔记 - 网站的技术升级路线

《大型网站技术架构》读书笔记 - 网站的技术升级路线 本文描述网站从小到大演变过程中的技术升级路线;1.初始架构一台服务器,应用、DB、文件都在一块,使用经典的LAMP模式构建整个站点; 优点很明显,开发部署都简单,船小好掉头,做不起来也亏不了多少;2.应用服务与数据分离随着访问量的增长,出现问题了:web性能变差,数据存储空间不够 这时候需要更多的服务器,首要任务是将数据库分...

2014-04-03 19:36:37 70

《小强升职记》 读书笔记 含思维导图

《无压工作的艺术》是时间管理的圣经,这本书则是《无压工作的艺术》的本土版; 作者用讲故事的方式描述了一个职场新手成长的过程,又可谓是圣经的实践版;  本人评分 5分; 唯一的缺点,就是这本书的名字太俗;不过话说回来,正是大俗,才带来了世俗中的广泛传播;书的章节命名也挺有意思,从一个种子发芽说起,直到开花结果;寻找种子时间管理方法的执行,是一个锻炼自我的过程,当然,必然和自己从前的...

2014-02-27 12:24:28 255

如何做到早起一小时?

早起是个不过时的话题,在很多人心里都有一个早起的愿望,但总是难以付诸行动;在受到某篇文章或某本成功学书籍的刺激后,可能会有那么几天早起,而之后,又回到从前; 其实早起,并不是一件多困难的事,只要我们能掌握正确的方法;这段时间的特点早起后的这段时间,不会有人打扰,在一夜的充足睡眠后,精力充沛,特别适合用来思考; 无外界影响,而内力强劲,这是一天中的黄金时间;这有限的一小时,要特别珍惜;...

2014-02-25 09:17:11 113

《淘宝技术这十年》读书笔记 (含思维导图)

这本书很有趣,故事叙述好玩,且价值颇高; 它让更多人了解并熟悉淘宝,让我们近距离观察大公司成长过程中遇到的问题;我将从三个方面来做这个概要版的读书笔记;淘宝的升级路线叙述了淘宝的成长路线,如果能引起大家的兴趣,那最好,书中有详实有味的数据供人品味;淘宝创新的技术一节总结淘宝在壮大的道路中所创造的技术,其实很多在我们的日常应用中都能找到影子,所不同的是能够支撑的规模;最后一节出...

2014-02-12 12:36:30 132

Redis 在新浪微博中的应用

Redis 在新浪微博中的应用Redis简介1. 支持5种数据结构支持strings, hashes, lists, sets, sorted setsstring是很好的存储方式,用来做计数存储。sets用于建立索引库非常棒;2. K-V 存储 vs K-V 缓存新浪微博目前使用的98%都是持久化的应用,2%的是缓存,用到了600+服务器Redis中持久化的应用和非持久化的...

2013-12-20 14:20:06 167

2013中国软件技术大会 参会笔录及感想

2013中国软件技术大会 参会笔录及感想参加完北京举行的软件技术大会,有感而发;大会会期两天,12.13-12.14;13日上午只有一个主会场,看看主会场的演讲主题,再看看出钱最多的赞助商,我们知道,一上午将都是广告;会议安排表:http://www.softcon.cn/schedule.asp做广告赞助厂商众多,在这个宣传的结点上,各大厂商都使出吃奶的力气;根据出钱的多少,细分为白金...

2013-12-16 12:40:12 97

P2P小贷网站业务数据流程分享

P2P小贷网站业务数据流程引言这是去年年底开发的一个项目,完成后和用户的衔接没有很好的做起来,所以项目就搁浅了。9月以来,看各路P2P风声水起,很是热闹;这里分享下我的设计文档,算是抛砖引玉,如能提供一些借鉴意义,也不枉分享一场;本文用于说明P2P小贷项目的程序设计,包括程序系统的基本处理流程,模块划分、功能分配及UI设计等。开发目标1. 开发P2P网上借贷系统;2. 合理规划整...

2013-12-01 13:46:11 158

Linux Shell 文本处理工具集锦

本文将介绍Linux下使用Shell处理文本时最常用的工具:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk;提供的例子和参数都是最常用和最为实用的;我对shell脚本使用的原则是命令单行书写,尽量不要超过2行;如果有更为复杂的任务需求,还是考虑python吧;find 文件查找查找txt和pdf文件 find . \( -n...

2013-11-18 09:12:47 63

比Redis更快:Berkeley DB面面观

比Redis更快:Berkeley DB面面观Redis很火,最近大家用的多。从两年前开始,Memcached转向Redis逐渐成为潮流;而Berkeley DB可能很多朋友还很陌生,首先,我们简单的介绍一下。Berkeley DB介绍历史悠久。Berkeley DB1991年发行第一版, 2006年被Oracle收购;Berkeley DB是一个嵌入式数据库系统,将其归类到内...

2013-10-31 11:23:56 292

书评 《软件随想录》

Joel的随想录,也就是他Blog上的文章的摘选;整本书看下来轻松,其中有不少文字在为他公司打广告、为自己摇旗呐喊;比如在选择程序员方面,他所认为的一些重要的因素,比如提供独立的办公室、更自由的空间、更多及更大的屏幕,都是他公司所能提供的;但是大家不要忘了,他的公司员工的人数是个位数(从书中的得出),书中所提出的各种因素,在扩大到一定规模后,不具有普遍的适用性和可行性;在过滤掉这些元素后...

2013-10-14 14:23:26 74

BerkeleyDB 多索引查询

由于性能原因,我们打算将关系型数据库转移到内存数据库中;在内存数据库产品的选型中,我们确定的候选对象有Redis和Berkeley DB;Redis查询效率不错,并且支持丰富的数据存储结构,但不支持多索引,这样对于比较复杂的sql移植可能会造成数据膨胀;Berkeley DB只支持简单的Key/Value, 但支持多索引查询,对我们目前的应用来说,移植起来更有优势; 下面我们看看,如...

2013-09-26 14:13:14 155

学习Berkeley DB- 入门

1 导言首先,我们要了解Berkeley DB的一些基本特性,在IBM的开发网站上有篇文章对其有比较清晰的介绍;这篇文章讲到了BDB的设计思想和核心数据结构、以及数据访问算法;并有常用函数使用范例;算是接触BDB的一个入门好材料;进入以下url阅读:http://www.ibm.com/developerworks/cn/linux/l-embdb/index.html ...

2013-09-17 12:32:14 93

C++的性能优化实践

优化准则:1. 二八法则:在任何一组东西中,最重要的只占其中一小部分,约20%,其余80%的尽管是多数,却是次要的;在优化实践中,我们将精力集中在优化那20%最耗时的代码上,整体性能将有显著的提升; 这个很好理解。函数A虽然代码量大,但在一次正常执行流程中,只调用了一次。而另一个函数B代码量比A小很多,但被调用了1000次。显然,我们更应关注B的优化。 2. 编完代码,再优化;编码的时候总...

2013-06-03 12:42:31 351

轻松scrum之旅 思维导图读书笔记

学习一门新的技术通常分为两步,先是理论知识学习,再就是实践;在敏捷实践中,总是会遇到些问题;有些细节我们不知道如何处理,而身边也没有实施过敏捷的先例可以咨询;这时,这本书可能对你有些帮助。这是一本轻松的书,作者以自身的项目实践为原型,讲述了一个项目组从头开始实践敏捷的完整历程;本书最大的价值在于,作者将项目开发过程中遇到的各种问题都一一阐述,并给出合适的解决方法;以下思维导图中的...

2013-04-02 09:15:03 167

沟通至上 《高效程序员的45个习惯》读书笔记

《高效程序员的45个习惯》这本书的副标题是敏捷开发修炼之道,这是一本讲敏捷的书,如果你之前未接触过敏捷,从这本书,可以了解到敏捷的核心观点。这里面主要讲了三方面的内容,观念,沟通,以及编码。 观念我们首先从观念来看,提观念当然少不了敏捷宣言:个体和交互胜过过程和工具;可工作的软件胜过面面俱到的文档;客户的协作胜过合同谈判。响应变化胜过遵循计划; 敏捷开发改...

2013-03-25 12:44:57 69

WEB站点性能优化实践(加载速度提升2s)

 进行优化前,关键是剖析当前的web性能,找到性能瓶颈,从而确定最需改进的地方;如果精力有限,首先将精力放在能明显提升性能的改进点上;《高性能网站建设指南》提出了一个性能黄金法则:只有10%-20%的最终用户响应时间花在了下载HTML文档上;其余的80%-90%的时间花在了下载页面中的所有组件上。由于本文将实施一个完整的优化流程,所以,我们还是从后台开始; 案例说明:...

2013-01-24 09:21:46 79

C++学习--应用篇(Windows/Linux)(书籍推荐及分享)

我将以平台划分,分别介绍Windows和Linux下个人认为的好书(与基础篇一样,大部分木书架都提供有电子版);对于C++基础类的图书,这里不再重复,有兴趣的朋友请移步《C++学习--基础篇》。 Windows:在Windows平台下主要说的是VC编程(使用MFC),以下将对VC开发的相关图书介绍;对于ATL等,涉及不多,不做评论; 《Windows程序设计》这是一...

2013-01-07 09:16:58 76

C++学习–基础篇(书籍推荐及分享)

算起来,用C++已经有七八年时间,也有点可以分享的东西;以下推荐的书籍大多有电子版。对于技术类书籍,电子版并不会带来一个好的阅读体验。如果喜欢,最好找纸版(图书馆是个好去处);电子版更适合作为一个参考书籍常备电脑。我将分为基础篇、Windows篇、和Linux/Unix篇 三个部分来介绍这些经典书籍: C++入门:《C++ Primer》我的C++入门读物是《C++...

2012-12-27 15:29:32 53

空空如也

空空如也

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

TA关注的人

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