为什么说你不要独自编程

我在宾夕法尼亚州匹兹堡地区一个有相当规模的制造公司里工作。我是那里唯一的一个ruby程序员。公司里还有个程序员,但我们的工作通常不相交,他不懂ruby。来到这个公司后,我最终被分配的任务是开发web应用程序。之前,我学的是软件工程师,我花了大量的时间学习了底层编程,C/C++,甚至汇编。这里,我以为学习web开发是件很快乐的事,所以我买了一些书,开始研究。[......]

阅读全文

Web应用服务器OpenResty

OpenResty (也称为 ngx_openresty)是一个全功能的 Web 应用服务器。它打包了标准的 Nginx 核心,很多的常用的第三方模块,以及它们的大多数依赖项。

通过众多进行良好设计的 Nginx 模块,OpenResty 有效地把 Nginx 服务器转变为一个强大的 Web 应用服务器,基于它开发人员可以使用 Lua 编程语言对 Nginx 核心以及现有的各种 Nginx C 模块进行脚本编程,构建出可以处理一万以上并发请求的极端高性能的 Web 应用。[......]

阅读全文

Oracle Coherence

Coherence 在可靠的、高度可伸缩的对等集群协议之上提供了复制的、分布式的(分区的)数据管理和缓存服务。Coherence 不存在单点故障,当某台服务器无法操作或从网络断开时,它可以自动且透明地进行故障切换并重新分布它的集群化数据管理服务。当新服务器加入或故障服务器重启时,它会自动加入集群,Coherence 会将服务切回到该服务器,透明地重新分布集群负载。Coherence 包含网络级的容错特性和透明的软重启功能,以支持服务器自我修复。[......]

阅读全文

敏捷体验设计文具指南

传统瀑布式设计流程中最大的两个问题在于分工导致的设计过程中失真,以及应对变化能力弱,而不可否认的是,分工的优势在于执行效率,如果取消分工,虽然迫使设计师开始协作,避免了一定的失真,以及及早发现变化风险,但摆在眼前的,确实新的工作模式可能带来的工作效率低下的问题。

敏捷体验设计的方法论并不是简单打破传统的分工模式,而也在实践层次提供各种方法和工具,帮助设计师即保证了充分的协作,也避免了执行力下降的问题。而作为实操层面的文具选择,则是设计师协作的有效工具。[......]

阅读全文

AIX

简介

AIX(Advanced Interactive eXecutive)是IBM开发的一套UNIX操作系统。它符合Open group的UNIX 98行业标准(The Open Group UNIX 98 Base Brand),通过全面集成对32-位和64-位应用的并行运行支持,为这些应用提供了全面的可扩展性。它可以在所有的IBM ~ p系列和IBM RS/6000工作站、服务器和大型并行超级计算机上运行。[......]

阅读全文

Oracle集群

Oracle集群

Oracle集群,最早称作OPS(Oracle Parallel Server)出现在Oracle 7版本中,从Oracle 9i开始正式改称为Oracle RAC,RAC即Real Application Clusters的简写,译为“真正应用集群”;RAC 是Oracle新版数据库中采用的一项新技术,也是Oracle数据库支持网格计算环境的核心技术。[......]

阅读全文

模拟银行窗口排队叫号系统的运作

最近在网上看到了一道面试题,初看很简单,细看有点意思的一道题目:

http://blog.csdn.net/zhangxiaoxiang/archive/2011/04/01/6294132.aspx

为避免版权纠纷,我这里就不引用原文了。

各人对题目的理解不一样,我把它当成一道离散事件仿真题目来做,用一个优先队列解决。

完整的代码见 https://github.com/chenshuo/recipes/tree/master/java/bankqueue[......]

阅读全文

Muduo多机协作网络编程示例一:单词计数及排序

去年我写了《Muduo 网络编程示例》系列文章,这些文章已经收入《Linux 多线程服务端编程:使用 muduo C++ 网络库》一书。这些文章讲的基本都是运行在单机上的网络程序,每个例子都只有一个程序(第7.13节例外)。我接下来打算继续写几篇文章,谈一谈分布在多台机器上、协作发挥作用的网络编程例子。[......]

阅读全文