代码改变世界

译文:《Grouped》各章小结

2012-02-11 15:53 by zhenjing, 1210 阅读, 1 推荐, 收藏, 编辑
摘要:Each year, many thousands of research studies are carried out on social behavior. This book is not a comprehensive account of all these studies, which would take up thousands of pages, and would never be read by busy professionals. This book is a synthesis of key studies in related fields, summarized into actionable patterns. The goal of this book is to give people a foundational understanding of social behavior, and how it applies to the future of business. 阅读全文

[转]Paul Adams:为社交设计

2012-02-11 14:55 by zhenjing, 523 阅读, 0 推荐, 收藏, 编辑
摘要:我们的设计网络工具必须要认识到这些联系的强度,我们与一些人有着比另外一些人更密切的联系。我们应该适应这些知识。 有三种关系类型: 强关系:人们彼此非常关心 弱关系:人们的联系很稀松,像朋友的朋友 暂时性关系:人们彼此不认识,但临时地联系过 让我们来看看每一种关系类型,想想我们应该如何为它们做设计。 阅读全文

[转] 面向海量服务的设计原则和策略总结

2012-01-19 22:08 by zhenjing, 500 阅读, 0 推荐, 收藏, 编辑
摘要:互联网服务的特点就是面向海量级的用户,面向海量级的用户如何提供稳定的服务呢?这里,对这几年的一些经验积累和平时接触的一些理念做一个总结。 一、原则 1.Web服务的CAP原理 CAP指的是三个要素:一致性(Consistency)、可用性(Availability)、分区容忍性(Partition tolerance)。CAP原理指的是这三个要素最多只能同时实现两点,不可能三者兼顾,对于海量级服务,一般这是一条常记心中的基准准则。 如下是《Web服务的CAP》关于CAP的定义:一致性:可以参考数据库的一致性。每次信息的读取都需要反映最新更新后的数据。可用性:高可用性意味着每一次请求都... 阅读全文

[转] 可伸缩性最佳实践:来自eBay的经验

2012-01-02 14:01 by zhenjing, 477 阅读, 2 推荐, 收藏, 编辑
摘要:虽是2008的文章,很不错,值得看看。 阅读全文

[转] 大规模服务设计部署经验谈

2011-11-22 19:16 by zhenjing, 1246 阅读, 3 推荐, 收藏, 编辑
摘要:本文中提出的最佳实践,来自于作者多年大规模服务设计和部署的经验,为设计、开发对运营友好的服务提供了一系列良好的解决方案。基本原则:1. 做好发生故障的心理准备。2. 保持简单化。3. 将所有的工作自动化。 非常值得提供互联网服务的相关认识学习参看。 阅读全文

[转] 字符集编码(GBK,BIG5,UNICODE)与C++的string/wstring

2011-08-07 14:09 by zhenjing, 14556 阅读, 1 推荐, 收藏, 编辑
摘要:因处理中午需要,想搞懂如下几个问题:中文是否能够使用C++的string来存储?是否有截断问题?stirng和wstring到底是什么关系?在网上找了几篇文章,得出如下结论:string完全可以存储中文(有效编码只有'\0'=0,其他字符均不为0),但是在显示、字符操作等方面是无法保证的! 阅读全文

大规模分布式系统问题集及解决方案(学习)

2011-07-30 10:26 by zhenjing, 11362 阅读, 5 推荐, 收藏, 编辑
摘要:对于分布式系统是初学者,没有实践的经验,对理论的理解也有限。上面这些属于学习笔记,是过去2个月零星积累的结果。绝大多数属于摘抄,文后会给出参考的资源。 阅读全文

进程互斥与竞态

2011-07-15 09:33 by zhenjing, 3908 阅读, 3 推荐, 收藏, 编辑
摘要:后台程序经常要求有且只有一个实例存在,以防止资源访问冲突。如何实现单一实例进程限制呢?本文讨论了2种常用实现机制。同时讨论了和文件锁机制相关的话题:系统调用和竞态。竞态是系统编程中很常见的一个问题。凡涉及多于2个的系统调用组合均可能存在竞态。竞态的本质也是资源的访问冲突。 阅读全文

RAII、栈展开和程序终止

2011-07-06 00:11 by zhenjing, 3165 阅读, 0 推荐, 收藏, 编辑
摘要:RAII(资源获取即初始化RAII, Resource Acquisition Is Initialization)是C++编程中很重要的一项技术。其原理是在对象析构函数中释放该对象获取的资源,利用栈展开过程栈上对象的析构函数将被自动调用的保证,从而正确地释放先前获取的资源。RAII只有在栈展开正常执行的前提下才能正常工作。函数调用和正常的C++异常处理流程(异常处于try-catch块)都存在栈展开。应该特别注意的是:在程序运行过程中,RAII可以可靠地正确地释放资源;但当程序非正常终止时,栈展开经常被忽略,从而导致RAII失效。 阅读全文

文件锁与NFS文件锁

2011-07-04 21:46 by zhenjing, 11539 阅读, 4 推荐, 收藏, 编辑
摘要:文件是Linux系统中的重要概念。CPU,内存,磁盘,网卡,各种输入输出设备是操作系统管理的各种资源。其中除了CPU、内存用于计算之外,其余的资源均可看成输入输出设备。磁盘作为最核心的数据持久化设备,其上的数据一般以文件形式加以管理。Linux的文件基于一个很重要的抽象概念: 虚拟文件系统。虚拟文件系统提供一组统一的文件操作接口,从而屏蔽底层硬件设备的差别。只要硬件的驱动支持虚拟文件系统的接口,那么操作系统就可以按照统一的文件操作接口来读写该硬件设备的数据(输入/输出)。 文件本身也是一种很重要的进程间通讯方式,进程以文件的方式来共享各种数据。文件锁则是一种重要的进程间同步机制。因文件锁独特的进程生存期机制,从而大大简化文件锁的管理(尤其是错误处理)。 本文从内核中的文件数据结构谈起,讲解如何使用flock/fcntl,NFS文件锁,以及一些替代的文件锁机制。 阅读全文
上一页 1 2 3 4 5 6 7 8 9 10 ··· 15 下一页