您的位置:知识库 » 软件工程

“软件工程”文章列表

1、业务架构:从单体式到微服务 K歌亭是唱吧的一条新业务线,旨在提供线下便捷的快餐式K歌方式,用户可以在一个电话亭大小的空间里完成K歌体验。K歌亭在客户端有VOD、微信和Web共三个交互入口,业务复杂度较高,如长连接池服务、用户系统服务、商户系统、增量更新服务、ERP等。对于服务端的稳定性要...
作者: 钮博彦、刘宇桐   2017-04-19 22:21:41 阅读:28594 标签:DevOps 微服务
英文链接:How to Avoid One of the Costliest Mistakes in Software Engineering 前几周,一位年轻的初创企业工程师过来寻求我有关代码重写的建议。其管理层希望她的团队在4周内完成Web产品的代码重写工作。这已进行了3个多月,但估计...
作者: Edmond Lau   2016-06-25 10:37:41 阅读:7938 标签:重写代码
Git 作为一个源码管理系统,不可避免涉及到多人协作。 协作必须有一个规范的流程,让大家有效地合作,使得项目井井有条地发展下去。"协作流程"在英语里,叫做"workflow"或者"flow",原意是水流,比喻项目像水流那样,顺畅、自然地向前流动,不会发生冲击、对撞、甚至漩涡。 本文介绍三种广...
作者: 阮一峰   2015-12-29 16:29:42 阅读:16598 标签:git
「我们一直这样做开发,时间做久了,便忘了当初的本意。」 有关软件系统开发,我们谈些什么? 我们谈过程,编码规范、开发流程、同行评审、结对编程、持续集成,从瀑布到敏捷再到极限编程。 我们谈架构,企业级、J2EE、容器化、SOA(面向服务架构)、Microservices(微服务化)。 我们...
2015-12-21 14:17:54 阅读:10183
互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous integration,简称 CI)。 本文简要介绍持续集成的概念和做法。 一、概念 持续集成指的是,频繁地(一天多次)将代码集成到主干。 它的好处主要有两个。1、快速发现错误。每完成一点...
作者: 阮一峰   2015-10-18 23:06:14 阅读:10272 标签:持续集成
简介 团队的开发人员撇开需求沉浸在想象中的“完美”程序中;测试人员迷茫的点击着按钮试图搞明白这到底是个什么功能;设计师造出了没有尽头的楼梯,更糟的是,客户爱上了这个设计;团队领导四处救火,力有不逮。种种迹象表明,我们得打破分工带来的壁垒,建设全功能团队——大多数人能完成大多数种类工作的团队。 ...
2015-09-12 22:50:31 阅读:4595 标签:团队建设
英文原文:7 Things Your Boss Doesn’t Understand About Software Development 你的老板是否不理解你的工作?本文将有助于你更好地理解为什么你的老板不理解软件开发。 你的老板可能真的很棒。我在我自己的编程生涯中就遇到过几个真心棒的老板...
作者: John Sonmez   2015-08-22 21:11:30 阅读:18096
一艘货轮满载着货物从港口启航,向浩瀚的大海深处破水而去。海面平静,微微皱起波浪,从容而显得宽容。然而,货轮的步履却有些蹒跚,发动机“轰轰轰”地嘶吼着,不堪重负,却无法让船只游得更快,倒像是海水咬住了船底往下在拖曳。 “嘟——嘟——嘟”,突然警报声响起,甲板上变得喧闹起来,一个水手模样的年轻人声...
作者: 张逸   2015-08-06 09:48:32 阅读:17758 标签:测试
对于很多公司来说,代码审查是开发人员日常工作中的重要环节。通过代码审查,可以及早发现项目中存在的问题、促进同事之间的沟通与交流,并且可以在讨论中迸发出智慧的火花。但要想成功实施代码审查却并不是一件轻松的事情,为什么要进行代码审查、何时做、如何做,这是摆在我们面前的3个重要问题。针对于这3个问题,...
作者: 张龙   2015-07-23 22:22:52 阅读:6649 标签:CodeReview
英文链接:Code Review Processes 对我而言,把代码产品化而没有合适的审查流程,就像是一场抽抽乐游戏。代码当然也有可能会挺好,不过总还是有一定概率某人的哪块积木没抽好,然后一切就轰然崩塌。无论是采用持续集成服务、结对审查、QA审查,还是所有这些方案的组合,都可以大大降低引入风...
2015-07-08 22:55:58 阅读:5707 标签:CodeReview
很多编程的人包括我,头衔叫做“软件工程师”(software engineer),然而我却不喜欢这个名字。我喜欢把自己叫做“程序员”(programmer)或者“计算机科学家”(computer scientist)。这是为什么呢?这需要从“软件工程”(software engineering)...
2015-07-06 14:44:42 阅读:7047 标签:软件工程 程序员
英文原文:Coding Culture: How To Build Better Products by Building Stronger Teams 译/丛一 软件开发人员通常会付出大量的时间和精力在如何构建最好的产品上。我们常会纠结应该使用哪种Web框架,是用NoSQL数据库还是SQL...
作者: Sven Peters   2015-06-16 17:51:24 阅读:7113 标签:团队管理
英文原文:Technical Debt: A Repayment Plan 什么是技术债务? 许多团队都受技术债务困扰,不过,很少有团队能真正地设计一个计划从中挣脱出来。为了更好的理解如何才能摆脱债务,我们首先要正确地理解什么是技术债务。 技术债务是由团队为了短期的项目利益故意做了欠佳的技...
作者: Jeremy Jarrell   2015-06-06 21:47:55 阅读:7682 标签:技术债务
(原文发布于2012年6月25日) 这几年,持续集成随着敏捷在国内的推广而持续走热,与之相伴的持续部署也一直备受关注。自前两年,持续交付这个延续性概念又闯进了国内 IT 圈,慢慢开始在社区和会议中展露头角。许多不明真相的群众跟风哭着喊着要“上”,而许多前 CI 的半吊子玩家换件衣服就接着干,有...
作者: 常新居士   2015-05-15 15:03:00 阅读:3722 标签:部署
没有比“可视化”更好的一个词能概括运维的本质,而“可视化”又应该分成两部分:可视化的服务交付和可视化的服务度量! 第一部分:可视化的服务交付 早期的运维是从ITIL开始的,那个时候大家都不知道运维是什么,幸好找到了一个IT服务最佳实践——ITIL。开始了互联网运维的摸索之路,从CMDB、服务...
作者: 王津银   2015-05-06 20:39:32 阅读:6410 标签:运维 持续交付
英文原文:Technical Leadership: The Often Overlooked Skills and Responsibilities of a Technical Team 因为团队的存在,每个软件团队都会设置一位团队领导的角色。这一职位在不同的组织中的具体名称或许会有所不同...
作者: Amr Noaman   2015-04-28 21:03:27 阅读:6507 标签:技术团队 项目管理
英文原文:The Best Process Is No Process 前年,Wikispeed团队掀起了一场业界风暴。它们把敏捷实践应用到了最传统的行业:汽车制造业。它们在3个月的时间里就研发了一款绿色汽车,而这原本需要经历10-25年的产品生命周期。 而且,得益于独立组件的测试驱动开发,...
2015-03-22 17:08:00 阅读:4190 标签:团队管理 技术团队 流程债 技术债
英文原文:Conversation Patterns for Software Professionals. Part 1 如果你觉得你所面对的业务人员不知道他们想要什么,那么这篇文章适合你。 在该系列文章中,你可以了解到与业务人员共事的方法。你将学到如何管理对话、挖掘需求及明确期望。让我们...
作者: Micha? Bartyzel   2015-03-02 20:12:02 阅读:2451 标签:敏捷 沟通
前言 随着移动互联网的迅速普及,手机淘宝业务在迅速的成长,目前已经发展成为拥有40多个bundle(业务模块)的超大APP产品,在这后面有着数百名的研发人员的努力工作。业务的成长和人员的倍增给技术架构、团队合作、产品的交付都带来了巨大的挑战。本文将会讲述手机淘宝研发团队在两年的时间为了达到高质...
作者: 杨强   2015-02-04 08:58:29 阅读:4264 标签:持续交付 持续集成
前言 做运维的那么多,快乐的能有几个? 我们那么努力,为什么总感觉过得那么憋屈、苦闷?做的事情那么多,为什么业务部门、直接领导和公司貌似都那么不领情?怎么做才能自己更加开心些? 本专栏的主线实际是一个运维人员的十年成长史,从菜鸟到运维总监。但不是基础技术教学,也不会在运维技术的某一方面过深...
作者: 萧田国   2015-02-02 21:51:32 阅读:4901 标签:DevOps 运维