最新文章
周爱民:真正的架构师是没有title的(图灵访谈) 程序人生
周爱民,现任豌豆荚架构师,国内软件开发界资深软件工程师。从1996年起开始涉足商业软件开发,历任部门经理、区域总经理、高级软件工程师、平台架构师等职,有18年的软件开发与架构、项目管理及团队建设经验,曾任盛大网络平台架构师、支付宝业务架构师,是 Borland Delphi 产品技术专家,也是 Q...
乔布斯的管理课 其他分类
2011年11月出版的《乔布斯传》很畅销,也写得很好,我还写过一篇读后感。 但是,很少有人知道,它的作者沃尔特·艾萨克森(Walter Isaacson)在6个月后的2012年4月,为《哈佛商业评论》写过一篇2万多字的长文,总结乔布斯的管理艺术,名字叫做《乔布斯的管理课:卓越领导力的14位密码...
一切皆可复用 软件工程
你有复用习惯吗? 你是程序员吗?我们经常要写数据库连接的代码,这些代码都类似,无非是new一个connection,然后配置connection的参数,然后open。很多编码新手,常常会在不同的地方编写这段类似的代码。其实很简单,这段代码应该抽取出来供每个地方调用。如果你编写的代码中发现很多类...
微软资深软件工程师:阅读代码真的很难 编程基础
英文原文:Reading Code Is Hard 编者按:原文作者 Eric Lippert 是微软一名资深软件设计工程师,从1996年起一直在微软开发部门任职,协助设计并实现VBScript、JScript、JScript .NET、Windows Script Host、Visual ...
应聘互联网公司的简历应该是怎么样的? 求职面试
从去年到现在看了几百份简历,包括产品运营和产品设计师的职位。我不是 HR,只是想直接看到求职者的状况,看看是不是要换更准确的渠道去招聘对的人。我看简历的目的也很简单:找到没有什么问题且可能合适的人,然后约来聊聊看是否合适。 (我不是 HR,所以可能和专业负责人力资源的见解出入很大。本答案只是经...
隐藏为了适时出现 其他分类
在这个信息爆炸的社会里,信息过载已成为常态,为了提升用户使用效率,处理界面的信息层次是每个设计师都要面对的重要一课。这篇短文想聚焦的话题是界面中的“隐藏”。在界面设计中,隐藏不是为了和用户躲猫猫,而是为了让用户更好地聚焦在重要内容上,降低界面信噪比,提升信息传达效率。 笔者以前经常玩的D&D,...
缓存一致性(Cache Coherency)入门 其他分类
参考原文:http://fgiesen.wordpress.com/2014/07/07/cache-coherency/ 本文是RAD Game Tools程序员Fabian “ryg” Giesen在其博客上发表的《Cache coherency primer》一文的翻译,经作者许可分享至...
单身创业的迷思 创业
英文原文:The Myth of the Single-Person Startup 2010年五月,我向公司申请了一个月的停薪留职,我计划用这整整一个月的时间去建立一个我自己的网站形式的创业公司。 我的目标就是利用这一个月的假期,把自己关在屋里,编写一个月的代码,把网站的基本架构搭建好,使...
推荐!可视化垃圾回收算法 编程基础
英文原文:Visualizing Garbage Collection Algorithms 大部分开发者都认为自动垃圾回收器是理所当然的。实际上,这只是语言运行时提供的一项实用功能,旨在简化我们的开发工作。 但是如果尝试着了解垃圾回收器的内部原理,你会发现很难弄明白。除非熟悉它的工作流程和...
构建高可伸缩性的WEB交互式系统(下) Web前端
本文是《构建高可伸缩性的WEB交互式系统》系列文章的第三篇,以网易的NEJ框架为例,对模块的可伸缩性进行分析介绍。 实例分析 NEJ框架根据前两篇的描述对此套架构模式做了实现,下面我们用具体实例讲解如何使用NEJ中的模块调度系统来拆分一个复杂系统、开发测试模块、整合系统等。 系统分解 绘...
谈谈网站测试中的AB测试方法 软件测试
什么是A/B测试? A / B测试,即你设计的页面有两个版本(A和B),A为现行的设计, B是新的设计。比较这两个版本之间你所关心的数据(转化率,业绩,跳出率等) ,最后选择效果最好的版本。 A / B测试不是一个时髦名词。现在很多有经验的营销和设计工作者用它来获得访客行为信息来提高转换率。...
你在支配钱,还是钱在支配你? 创业
昨天写完《右脑追求理想,左脑面对现实的残酷》后,一整天我的脑海都在想钱的事情。 事实上,我们已经知道钱可以加速一个商业模式从 1 到 100,但几乎无法帮助它从 0 到 1。因此在还没有 1 之前,钱最多只能帮助创业者多做些尝试,或是不要饿死。 另一方面,我们也知道,因为人性的缺陷,在到达 ...
关于技术变化方面的五种思想 程序人生
译者注:本文发表于1998年3月28日,16年过去了,仍然值得我们深思。 英文原文:Five Things We Need to Know About Technological Change 我怀疑,21世纪将给我们带来的问题,相较于本世纪,或者19世纪,18世纪,17世纪,或者进一步讲,比之...
图解SSL/TLS协议 其他分类
本周,CloudFlare宣布,开始提供Keyless服务,即你把网站放到它们的CDN上,不用提供自己的私钥,也能使用SSL加密链接。 我看了CloudFlare的说明(这里和这里),突然意识到这是绝好的例子,可以用来说明SSL/TLS协议的运行机制。它配有插图,很容易看懂。 下面,我就用这...
关于工作效率的心得分享 程序人生
这是去年11月底在小组里分享过的工作效率心得,在这里也跟大家分享一下工作“快”感哈哈。我相信大家应该都有过工作效率的些许烦恼。而这个效率啊伴随我很长时间的痛苦。每每到PDI的时候领导必提效率有木有?自认为快是不算的,必须领导和客户方说了算,对于当年校招进来的毛驴,是一件泪崩漫长的提升过程。整天琢...
构建高可伸缩性的WEB交互式系统(中) Web前端
在《构建高可伸缩性的WEB交互式系统》的第一篇,我们介绍了Web交互式系统中平台的可伸缩性。本文将描述模块的可伸缩性。 模块的可伸缩性 WEB交互式系统对模块的可伸缩性同样表现为:可扩展性:对于系统新增的功能需求能够快速响应支持可缩减性:对于系统退化的模块能够以最小的修改方式剔除 这里我们...
伟大的程序员是怎样炼成的? 程序人生
英文原文:What makes a great software engineer? 近几周,一份反映 Netflix 公司企业文化的报告在网上广为流传。 这份报告里列举了很多Netflix公司里令人称赞的做法,包括这个公司是如何的招聘和辞退员工的。 里面有大量的信息是描述Netflix公司是...
DevOps——现代开发高手的终极秘诀 软件工程
一张技术文凭就是铁饭碗敲门砖的时代已经一去不复返了。如今,各大公司寻觅的是具有商业头脑的IT高手,而不是单纯的技术专家。如果你现在是一个编程高手,想要成为一名软件工程师,探索和学习就不能停止。不久之前,软件开发者的软件应用编程和测试工作是相对独立的。如今,DevOps(开发运营)革新浪潮来袭,强...
向上管理:管理自己的老板 创业
了解老板并构建双向关系 当我作为职场新人第一天报道时,就很好奇将要面对的是一位什么样的老板。他是一位斯文的中年人,个子不高,戴副眼镜,书生气十足,一看就是从程序员升上来的管理者。他给我指定了一个Mentor(导师)后,就很少管我,除了周会我们只是在一起吃饭时聊聊无关痛痒的事情——往往是新闻上那...
网站,越简单越好 互联网
今天客户问我一个问题,我当下是不知道怎么回答, 你设计的网站都偏向简单风格,但是这个网站(指案子)是偏向传统复杂的?你 OK 吗? 原文已经忘记,不过大意即使如此。说真的我当下,真的不知道如何回答。 因为在我还没有设计这些网站之前,它是很复杂的。 简单 != 简单 设计简单,不等于「简...