Welcome 微信登录

首页 / 软件开发 / 数据结构与算法

投资于质量 不再有技术债务

投资于质量 不再有技术债务

投资于质量 不再有技术债务2015-03-12 infoq 译:梅雪松一个童话故事很久以前,有个软件开发团队找到他们的经理。“我们的项目有相当多的技术债务(Technical Debt),我们应该做点什么。”这个团队说。他们展示了一张图(图1)来说明项目的技术债务。“技术债务关系到项目质量。”他们说。并展示了技术债务各部分的分解,通过静态代码分析,能发现过于复杂的代码、重复的代码和冲突。“我们需要...
如何设计一套事件日志API

如何设计一套事件日志API

如何设计一套事件日志API2015-03-12 infoq Saul Caganoff 译:邵简介业界目前已经在以下这一点上达成了强烈的共识:API的设计应该是按照前端到后端的次序进行的,将重点放在开发者对API的使用上。在某个发展兴旺的商业体中,通常会存在着许多互相竞争的产品与API的实现,而易于使用、并且设计良好的API在吸引与保留开发者这一点更有优势。此外,新的工具不断涌现,它们不仅能够帮助开发者按照迭代方式设计API,而且能够帮助开发者学习与使用这...
如何打造属于自己的设计模式

如何打造属于自己的设计模式

如何打造属于自己的设计模式2015-03-16 cnblogs 熬夜的虫子设计模式 一般初级、中级、高级程序员都喜欢挂在嘴边的词。想必大家身边也有不少关于设计模式的书。设计模式是程序员的老前辈们根据自己的项目经验积累起来的解决方案集。所以,没必要把设计模式看成是硬性的东西,别人的经验参考一下即可,了解设计思路,为什么这种场景要用这种模式。也许是老一辈的程序员们确实比现在的程序员要强很多,毕竟现在网上很难找到自己摸索的设计模式了。虫子不才就先抛砖引玉了。简单...
修复bug与解决问题:从敏捷到精益

修复bug与解决问题:从敏捷到精益

修复bug与解决问题:从敏捷到精益2015-03-16 infoq Cecil Dijoux 译:邵思关于精益的定义有许多,但其中最令我感到鼓舞的是精益企业研究所主席John Shooke在它的著作《管理精益》中所描述的一段话:精益通过提高员工的水平来保证产品开发。在这个定义的基础上,这篇论文接下来解释了精益是怎样提高人员的水平的:方法就是解决问题。这一定义揭示了以下管理实践的美妙之处:仔细设计你的工作,让你能够清晰地看见所发生的问题(以及同时出现的学习机...
聊聊并发:生产者消费者模式

聊聊并发:生产者消费者模式

聊聊并发:生产者消费者模式2015-03-16 infoq 方腾飞在并发编程中使用生产者和消费者模式能够解决绝大多数并发问题。该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度。为什么要使用生产者和消费者模式在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程。在多线程开发当中,如果生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,才能继续生产数据。同样的道理,如果消费者的处理能力大于生产者,那么...
TDD中的单元测试写多少才够

TDD中的单元测试写多少才够

TDD中的单元测试写多少才够2015-03-16 cnblogs Ethan@Elong测试驱动开发(TDD)已经是耳熟能详的名词,既然是测试驱动,那么测试用例代码就要写在开发代码的前面。但是如何写测试用例?写多少测试用例才够?我想大家在实际的操作过程都会产生这样的疑问。3月15日,我参加了thoughtworks组织的“结对编程和TDD Openworkshop”活动,聆听了tw的资深咨询专家仝(tong2)键的精彩讲解,并在讲师...
如何测试私有 Private/Internal 方法

如何测试私有 Private/Internal 方法

如何测试私有 Private/Internal 方法2015-03-16 cnblogs Sing Hua Young在实际开发中,经常会遇到这样的情况。一个共有的 Public 方法实现某一主要功能,但是由于该功能的实现非常复杂,需要很多的辅助类,辅助方法。由于代码封装性的需求,我们通常需要把这些辅助的类方法定义为非Public,静态static的(非必须,但是静态方法会提升性能),如 private, internal 等。但是这也带来了一个问题,如何...
RDIFramework.NET框架SOA解决方案

RDIFramework.NET框架SOA解决方案

RDIFramework.NET框架SOA解决方案2015-03-16 cnblogs EricHuRDIFramework.NET,基于.NET的快速信息化系统开发、整合框架,给用户和开发者最佳的.Net框架部署方案。该框架以SOA范式作为指导思想,作为异质系统整合与互操作性、分布式应用提供了可行的解决方案。1、SOA平台简介1.1、概述SOA(service-oriented architecture,也叫面向服务的体系结构或面向服务架构)是指为了解决...
《流程的永恒之道》(序)模式是个什么东东?伟大的Alexander大师

《流程的永恒之道》(序)模式是个什么东东?伟大的Alexander大师

《流程的永恒之道》(序)模式是个什么东东?伟大的Alexander大师2015-03-20 infoq 辛鹏 荣浩“道可道,非常道;名可名,非常名。”这是我们老祖宗老子《道德经》中开篇的两句话,意思是:可以用语言描述的道,不是真正的道;可以用名字来命名的道,这个名字也不能形容妥当。其终极思想是,由于人的认识的局限性,我们所说的道,都只是真正道的一部分,无法窥见道的全貌。当然老子后来又在《清静经》中说:“吾不知其名,强名曰...
《流程的永恒之道》(一)控制模式之串行、并发分裂及并发汇聚模式

《流程的永恒之道》(一)控制模式之串行、并发分裂及并发汇聚模式

《流程的永恒之道》(一)控制模式之串行、并发分裂及并发汇聚模式2015-03-20 infoq 辛鹏 荣浩控制模式是流程的中枢神经,它在作战小分队中负责将多个单独的作战活动组合在一起,并推动活动的自动化流转,形成作战流程。其重要性不言而喻,因此要设计一个好的流程,就必须学会应用各种各样的控制模式。在探寻每个模式的究竟之前,我们首先定义一个统一的格式,对于控制模式,将按照如下统一的格式进行描述:模式描述我们在探寻每个控制模式时,将按照如下统一的格式进行描述。...
《流程的永恒之道》(二)控制模式之单选分裂与单选汇聚模式

《流程的永恒之道》(二)控制模式之单选分裂与单选汇聚模式

《流程的永恒之道》(二)控制模式之单选分裂与单选汇聚模式2015-03-20 infoq 辛鹏 荣浩1. 单选分裂模式(排他选择模式)原型实例(故事片段)图3.13 房改购房审批流程中的排他选择故事片段如图3.13所示,“初审”环节之后,需要根据业务情况,选择“公告”或“复审”两个活动中的一个活动进行转出。例如,如果房改房的面积大于70平米就进行“公告”,否则直...
《流程的永恒之道》(三)BPM的生命周期之设计四步曲

《流程的永恒之道》(三)BPM的生命周期之设计四步曲

《流程的永恒之道》(三)BPM的生命周期之设计四步曲2015-03-20 infoq 辛鹏 荣浩BPM是参谋长,负责战术层面的工作,其生命周期包括战术设计、战术制定、战术执行、战术评估及战术调整。对应于以上5个阶段, BPM的整个生命周期也有五个阶段:设计、建模、执行、监控和优化,如图6.1所示。图1 BPM生命周期图这五个阶段就覆盖了BPM的整个生命周期,每个阶段内的工作内容都不同。接下来,我们一起探究BPM这位参谋长在每个阶段内都需要做什么工作,这些工...
《流程的永恒之道》(四)BPM的生命周期之执行阶段

《流程的永恒之道》(四)BPM的生命周期之执行阶段

《流程的永恒之道》(四)BPM的生命周期之执行阶段2015-03-20 infoq 辛鹏 荣浩在上篇文章中,我们讲到了BPM的生命周期包括设计、建模、执行、监控和优化5个阶段,本篇我们以住建行业的预销售许可审批的主线流程对BPM的执行过程进行详细的解剖。1.1.1 预销售许可主线流程的执行分析BPM中的流程包括可执行流程和不可执行流程,不可执行流程在企业中占据了非常重要的位置,它包括战略流程、规划流程和管理层面的流程,目前大多数的BPMS套件只是实现了对B...
《流程的永恒之道》(五)BPM的生命周期之优化阶段

《流程的永恒之道》(五)BPM的生命周期之优化阶段

《流程的永恒之道》(五)BPM的生命周期之优化阶段2015-03-20 infoq 辛鹏 荣浩在本阶段我们将继续以住建行业的预销售主线流程为例对流程优化做实际分析,在做了改进分析之后,我们将给出实施BPM的永恒之道—BPM与SOA联姻。1.1.1 BPI及预销售主线流程的改进分析业务流程改进(Business Process Improvement,BPI)已经不是一个新名词了,它是在BPR之后提出来的,强调的是持续地改进,而不是彻底、颠覆性地...
《流程的永恒之道》(六)战略与BPM之间鸿沟的出现与分析

《流程的永恒之道》(六)战略与BPM之间鸿沟的出现与分析

《流程的永恒之道》(六)战略与BPM之间鸿沟的出现与分析2015-03-20 infoq 辛鹏 荣浩实施了BPM就一定能将企业的战略进行落地么?答案是否定的。那么出现了什么问题呢?接下来,我们按照问题的出现、问题的分析、问题的解决三个步骤来讲解战略与BPM之间的鸿沟那点事。本篇文章讲述问题的出现与分析。9.1 问题的出现:战略与BPM之间存在鸿沟江南市房管局的BPM项目在三年的运行过程中,暴露出了以下问题:(1) 战略并没有很好地逐级向下传达到每个岗位;(...
《流程的永恒之道》(七)战略与BPM之间鸿沟的填补—引入BPM治理

《流程的永恒之道》(七)战略与BPM之间鸿沟的填补—引入BPM治理

《流程的永恒之道》(七)战略与BPM之间鸿沟的填补—引入BPM治理2015-03-20 infoq 辛鹏 荣浩在上篇文章中,我们分析了战略与BPM间出现鸿沟的三个原因:没有详细地描述与分解战略、没有对“执行战略”进行治理、没有衡量战略。要填补鸿沟就需要开展以下三个方面的工作,即详细地描述与分解战略、对“执行战略”进行治理、制定衡量战略的各种指标。上世纪90年代后期,在管理领域,以上三个方面的工作就有了相关的理...
后端系统性能优化(一) 改掉那些坏代码

后端系统性能优化(一) 改掉那些坏代码

后端系统性能优化(一) 改掉那些坏代码2015-03-23我们核心业务系统的中心服务每天承载着上千万金额、几十万笔的订单量,在数据量高速增长,公司业务节节攀升的客观因素下,以及面对即将到来的6月份世界杯的流量交易 高峰的压力,核心业务系统性能优化以及重构显得越发重要而又迫在眉睫。时刻准备着在进行性能优化之前,我们做了很多的准备工作,包括 压力测试,数据库sql提取,性能监控日志数据,请求量等数据的收集,分析整体的性能瓶颈,请求量的波动特点,数据库负载波动情...
后端系统性能优化(二)

后端系统性能优化(二)

后端系统性能优化(二)2015-03-23今天,来说说 什么样的代码才是坏代码,怎么来找出这些坏代码。不少猿在吐槽烂代码。但是我们今天说的不是烂代码,坏代码只需要改动很小的一部分,把它的坏的地方改掉,他依然是好代码 。而烂代码,只有重新写过了,才会让你觉得浑身轻松,压力瞬间释放,而且在写之前你还得花90%的时间去看懂它。所以我说改掉坏代码,因为只有坏代码才能改,而烂代码是用来看。我很庆幸我在的这个团队的代码驾驭能力都还不错,很少有烂代码。但为什么还会有坏代...
后端系统性能优化(三) sql优化

后端系统性能优化(三) sql优化

后端系统性能优化(三) sql优化2015-03-23昨天我为大家介绍了如何去发现坏代码,如何优雅的去实现一个应用内的监控程序。当然发现了坏代码之后,我们还是要想办法来改掉它,也许它会很顽固。今天说说性能优化的一个非常重要的部分:sql的优化今天要说的不是怎么来写优秀的,性能好的sql,这些DBA们会比我更加专业。在我们公司,凡是DBA能优化的sql,DBA都在内部消化了,需要反馈给我们的,说明他们可能也束手无策。也是我们该出手的时候了。insert,up...
在应用系统中实现数据权限的控制功能

在应用系统中实现数据权限的控制功能

在应用系统中实现数据权限的控制功能2015-03-23 博客园 伍华聪在很多应用行业里面,都对数据的权限做了特别的声明,如对于销售,财务的数据,它们是非常敏感的,因此要求对数据权限进行控制,对于基于集团性的应用系统而言,就更多需要控制好各自公司的数据了。如默认只能看本公司、或者本部门的数据,对于特殊的领导,可能需要跨部门的数据,因此不能硬编码那个领导该访问哪些数据,需要进行后台的权限和数据权限的控制为佳,本文主要针对这个特点,对这个数据权限的功能模块进行探...
<< 41 42 43 44 45 46 47 48 49 50 >>