上一页 1 ··· 5 6 7 8 9 10 下一页
摘要: 代码风格指南http://code.google.com/p/google-styleguide/通过这个了解代码规范和编写新代码Open Source Projects Released By Googlehttp://code.google.com/intl/zh-CN/opensource/projects.htmlgoogle的完整开源例子https://developers.google.com/http://code.google.com/intl/zh-CN/opensource/http://code.google.com/hosting/search?q=label:goog 阅读全文
posted @ 2013-03-10 17:30 盖文 阅读(161) 评论(0) 推荐(0) 编辑
摘要: #类中的元素0.成员变量 1.成员函数 2.静态成员变量 3.静态成员函数 4.虚函数 5.纯虚函数#影响对象大小的因素0.成员变量 1.虚函数表指针(_vftptr) 2.虚基类表指针(_vbtptr) 3.内存对齐_vftptr、_vbtptr的初始化由对象的构造函数, 赋值运算符自动完成;对象生命周期结束后,由对象的析构函数来销毁。对象所关联的类型(type_info),通常放在virtual table的第一个slot中。虚继承:在继承定义中包含了virtual关键字的继承关系;虚基类:在虚继承体系中的通过virtual继承而来的基类,需要注意的是:class CDerive : p. 阅读全文
posted @ 2013-03-10 17:19 盖文 阅读(164) 评论(0) 推荐(0) 编辑
摘要: Martin Fowler在自己网站上写了一篇LMAX架构的文章,在文章中他介绍了LMAX是一种新型零售金融交易平台,它能够以很低的延迟产生大量交易。这个系统是建立在JVM平台上,其核心是一个业务逻辑处理器,它能够在一个线程里每秒处理6百万订单。业务逻辑处理器完全是运行在内存中,使用事件源驱动方式。业务逻辑处理器的核心是Disruptor。Disruptor它是一个开源的并发框架,并获得2011 Duke’s程序框架创新奖,能够在无锁的情况下实现网络的Queue并发操作。本文是Disruptor官网中发布的文章的译文(现在被移到了GitHub)。剖析Disruptor:为什么会这么快剖析Dis 阅读全文
posted @ 2013-03-10 17:05 盖文 阅读(1421) 评论(0) 推荐(0) 编辑
摘要: 简介TFS(Taobao !FileSystem)是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,主要针对海量的非结构化数据,它构筑在普通的Linux机器集群上,可为外部提供高可靠和高并发的存储访问。TFS为淘宝提供海量小文件存储,通常文件大小不超过1M,满足了淘宝对小文件存储的需求,被广泛地应用在淘宝各项应用中。它采用了HA架构和平滑扩容,保证了整个文件系统的可用性和扩展性。同时扁平化的数据组织结构,可将文件名映射到文件的物理地址,简化了文件的访问流程,一定程度上为TFS提供了良好的读写性能。TFS的总体结构一个TFS集群由两个!NameServer节点(一主一备)和多个!D 阅读全文
posted @ 2013-03-10 14:47 盖文 阅读(1365) 评论(0) 推荐(0) 编辑
摘要: 下面这张图,是在一个大型的WEB系统设计中,经典的架构设计和分层模式。1) 前端负载均衡: 有钱的用硬件四层交换(想当年雅虎中国2000台服务器,只用了四台Alteon就搞定了),没钱的用软件负载均衡(LVS、Nginx)2) 多级缓存:首先要充分利用浏览器的缓存能力,也就是Cookie,然后要在服务端利用页面缓存机制,前些年大家喜欢用Squid,现在Varnish更流行起来了,有一个牛逼的故事是挪威的最大的在线报纸Verdens Gang(vg.no)使用3台Varnish代替了原来的12台Squid,性能比以前更好,这是Varnish最成功的应用案例。 最后一个缓存点是在数据库前方设置,让 阅读全文
posted @ 2013-03-10 14:37 盖文 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 著名的稳定婚姻问题是美国数学家、经济学家Lloyd Stowell Shapley(1923-)提出的。下面介绍一下背景:某单位有n个姑娘W1,W2,……,Wn和n个小伙M1,M2……,Mn。每位姑娘对所有小伙有一个满意度排序,每位小伙对所有姑娘也有一满意度排序。M1:W2 >W1>W3 W1:M1> M3> M2M2:W1 >W2>W3 W2:M3> M1> M2M3:W1> W2>W3 W3: M1> M2> M3定义:一组婚姻状态称为稳定(stable)的,若不存在配对(Mi,Wj)和(Ms,Wt),使得在Mi心中W 阅读全文
posted @ 2013-03-10 01:01 盖文 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 下面这个图片来源国外,是一个关于程序员面试时的简历,被人事部门和程序员本身评审的角度不同的图片。当然,这是一个从国外面试的视角制作的图片,不过,可以看出,其中很多东西都是和国内是相同的。让我们通过这个图片也来了解一下自身吧。下面是我对其做的翻译,翻译水平有限,请大家指正。人事部门是这样阅读简历的(+15分)如果简历中说到了和工作职位相符的技能超过5次以上。(+8分)如果简历中说到了和工作职位相符的技能3次到5次。(+4分)如果简历中说到了和工作职位相符的技能1次到2次。(+4分)Cover Letter(“求职信”或“自荐信”)提到了招聘人员。(+2分)简历中有Cover Letter(求职信 阅读全文
posted @ 2013-03-10 00:54 盖文 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方法。本文的东西是我的一些经验和知识,并不一定全对,希望大家指正和补充。在开始这篇文章之前,大家可以移步去看一下酷壳以前发表的《代码优化概要》,这篇文章基本上告诉你——要进行优化,先得找到性能瓶颈! 但是在讲如何定位系统性能瓶劲之前,请让我讲一下系统性能的定义和测试,因为没有这两件事,后面的定位和优化无从谈起。一、系统性能定义让我们先来说说如何什么是系统性能。这个定义非常关键,如果我们不清楚什么是系统 阅读全文
posted @ 2013-03-10 00:49 盖文 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 来源:http://www.quora.com/What-is-Facebooks-architecture(由Micha?l Figuière回答)根据我现有的阅读和谈话,我所理解的今天Facebook的架构如下:Web 前端是由 PHP 写的。Facebook 的HipHop[1] 会把PHP转成 C++ 并用 g++编译,这样就可以为模板和Web逻贺业务层提供高的性能。业务逻辑以Service的形式存在,其使用Thrift[2]。这些Service根据需求的不同由PHP,C++或Java实现(也可以用到了其它的一些语言……)用Java写的Services没有用到任何一个企业级的 阅读全文
posted @ 2013-03-10 00:45 盖文 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 一共有25匹马,有一个赛场,赛场有5个赛道,就是说最多同时可以有5匹马一起比赛。假设每匹马都跑的很稳定,不用任何其他工具,只通过马与马之间的比赛,试问,最少得比多少场才能知道跑得最快的5匹马?(不能使用撞大运的算法)很明显这是一个算法题,网上有很多贴子在讨论这个问题,不过都没有给出一个明确的答案。我想了想,想到下面的一个算法:1)分成5组A,B,C,D,E,比五场。然后根据每场结果分别给这五组内的五匹马排序(从快到慢)。2)每组的头名再赛一场,取走第一名,然后该组第二名顶上。3)重复第二步,直到选出前5名。这个算法是比较笨的算法,总计需要赛10次,这个算法应该是万无一失的。现在的问题的就,如何 阅读全文
posted @ 2013-03-10 00:36 盖文 阅读(158) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 下一页