Loading

上一页 1 ··· 15 16 17 18 19
摘要: [原文链接] Steve Freeman 写了一篇 blog拥抱极限编程(Do do XP)来反驳我的这篇文章。我开始厌倦了和那些坚持认为Scrum离开了极限编程就不再有价值的人的无休止的论战。 Scrum 很好用 — 但前提是实施者必须从基础上理解它的价值所在和实施原则。 你应用Scrum所处的环境条件决定了你在实施过程中应该采取哪些措施。 比如,在教堂里实施Scrum和在软件开发中实施Scrum有着不同的一套实施策略。而这两种情况下的实施措施又和传统的Scrum有不同之处。极限编程的拥护者动不动就抱怨在软件工业中Scrum没有提供很好的开发原则。 但就目前极限编... 阅读全文
posted @ 2014-03-24 18:02 dai.sp 阅读(171) 评论(0) 推荐(0) 编辑
摘要: [原文链接] agile software development在文章远离极限编程(Don’t do XP)里, Tobias Mayer 建议人们不要去搞极限编程(XP)。 我和Tobias相知已久,我想他这个问题上错了。 我不知道他在跟谁争论,但他们的有些争论就是“嚼舌根”。我想如果他曾经试过一次XP,那他的言论会更有说服力。 XP并不是一个万能的解决方案,但它确实是一种方案,而且我们知道如何使用它。作为一个临时的XP支持者,我并不抱怨 “在软件工业中Scrum没有提供很好的开发原则”,我只抱怨这个产业。 如果我们能在这个产业里有效率的工作,那我们也就不会有... 阅读全文
posted @ 2014-03-24 18:01 dai.sp 阅读(157) 评论(0) 推荐(0) 编辑
摘要: [原文链接]“技术债务(technical debt)”这个词是由Ward Cunningham 发明的,用来描述为了在最后期限前实现某个项目任务而让开发团队做某种技术上的妥协。这里有两篇博客文章,Uncle Bob 和 Martin Fowler 分别在里面描述了几乎所有项目都可能会遇到的各种技术债务。在A Mess is not a Technical Debt这篇博客里, Uncle Bob 评论说,做出妥协是实现有最后期限目标的必要的手段。但是他区分妥协与否的方法只是纯粹从代码的粗心与否来考虑:编码混乱并不是一种债务。编码混乱就是编码混乱。技术债务的产生是由现实的工程约束造成的。这是有 阅读全文
posted @ 2014-03-24 17:56 dai.sp 阅读(215) 评论(0) 推荐(0) 编辑
摘要: [原文链接] 我遇到很多客户做过压力测试 – 有大规模的,也有小规模的 – 有用开源工具的,也有用商业软件的。 压力测试本身变得越来越容易,越来越可以支付的起——因为出现了很多很好用的压力测试工具。还有一些公司提供在线压力测试服务。尽管做压力测试越来越容易、越来越有效率、而能花很小的代价产生很大的压强,但是我的所有客户都遇到了同样一个问题:压力测试并不会报告是什么导致了问题。它只会报告这有了问题,例如:查询页面在并发50个用户使用时变慢下来,但它不会显示什么导致了变慢。捕获到的性能统计数据例如CPU和内存使用量只是强调了潜在的问题区域,但并不会指出实际的根源在应用程序的什么地方。标准的压力测. 阅读全文
posted @ 2014-03-24 17:50 dai.sp 阅读(403) 评论(0) 推荐(0) 编辑
摘要: [原文链接]上图为本文的作者:Matt Welsh自从我离开哈佛后,经常有人问我现在在谷歌工作是什么样的情况。我猜想很多人会认为从一个终身教授到一个软件工程师的转变存在很大的身份落差。但除了这个头衔外,我工作的还是很高兴的,而且在这个新角色上,我的工作效率比以前在哈佛任教的8年中的任何时候都高——尽管当一名教授和管理一个开发团队在很多方面都有非常相似的地方。我在谷歌的西雅图办公区带领一个开发团队,这个团队负责手机网站性能方面的一批技术工程。(你可以从我之前的几篇博客里了解更多的关于我的团队的背景信息。)最近发布的手机谷歌浏览器里的数据压缩代理支持就是我们比较复杂的项目之一。我... 阅读全文
posted @ 2014-03-24 17:47 dai.sp 阅读(345) 评论(0) 推荐(0) 编辑
摘要: [原文链接]我收集各式各样的至理名言。最近我一直在研究敏捷软件开发;有收获吗?下面就是能够指导敏捷软件开发团队的26条核心原则。用例一完全能够运行后再开发用例二。厨房里有一种说法正好可以印证这个问题:“做好一盘菜后你再做下一盘”. 对于软件开发来说一个最大的问题就是人们喜欢并行开发多个任务。因为不可避免的,我们设计的功能中总会有一部分会被放弃砍掉,如果提前开发,很可能做无用功。 一次只开发一个用例(或很少几个用例,这根据你的开发团队的大小而定); 让这个用例功能完整; 让相应的测试用例都能通过; 相应的文稳都补齐; 只有在当前的用例完全开发完成后,才做为一个整体提交到版本库,才进行下一个用例。 阅读全文
posted @ 2014-03-24 17:24 dai.sp 阅读(163) 评论(0) 推荐(0) 编辑
摘要: [原文链接] 本周在欧洲举行的TheServerSide Java研讨会上,ThoughtWorks的架构师和著名讲演人Neal Ford 指出那些只静止的依赖于一种专门的技术的人会在几年之内被淘汰出局。 他谈到了19世纪的马蹄铁匠,那时候干这种工作看起来是稳定而且有前景的职业,直到有一天科技进步(汽车的出现)导致了整个行业被淘汰。 我对Neal的这些话颇有感受。 当我还是大学教师、教授面向对象编程的时候,我有一个成年学生是个真正的C语言编程高手。 事实上,他的专长是使用Borland Turbo C 3.0。 当他很费力的去领悟C++和Smalltalk和这类语言后面所代表的含义时,他竟.. 阅读全文
posted @ 2014-03-24 17:21 dai.sp 阅读(124) 评论(0) 推荐(0) 编辑
摘要: [原文链接] 人类心理学研究中的一个基础支撑科目就是分析人的潜意识和意识。 弗洛伊德是最早的一位能够清楚的认定和描述我们的心理活动“领域”的人。 在他这著名的一生的早期,他就指出我们的意识里分“潜意识”,“前意识”,“意识”。 如 果我们想能清楚他们分别跟我们的思想、感觉、认知、判断和动机(这这些在我们每天的生活,职业生活中都是关键因素)有什么关联,我们可以把我们自己描述成 一个冰山。 冰山的尖端,唯一能从水面看到的一部分,可以当作是我们的的意识。 它是有逻辑、有组织的,我们可以控制它,但这部分很小。 这庞大的水下的部分是我们的意识不到的。 它们是无组织、无逻辑、无关联的,但它们取能决定我.. 阅读全文
posted @ 2014-03-24 17:18 dai.sp 阅读(160) 评论(0) 推荐(0) 编辑
摘要: [原文链接]烂程序员会说什么?谁是烂程序员? [ku6video id='892dBHzZyB_Qe7zm5XENPg..'] 阅读全文
posted @ 2014-03-24 17:07 dai.sp 阅读(89) 评论(0) 推荐(0) 编辑
摘要: [原文链接] 最近国内外都在流行一个词叫Full Stack,中文翻译过来叫全栈工程师,也叫全端工程师。微博上很多专业人士都在讨论全端工程师,有赞有毁的。我对全端工程师的定义是:掌握多种技能,并能利用多种技能独立完成产品的人。打外比方,全栈工程师就是一个能独立盖一幢10层小洋楼的人,而普通工程师,则是可以和一群人盖一幢摩天大楼的人。至于要掌握哪些技能,我觉得这个要跟从事的行业与技术方向有关,做互联网的和做软件的是不一样的,即使是做互联网的,后端也可以分为很多种技术流派。8/2定律在哪都适用,全栈工程师就是掌握20%常用技能的人,但这20%的技能会有80%的几率被用到,剩下那80%不常用的,让. 阅读全文
posted @ 2014-03-24 11:14 dai.sp 阅读(180) 评论(0) 推荐(0) 编辑
摘要: [原文链接]全栈工程师,也叫全端工程师,英文Full Stack developer。是指掌握多种技能,并能利用多种技能独立完成产品的人。1、价值 全局性思维 现代项目的开发,需要掌握多种技术。互联网项目,需要用到后端开发、前端开发、界面设计、产品设计、数据库、各种移动客户端、三屏兼容、restFul API设计和OAuth等等,比较前卫的项目,还会用到Single Page Application、Web Socket、HTML5/CSS3这些技术以及像第三方开发像微信公众号微博应用等等。Web前端也远远不是从前的切个图用个jQuery上个AJAX兼容各种浏览器那么简单了。现代的We... 阅读全文
posted @ 2014-03-24 11:14 dai.sp 阅读(194) 评论(0) 推荐(0) 编辑
摘要: [原文链接] 本文的作者Eliot Horowitz是MongoDB的创始人和技术总监。 在一个科技公司里,软件技术经理用在编程上的时间应该不低于总工作时间的30%。无论是管理一个团队,还是一个分部,还是整个公司,当技术经理用在编程上的时间低于30%时,他执行职责的能力就会发生严重退化。 我的这个断言可能跟那些我看到的想成为团队首领的软件程序员们期望的情况完全相反。每次晋升,程序员们都期待花在编码上的时间会大幅度减少,当从“leader”爬到“经理”职位时,就应该彻底脱离编码活动。而且,他们期望以一种“动口/眼不动手”的方式来保持对代码库的熟悉。再上级的领导就跟编码完全没关系了(如果有的话.. 阅读全文
posted @ 2014-03-24 11:08 dai.sp 阅读(105) 评论(0) 推荐(0) 编辑
摘要: [原文链接] 好长时间没好好写点东西了,前段时间由于项目的需要出差了一个多月,期间各种加班,每天晚上加班到十点,回到宾馆实现是没什么精力再写博客了。有时间能静下来写点东西总是很好的一件事,如果写技术方面的博客,不仅能给读者提供一些解决问题的线索,也能加深自己对技术点的理解,如果写的是自己对项目的感悟,也算是对自己所做的工作的总结。现在终于有时间写点东西了,感觉还是不错的。 今天这篇博客不是写关于具体技术的,而是我对程序员怎样学习和提高自己能力的一些感悟。我是今年7月初毕业的,离开学校后就直接进入之前实习的公司上班了。现在算来工作了也将近半年了,算上实习的时间,将近一年了。在这期间,参与了几.. 阅读全文
posted @ 2014-03-24 11:08 dai.sp 阅读(209) 评论(0) 推荐(0) 编辑
摘要: [原文链接] 一个故事 老张有一个林场,专门种植树木,待树木成材后销到城里做家具。林场里有不少杉树,长得都非常挺拔,偏偏不知怎的长了一棵歪脖子树,长得倒是郁郁葱葱,偏偏造型奇特,别的树都力争上油,可这棵歪脖子树不仅横着长,还长得颇为怪异。老张几次都想挖掉它当柴火烧,看它那怪异的造型又忍住了,心想等这批杉树成材,一起砍掉吧。 一到晚上夜深人静的时候,林场里就炸开了锅,杉树们极力取笑歪脖子树。“你知道作为一棵树,我们的终极目标就是成为有用之材吗,你看旁边那个,可以做梁柱,小歪脖子,你丫能干啥啊?”;"这个臭歪脖子树,抢了我们的养分和阳光,长成这样,完全是丢我们的脸,我呸!"。 阅读全文
posted @ 2014-03-24 11:08 dai.sp 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 原文链接 这篇文章是我最近十天口语系列文章的合辑,文章比较长,一万五千余字。但是系统化地归纳了自己十多年的英语尤其是口语方面的学习经历与总结思考。我不是个纯粹的英语专业学生,我甚至不是任何英语相关专业的学生,但是我和英语却有着很多的故事,我对这门语言的学习与训练有着没由来的纯粹兴趣。虽然我从学校接受的教育与学术训练主要在计算机科学与技术领域,但是在英语演讲、辩论、口译的场合偶尔能看见我年轻时的身影。在不同领域的体验,让我有机会转换角度观察,我的这篇合辑文章也会有带有这样的特点,希望我的文字能带给您不同的思考。 由于文章是以连载的形式写就,我在合辑中保留了一些带有时间性质的语句,如昨天今天,.. 阅读全文
posted @ 2014-03-24 10:25 dai.sp 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 本文的作者Robert C. Martin,也就是大名大名鼎鼎的“uncle bob”在我手里的是一本很薄的白皮书,14年前,它颠覆了整个软件世界。这本薄书就是:《Extreme Programming Explained》,副标题是:拥抱变化。作者是Kent Beck,出版于1999年。这本书不到200页,很小。字体印刷的很大,而且留白很多。撰写风格很随意,通俗易懂。章节很短。里面提出的概念很简单。这本书的思想犹如一次地震,而且震撼至今仍无减弱迹象。第十章,位于53页,陈列了12条软件开发实践指导,它让软件业陷入了大论战;并催生了一次革命,由此改变了我们软件开发过程的各个方面。这些实践方法是 阅读全文
posted @ 2014-03-23 22:16 dai.sp 阅读(190) 评论(0) 推荐(0) 编辑
摘要: Native Code — 本机代码,即已被编译为运行于特定处理器机器码的代码。 本地代码(native code)是计算机编程(代码),编译用来运行一个特殊的处理器(如英特尔x86级的处理器)和它的特殊指令集。如果同一个程序在不同的处理器上执行的话软件就必须能够模拟出旧的处理器的指令。这种... 阅读全文
posted @ 2014-03-23 20:00 dai.sp 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 通过正确的权衡来获得最便捷有效的故障排除及最快速可行的优化使一个程序变得更加容易进行调试和优化,需要内在的权衡。对源代码进行越多的优化,程序与初始代码看起来就更不相像。因此,对程序进行调试也更加困难,因为实际代码运行起来并不跟最初始的代码相一致。这篇文章描述了一种持续的权衡方法,可以在调试程序和使之... 阅读全文
posted @ 2014-03-23 16:32 dai.sp 阅读(440) 评论(0) 推荐(0) 编辑
摘要: 分享到:摘要:我报考的是北京邮电大学计算机学院,复试的专业课笔试内容包括操作系统、数据库、计算机网络和软件工程四门课程。由于计算机专业是一门非常注重实践的学科,因此复试时还有上机测试。当年复试一步步走来,收获颇丰,想借此与大家一起分享我的所得。 考研是一段艰辛的历程,要经过很多道坎儿。在经过艰苦的复习,紧张的笔试之后,还要面临残酷的复试。而复试考察内容涉及面广,包括英语听力考试、专业课笔试、实践课考察(我经历的是上机测试)、面试等内容,更是考研最后一道难过的坎儿。 我报考的是北京邮电大学计算机学院,复试的专业课笔试内容包括操作系统、数据库、计算机网络和软件工程四门课程。由于计算机专业是一门.. 阅读全文
posted @ 2014-02-22 10:01 dai.sp 阅读(749) 评论(0) 推荐(0) 编辑
摘要: [原文链接]导读:所谓谚语,就是用言简意赅、通俗易懂的方式传达人生箴言和普遍真理的话,它们能很好地帮助你处理生活和工作上的事情。本文整理了开发人员都应该铭记的10句编程谚语。关键词:代码异味代码设计敏捷开发软件开发 所谓谚语,就是用言简意赅、通俗易懂的方式传达人生箴言和普遍真理的话,它们能很好地帮助你处理生活和工作上的事情。也正因如此,我才整理了10句编程谚语,每位开发人员都应该铭记他们,武装自己。Advertisement 1. 无风不起浪 别紧张,这也许只是一场消防演习 代码设计是否糟糕,从某些地方就可以看出来。比如: a. 超大类或超大函数 b. 大片被注释的代码 c. 逻... 阅读全文
posted @ 2014-02-18 12:04 dai.sp 阅读(341) 评论(0) 推荐(0) 编辑
摘要: [原文链接]导读:本文中笔者为我们介绍了如何实施重构以及在一次重构之后应该牢记的最佳实践,还包括笔者最近重构或review代码时发现的一些问题。关键词:重构功能模块重构实践方法 提到让你重构一个功能模块,提到让你去修改一个别人的bug,阅读别人的代码,你第一反应是什么?惧怕?想骂人?面对一个代码垃... 阅读全文
posted @ 2014-02-18 11:55 dai.sp 阅读(298) 评论(0) 推荐(0) 编辑
摘要: [非原创,原文链接]导读:笔者根据自己的经验说明的重构的重要性,以及在实际操作中请谨记小步进行,让你的每一步都是安全的。关键词:代码重构移动方法重构IDE 对于重构的重要性相信不需要再强调。在开发的过程中,随着代码的演进,需求的改变我们必须持续不断的对既有代码进行重构:重命名(以更精确地反映元素的... 阅读全文
posted @ 2014-02-18 11:54 dai.sp 阅读(313) 评论(0) 推荐(0) 编辑
摘要: [非原创,原文链接]导读:在过去做了不少代码走读,发现了一些代码质量上比较普遍的问题,本文列举了其中的前五名,并提供了6个处理这些问题的重构方法。关键词:重构方法代码异味SRP在过去做了不少代码走读,发现了一些代码质量上比较普遍的问题,以下是其中的前五名:臃肿的类: 类之所以会臃肿,是因为开发者缺乏... 阅读全文
posted @ 2014-02-18 11:54 dai.sp 阅读(330) 评论(0) 推荐(0) 编辑
摘要: [原文链接]导读:在本文中,作者通过一个Web Service访问的实例,具体描述了SOA应用中所遇到的一系列具体问题,并描述如何利用IoC和AOP等技术进行代码重构,从而构建结构更加良好、灵活的SOA应用。关键词:IoCAOPSOA应用Web ServiceIT基础架构 1.引言 SOA是一种... 阅读全文
posted @ 2014-02-18 11:54 dai.sp 阅读(271) 评论(0) 推荐(0) 编辑
摘要: [非原创,原文链接]导读:BI有3个热点:一是集成的BI体系。二是充分利用数据。利用智能仪表盘监测重要事件,将信息传递给用户。三是BI的预测功能。培训是成功实施BI系统的重要因素。关键词:BI商业智能集成BI体系数据实施BI BI是商业智能(Busines lntelgellce)的缩写。这一概念... 阅读全文
posted @ 2014-02-18 11:53 dai.sp 阅读(335) 评论(0) 推荐(1) 编辑
摘要: [非原创,原文链接]导读:本文介绍了很多重构项目在目标管理、任务划分和质量保证等方面存在比较严重的问题,并针对这些问题给出了解决方案。关键词:遗留系统重构项目持续集成 很多IT组织都面临一个难题:老系统的维护、升级越来越难做。特别是那些价值高、生命周期长、规模大的核心业务系统,越到后来,要修复一个... 阅读全文
posted @ 2014-02-18 11:53 dai.sp 阅读(484) 评论(0) 推荐(0) 编辑
摘要: [非原创,原文链接]导读:本文提出的面向服务提供的新型网络技术体系及开放式可重构路由交换节点的目标要求,确定基本设计原则并对相关内容做出了详细的介绍。关键词:面向服务重构路由器模块化业务重构电信业务处理流程 多年来,网络一直沿着面向业务支撑的技术体系发展,为承载特定业务构建网络,为融合新兴业务改造... 阅读全文
posted @ 2014-02-18 11:52 dai.sp 阅读(367) 评论(0) 推荐(0) 编辑
摘要: 输入命令到一般结构: $ command [ [-]option(s)] [option argument(s)] [command argument(s)] $ 是来计算机的提示符 任何[]中到内容都不是必须的 command 是对shell而言正确到linux命令,为小写----命令 [-option(s)] 是定制命令动作的一个或多个修饰符号----命令选项 [option argument(s)] 是定制命令选项的一个或多个修饰符号----命令选项修饰 ... 阅读全文
posted @ 2013-12-25 17:06 dai.sp 阅读(214) 评论(0) 推荐(0) 编辑
上一页 1 ··· 15 16 17 18 19