最新文章
移动应用测试——打造完美应用的秘诀 软件测试
英文原文:Mobile App Testing - The Secret to the Perfect App 打造完美移动应用的关键 上个季度,你刚刚花了大半个季度的时间,开发最新版本的移动应用程序。这是一项必须完成的工作。最近的主流移动操作系统升级让你的应用具备了新的能力。你的竞争对手已...
什么是对象,为什么要面向对象,怎么才能面向对象? 软件设计
一、 面向对象,这个对象到底是什么? 这个对象不是C#中的实例,C#中我们把一个类的实例也叫做对象,这种对象严格的说应该是面向对象的编程实现(OOP)中的对象,面向对象编程,也不是面向类的实例编程。对象的定义是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体...
驱动方法不能改变任何事情 软件设计
原文链接:*-Driven* do not change anything 你曾听说过一名专业软件开发人员应该掌握一种驱动方法吗?这些驱动方法可能是:领域驱动设计(Domain-Driven Design)、测试驱动开发(Test-Driven Development)、行为驱动开发(Beha...
推行TDD的思考 软件设计
目前来看,推行TDD的障碍大约有如下几点:1. 开发人员的质量意识;2. 分析需求并进行任务分解的能力;3. 将测试作为开发起点的开发习惯;4. 开发人员的重构能力,包括如何识别坏味道和如何运用重构手法;5. 单元测试的基础设施,尤其是测试数据准备; 开发人员的质量意识 开发人员对于软件质量...
首席工程师揭秘:LinkedIn大数据后台是如何运作的 互联网
英文原文:The Log: What every software engineer should know about real-time data's unifying abstraction 我在六年前的一个令人兴奋的时刻加入到LinkedIn公司。从那个时候开始我们就破解单一的、集中式...
码农的思维训练:超越专家 程序人生
真正的发现之旅不在于追求新大陆,而在于拥有新的视野。——马塞尔•普鲁斯特(Marcel Proust,1871.7.10—1922.11.18),法国20世纪最伟大的小说家,意识流小说的先驱与大师 那么,现在该怎么做? 有效的改变 当你决心改变时,大脑并不是一定会与我们合作。虽然你有学习的意愿...
如何摆脱令人头疼的架构依赖? 软件设计
英文原文:The Elusive Dependency 我猜你一定了解以下这种感觉:你马上要准备在某个项目审查会议中发言,而你已知道自己陷入了麻烦中。看看这个仅有5页的幻灯片,你深切地感觉到这个会议注定不会进行得很顺利。即使经过连续三个晚上的通宵奋战,将原本16页的演讲精简为4页的模板,你也无...
老码农的技术理想 程序人生
小时候,老师问我,你的理想是什么?我不假思索说是工程师,于是长大之后果然成了工程师。 工作这么多年,一直在思考工程师这三个字的意义,终于有一天恍然大悟,原来就是:用技术手段改进世界。 那么,在软件方面,目前的世界有哪些问题需要解决呢?有这么一些问题可以思考:现在整个世界的信息化程度是偏高还是...
我们为什么要思考算法 互联网
源头 “算法”的中文最早出现在中国汉代的数学名著《周髀算经》中。《周髀算经》卷上有:“数之法出于圆方。圆出于方,方出于矩。矩出于九九八十一”。意思是: 算数的方法都出于对圆、对方的计算,其中圆出于方(圆形面积=外接正方形x圆周率/4),方出于矩(正方形源自两边相等的矩),矩的计算出于九九八十一...
事件流如何提高应用程序的扩展性、可靠性和可维护性 软件设计
关于事件流处理,在不同的场景中有不同的概念。有人称之为流处理,有人称之为事件溯源或CQRS,还有人称之为“复杂事件处理(Complex Event Processing)”。不管名称是什么,它们的基本原则都是一样的。Martin Kleppmann是Apache Samza的贡献者。在本文中,我...
Web动效研究与实践 Web前端
随着CSS3和HTML5的发展,越来越多狂拽炫酷叼炸天的动效在网页设计上遍地开花,根据最新的浏览器市场份额报告,IE6的份额已经降到了5.21%,这简直是一个喜大普奔的消息,做动效可以完全不care低端浏览器的时代已经在向我们招手了。俗话说得好,颜值不够,动效来凑,Web动效已经不仅仅是网页设计...
关于工作效率的心得分享 程序人生
这是去年11月底在小组里分享过的工作效率心得,在这里也跟大家分享一下工作“快”感哈哈。我相信大家应该都有过工作效率的些许烦恼。而这个效率啊伴随我很长时间的痛苦。每每到PDI的时候领导必提效率有木有?自认为快是不算的,必须领导和客户方说了算,对于当年校招进来的毛驴,是一件泪崩漫长的提升过程。整天琢...
编码之道:取个好名字很重要 编程基础
代码就是程序员的孩子,给“孩子”取个好听的名字很重要! 我们在项目开发中,接触到的变量、函数、类多数都是项目自己定义的,往往都是为了解决一些特定的领域的问题,引入了各种各样的概念,代码里面的名字就对应着问题领域或方案领域的这些概念。所以,对于一个命名良好、代码规范、设计简洁的系统,要想非常快的理解...
论大公司的通病 程序人生
兴之所至的写了一下我对 BAT 三家公司的看法,有位大佬留言说,不如写一下大公司的通病。这倒是提醒了我,很好的话题,任何大公司都有各种各样的独特的问题,也有些问题有共性。我列几点跟大家探讨。 一. 过度管理 绝大多数大型公司的管理者的管理工作都是过度的,这话不算夸张,有些管理者甚至把管理本身...
在浏览器中输入Google.com并且按下回车之后发生了什么? Web前端
本文试图回答一个古老的面试问题:当你在浏览器中输入google.com并且按下回车之后发生了什么? 不过我们不再局限于平常的回答,而是想办法回答地尽可能具体,不遗漏任何细节。 这将是一个协作的过程,所以深入挖掘吧,并且帮助我们一起完善它。仍然有大量的细节等待着你来添加,欢迎向我们发送Pull...
90分钟内完成全天工作 其他分类
英文原文:Do a Full Days Work in 90 Minutes图片来源:skeeze 一个典型的美国办公室工作者,每个工作日只能完成90分钟真正有意义的工作。 当天剩余的大部分时间,都被浪费在各种分心事务上,比如阅读新闻、网上冲浪、同事社交、吃零食、喝咖啡、翻看报纸、处理无关邮...
程序员讨厌没有价值的任务 程序人生
英文原文:Software Developers Hate Worthless Tasks 大多数程序员,据我所知,越是优秀,越是讨厌没有价值的任务。 寻找其工作的价值 这些年来,我看到很多颇有成绩的软件开发人员转行去了管理岗位,或者其他完全不同的职业。有的时候原因很简单,只是想拿更高的薪...
最好的流程是没有流程 软件工程
英文原文:The Best Process Is No Process 前年,Wikispeed团队掀起了一场业界风暴。它们把敏捷实践应用到了最传统的行业:汽车制造业。它们在3个月的时间里就研发了一款绿色汽车,而这原本需要经历10-25年的产品生命周期。 而且,得益于独立组件的测试驱动开发,...
不要学习代码,要学会思考 程序人生
英文原文:Don't learn to code, learn to think 译/赖信涛 这是一个人人都在学习编程的时代:Code.org请了比尔·盖茨,马克·扎克伯格和克里斯·波什等这些名人,来告诉你,每个人都可以编程;CoderDojo’s在各个国家悄然兴起;在英国,编程已经是各个年...
怎样尊重一个程序员 程序人生
得知一位久违的同学来到了旧金山湾区,然而我见到他时,这人正处于一生中最痛苦的时期。他告诉我,自己任职的公司在他加入之前和之后,判若两人。录取的时候公司对他说,我们对你在实习期间的表现和学术背景非常满意,你不用面试,甚至不用毕业拿学位,直接就可以加入我们公司成为正式员工。然而短短一年后的今天,这位...