关闭

构建易于维护的分布式程序

陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice 摘要:本篇博客没有新东西,只不过是把去年在珠三角技术沙龙做的一次演讲的其中一张 ppt 展开讲一讲。 本文标题中的“易于维护”指的是 supportability,不是 maintainability。前者是从运维人员角度说,程序管理起来很方便,日常的劳动负担小;后者是从开发人员的角度说,代码好读好改。 前文《分布式系统中的进程标识》我提到一个观点:分布式系统中的每个长期运行的、会与其他机器打交道的进程都应...
阅读(16882) 评论(19)

分布式系统中的进程标识

昨天跟朋友聊天,谈到了分布式系统中如何为进程取标识符(process identifier),写篇博客简单总结一下我的观点:以四元组 ip:port:start_time:pid 作为分布式系统中进程的全局唯一标识符(gpid)...
阅读(14192) 评论(47)

C++ 工程实践(5):避免使用虚函数作为库的接口

摘要:作为 C++ 动态库的作者,应当避免使用虚函数作为库的接口。这么做会给保持二进制兼容性带来很大麻烦,不得不增加很多不必要的 interfaces,最终重蹈 COM 的覆辙。 本文主要讨论 Linux x86 平台,会继续举 Windows/COM 作为反面教材。 本文是上一篇《C++ 工程实践(4):二进制兼容性》的延续,在写这篇文章的时候,我原本以外大家都对“以虚函数作为接口”的害处达成共识,我就写得比较简略,看来情况不是这样,我还得展开谈一谈。 ...
阅读(20621) 评论(111)

C++ 工程实践(4):二进制兼容性

陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice 本文主要讨论 Linux x86/x86-64 平台,偶尔会举 Windows 作为反面教材。 C/C++ 的二进制兼容性 (binary compatibility) 有多重含义,本文主要在“头文件和库文件分别升级,可执行文件是否受影响”这个意义下讨论,我称之为 library (主要是 shared library,即动态链接库)的 ABI (application binary interface)。...
阅读(21598) 评论(61)

C++ 工程实践(3):采用有利于版本管理的代码格式

版本管理(version controlling)是每个程序员的基本技能,C++ 程序员也不例外。版本管理的基本功能之一是追踪代码变化,让你能清楚地知道代码是如何一步步变成现在的这个样子,以及每次 check-in 都具体改动了哪些内部。所谓“有利于版本管理”的代码格式,就是指在代码中合理使用换行符,对 diff 工具友好,让 diff 的结果清晰明了地表达代码的改动。...
阅读(13728) 评论(26)
    个人资料
    • 访问:3276147次
    • 积分:24703
    • 等级:
    • 排名:第570名
    • 原创:144篇
    • 转载:3篇
    • 译文:2篇
    • 评论:3335条
    公告
    本人博客的文章均为原创作品,除非另有声明。个人转载或引用时请保留本人的署名及博客网址,商业转载请事先联系。我不使用即时聊天工具。也请不要用 CSDN 站内信、私信、短消息或者留言功能跟我联系。我的 gmail 用户名是 giantchen,微博 http://weibo.com/giantchen。
    陈硕的微博
    最新评论
    g