自定义博客皮肤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)
  • 资源 (6)
  • 收藏
  • 关注

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

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

2015-12-31 09:29:58 740 1

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

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

2015-12-11 10:50:05 6817

原创 IO设计模式:Reactor和Proactor对比

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

2015-04-27 09:16:58 868

原创 发布《Linux工具快速教程》

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

2015-01-14 11:07:09 598

原创 收集互联网博客

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

2014-09-03 11:16:55 684

原创 NoSQL数据库:数据的一致性

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

2014-07-02 10:01:26 822

原创 架构核心五要素

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

2014-04-16 20:34:24 1405

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

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

2014-04-10 12:49:10 1172 1

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

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

2014-04-03 19:35:34 1032 1

原创 如何做到早起一小时?

早起是个不过时的话题,在很多人心里都有一个早起的愿望,但总是难以付诸行动;在受到某篇文章或某本成功学书籍的刺激后,可能会有那么几天早起,而之后,又回到从前; 其实早起,并不是一件多困难的事,只要我们能掌握正确的方法;

2014-02-25 09:17:49 852

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

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

2014-02-12 12:37:56 2718 2

原创 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:01 1728

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

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

2013-12-16 12:36:56 1571 1

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

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

2013-12-01 13:46:06 5370

原创 Linux Shell 文本处理工具集锦

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

2013-11-18 09:13:13 1220

原创 书评 《软件随想录》

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

2013-10-14 14:27:15 970

原创 BerkeleyDB 多索引查询

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

2013-09-26 14:22:01 1030

原创 学习Berkeley DB- 入门

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

2013-09-17 12:24:43 866

原创 C++的性能优化实践

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

2013-06-03 12:54:07 916

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

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

2013-04-02 09:27:11 1465

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

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

2013-03-25 12:44:16 1551 1

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

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

2013-01-24 09:41:44 2320

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

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

2013-01-11 12:29:00 1052 1

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

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

2013-01-07 09:23:15 1134 2

原创 [python]通过ElementTree来操作XML

本文讲解如何通过ElementTree来操作XML。1.引入库 需要用到3个类,ElementTree,Element以及建立子类的包装类SubElement  from xml.etree.ElementTree import ElementTree fro

2011-10-03 16:41:30 596

原创 创业如何选择WEB开发语言

在打算开发一个网站时,选择什么语言,是首先需要面对的问题。目前主流的WEB开发语言有ASP.NET、PHP、JSP; 作为MS上世纪老将ASP,就不再提及,如果是因为维护方面的原因而必须使用,可考虑升级到ASP.NET,而作为新开发一个语言,实在找不到理由再使用它了;以下将对

2011-09-27 15:46:25 1061

原创 Linux平台开发技术指南

以下技术和工具是Linux平台下工作的基础,熟练掌握:C++工作语言,重要性不言而喻;入门:《C++ Primer》http://book.douban.com/subject/1767741/《Effective C++》http://book.doub

2011-09-07 17:02:19 435

原创 python文本处理

日常操作中,少不了文本处理,如程序输入数据准备,python凭借其简洁优雅的语法,在文本处理上比C++等编译型语言开发效率高出一大截。文件操作示例#输入文件 f = open(r'D:\Python27\pro\123.bak')  #输出文件 fw =

2011-09-01 22:52:00 1247

原创 DataScraper数据抓取快速入门

1.首先学习采集器的基本使用方法 可参考以下几篇文章: 网站采集器MetaSeeker v4.x速成手册:http://www.gooseeker.com/cn/node/document/metaseeker/cookbookv4/bookfront.html 案例:如何规划网站数据采集: http://www.gooseeker.com/cn/node/Fulelr/200912050

2011-06-19 11:37:00 2455

原创 JSon不能执行回调函数的原因

通过 $.getJSON(url,function (data) { }函数调用JSON服务,回调函数没能正确执行的主要原因就是服务器返回的JSON格式不正确, 具体表现在: 1.Response.ContenType没有正确设置: context.Response.ContentType = "application/json"; (c#环境) 2.JSON格式组装错误。 对于第2

2011-06-19 11:34:00 847

原创 memcache 安装 注意事项

本人实验目标机器:Sun Unix; 默认使用的编译器为CC;(使用此默认编译器并不成功,需改为gcc) 1.安装memcache之前需要安装libevent库。 注意需要安装对应支持的版本。我使用的是两个分别是: libevent-1.4.9-stable.tar.gz(下载:http://monkey.org/~provos/libevent-1.4.9-stable.tar.gz)

2011-06-19 11:33:00 537

原创 实现windows与Unix/Linux编程环境同步

本文通过以下几步设置,实现在Windows下使用VS编程和调试,最终程序在Unix上运行。 需要的软件如下: cwRsync:客户端/服务器端同步软件 对于cwRsync的安装,这里不多做介绍,更多请参考: http://www.cnblogs.com/me115/archive/2011/02/28/1967213.html http://www.cnblogs.com/me115/a

2011-06-19 11:30:00 766 1

原创 CPPUnit 使用指南[Unix]

单元测试工具CPPUnit在Windows平台下使用图形界面,操作非常直观;但在Unix平台下,就需要花点功夫配置一番: 1.下载文件: 本人使用的是cppunit-1.12.0.rar 版本,可以在以下地址下载(http://u.115.com/file/f6a03bec8)共享有效期有一个月,这软件在网上也好找。如以上地址过期,未找到合适版本,请留言联系; 2.不用安装,直接将cppun

2011-06-19 11:23:00 596

原创 Tuxedo域连接配置

当多个域之间有Tuxedo服务调用关系,必须通过域连接才能实现正常调用。 通过以下步骤完成连接配置: 1 导出 首先,需要导出当前的域连接信息。通过管道将信息导入到一个文件中,当然,编辑钱不忘备份: dmunloadcf > dm.0616; cp dm.0616 dm.0616.bak; 2 dm格式说明 dm文件中主要有以下几个部分: *DM_LOCAL "ABC-25"  

2011-06-19 11:22:00 4305

软件架构师应该知道的97件事.rar

优秀的软件架构师应该既掌握业务知识又具备技术能力,做到这一点绝非易事,本书想要探讨的就是这个主题。这是一本真正的开源图书,我们邀请到50多位杰出的软件架构师参与写作。大家无偿地分享了各自的工作经验和心得,内容从规避风险的方法到组建团队的技巧,涵盖了架构设计的方方面面。衷心希望这97篇文章能激发您的思考,解决您工作中的困惑。

2011-09-27

一线架构师实践指南(温昱).pdf

本书致力于为一线架构师,以及软件企业提供务实有效的架构设计方法指导。   本书从架构师经常遇到的困惑出发,总结软件架构设计中经常遇到的问题,提出“方法体系必然是软件业界未来发展的重大趋势”,以及“架构设计方法已经扩展到方法体系”的观点。针对软件架构设计的三个阶段(Pre-Architecture阶段、 Conceptual Architecture阶段和Refined Architecture阶段)中的各个具体环节,给出了最佳的实践原则和方法,内容涵盖了从需求分析到生成架构的整个过程。

2011-09-27

架构之美 精选版.pdf

本书围绕5个主题领域来组织本书的内容:概述、企业应用、系统、最终用户应用和编程语言。本书让最优秀的设计师和架构师来描述他们选择的软件架构,剥开架构的各层,展示他们如何让软件做到实现功能、可靠、易用、高效率、可维护、可移植和优雅。

2011-09-27

[GTD] MyLife Organized 3.5 汉化版(10年4月1日)

[GTD] MyLife Organized 3.5 汉化版(10年4月1日) ---------------------------------------------------------------------------- 【软件信息】 ---------------------------------------------------------------------------- 软件名称:[GTD] MyLife Organized 3.5 汉化版 当前版本:v3.5 发布日期:2010年4月01日 适用平台:WM5,WM6设备

2010-11-12

JAVA 2应用编程150例

学JAVA的好东西,源代码齐全

2008-05-20

空空如也

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

TA关注的人

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