最新文章

互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous integration,简称 CI)。 本文简要介绍持续集成的概念和做法。 一、概念 持续集成指的是,频繁地(一天多次)将代码集成到主干。 它的好处主要有两个。1、快速发现错误。每完成一点...

阅读(13551)  推荐(29)  持续集成  发布于 2015-10-18 23:06

人,技术与流程 程序人生

我先做一下自我介绍,我是 2007 年加入的 Google,在 Moutain View 总部任 Google SRE,今年年初回国加入 Coding。 在 Google 我参与了两个 Project,第一个就是 Youtube,其中包括 Video transcoding, streamin...

阅读(13196)  推荐(49)  团队管理  发布于 2015-10-14 19:07

当你在浏览器的地址栏上输入https开头的网址后,浏览器和服务器之间会在接下来的几百毫秒内进行大量的通信。InfoQ的这篇文章对此有非常详细的描述。这些复杂的步骤的第一步,就是浏览器与服务器之间协商一个在后续通信中使用的密钥算法。这个过程简单来说是这样的:浏览器把自身支持的一系列Cipher S...

阅读(45876)  推荐(43)  https  发布于 2015-09-30 22:36

文/ITValue 记者吴宁川 从 2008 年开始进入公众视野,到亚马逊与微软于近期获得 1 亿美元的美国联邦管理局云计算合同,云计算整整走过了 7 年。7 年间,以第一代云计算技术为基础的移动计算、社交网络、大数据等新信息技术在全球商业领域掀起了一场新商业运动,这场商业运动创造出以消费者和...

阅读(14446)  推荐(27)  Docker  发布于 2015-09-20 10:41

本文摘自:《Web 全栈工程师的自我修养》 野生程序员是指仅凭对计算机开发的兴趣进入这个行业,从前端到后台一手包揽,但各方面能力都不精通的人。野生程序员有很强大的单兵作战能力,但是在编入“正规军”之后,可能会不适应新的做事方法。 遭遇“野生程序员” 腾讯公司内部的团队很多,在团队管理上有项...

阅读(28091)  推荐(152)  程序员  发布于 2015-09-18 13:49

有限状态机FSM思想广泛应用于硬件控制电路设计,也是软件上常用的一种处理方法(软件上称为FMM有限消息机)。它把复杂的控制逻辑分解成有限个稳定状态,在每个状态上判断事件,变连续处理为离散数字处理,符合计算机的工作特点。同时,因为有限状态机具有有限个状态,所以可以在实际的工程上实现。但这并不意味着...

阅读(46507)  推荐(29)  状态机  发布于 2015-09-13 13:22

状态机的概念 状态机是软件编程中的一个重要概念,比这个概念更重要的是对它的灵活应用。在一个思路清晰而且高效的程序中,必然有状态机的身影浮现。 比如说一个按键命令解析程序,就可以被看做状态机:本来在A状态下,触发一个按键后切换到了B状态,再触发另一个键后切换到C状态,或者返回到A状态。这就是最...

阅读(14272)  推荐(17)  状态机  发布于 2015-09-13 12:20

一、状态机描述 状态机理论最初的发展在数字电路设计领域。在数字电路方面,根据输出是否与输入信号有关,状态机可以划分为Mealy型和Moore型状态机;根据输出是否与输入信号同步,状态机可以划分为异步和同步状态机。而在软件设计领域,状态机设计的理论俨然已经自成一体。Moore型状态机的输出只和当...

阅读(8024)  推荐(4)  状态机  发布于 2015-09-13 11:03

简介 团队的开发人员撇开需求沉浸在想象中的“完美”程序中;测试人员迷茫的点击着按钮试图搞明白这到底是个什么功能;设计师造出了没有尽头的楼梯,更糟的是,客户爱上了这个设计;团队领导四处救火,力有不逮。种种迹象表明,我们得打破分工带来的壁垒,建设全功能团队——大多数人能完成大多数种类工作的团队。 ...

阅读(5902)  推荐(14)  团队建设  发布于 2015-09-12 22:50

软件设计杂谈 软件设计

disclaimer: 本文所讲的设计,非UI/UE的设计,单单指软件代码/功能本身在技术上的设计。UI/UE的主题请出门右转找特赞(Tezign)。 在如今这个Lean/Agile横扫一切的年代,设计似乎有了被边缘化的倾向,做事的周期如此之快,似乎已容不下人们更多的思考。MVP(Minima...

阅读(6082)  推荐(17)  软件设计 程序员  发布于 2015-09-03 22:54

周日傍晚,天色早早的暗了下来,楼下某只狗子一直叫着;有种让人出神的宁静。 我觉得我究其一生最终所要追求的恐怕就是这种宁静。亦或是说心里早已老去了。btw,有谁听过Guns N' Roses某张知名Bootleg拼盘没?也就是所谓的不插电专辑。我在2001年冬天差不多这个时候和Allen、祥子在...

阅读(8125)  推荐(28)    发布于 2015-09-02 11:10

英文原文:7 Things Your Boss Doesn’t Understand About Software Development 你的老板是否不理解你的工作?本文将有助于你更好地理解为什么你的老板不理解软件开发。 你的老板可能真的很棒。我在我自己的编程生涯中就遇到过几个真心棒的老板...

阅读(19544)  推荐(24)    发布于 2015-08-22 21:11

1. 摘要 这是烂代码系列的第二篇,在文章中我会跟大家讨论一下如何尽可能高效和客观的评价代码的优劣。 在发布了关于烂代码的那些事(上)之后,发现这篇文章竟然意外的很受欢迎,很多人也描(tu)述(cao)了各自代码中这样或者那样的问题。 最近部门在组织bootcamp,正好我负责培训代码质量...

阅读(34459)  推荐(84)  程序员 代码质量  发布于 2015-08-13 22:36

相关文章:关于烂代码的那些事(中) 1. 摘要 最近写了不少代码,review了不少代码,也做了不少重构,总之是对着烂代码工作了几周。为了抒发一下这几周里好几次到达崩溃边缘的情绪,我决定写一篇文章谈一谈烂代码的那些事。这里是上篇,谈一谈烂代码产生的原因和现象。 2. 写烂代码很容易 刚...

阅读(40977)  推荐(105)  程序员 代码质量  发布于 2015-08-12 14:05

在程序员这个行业,坚持做技术写作的人一直比较少。我和身边的朋友沟通后,发现他们除了借口没有时间外,大多没有意识到写作带来的收益。在他们看来,将自己学到的知识简单记录下来就足够自己需要的时候回顾了。而技术写作通常需要花更多时间,因为需要将技术的细节以及来龙去脉讲清楚。 不得不承认,这的确是一个...

阅读(20082)  推荐(165)  程序员 写博客  发布于 2015-08-07 18:35

一艘货轮满载着货物从港口启航,向浩瀚的大海深处破水而去。海面平静,微微皱起波浪,从容而显得宽容。然而,货轮的步履却有些蹒跚,发动机“轰轰轰”地嘶吼着,不堪重负,却无法让船只游得更快,倒像是海水咬住了船底往下在拖曳。 “嘟——嘟——嘟”,突然警报声响起,甲板上变得喧闹起来,一个水手模样的年轻人声...

阅读(19323)  推荐(34)  测试  发布于 2015-08-06 09:48

数学和编程 程序人生

好些人来信问我,要成为一个好的程序员,数学基础要达到什么样的程度?十八年前,当我成为大学计算机系新生的时候,也为同样的问题所困扰。面对学数学,物理等学科的同学,我感到自卑。经常有人说那些专业的知识更加精华一些,难度更高一些,那些专业的人毕业之后如果做编程工作,水平其实比计算机系毕业的还要高。直到...

阅读(18753)  推荐(61)  学编程 程序员 数学  发布于 2015-08-04 21:33

英文原文:Finding awesome developers in programming interviews 我曾在一次面试中要求一个很有经验的嵌入式软件开发人员写出一个反转一段字符串并输出到屏幕上的程序。他在这个题目上挣扎了很久。这个家伙是个很神奇的人。你给他一些没用的零件,他能建造一...

阅读(28187)  推荐(88)  面试  发布于 2015-08-01 14:35

前言 本文上篇主要介绍了解决问题的心理过程以及问题表征阶段影响问题解决的一些心理因素,并分享了另外相关案例和指导意见。本文继续介绍影响问题解决的其它心理因素。 影响问题解决的心理因素 自我监控技能大胆假设,小心求证––– 胡适 在设计好解题计划后,问题解决者并不是简单地执行解题计划,而是...

阅读(6761)  推荐(15)  程序员 解决问题  发布于 2015-07-30 12:43

相关文章:通过心理学知识提高问题定位与解决能力(下) 前言 软件开发工作无论是从宏观还是微观上看,都可以看作一个问题解决的过程。从宏观上看,软件开发,简单来说,就是弄清楚客户的需求是什么,然后通过分析、设计、编码和测试等一系列活动解决如何将需求转换为代码的问题。从微观上看,开发人员的日常工作...

阅读(8347)  推荐(27)  心理学 程序员  发布于 2015-07-29 12:23