Welcome 微信登录

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

提前认识软件开发(31) 数据库脚本中的begin与end

提前认识软件开发(31) 数据库脚本中的begin与end

提前认识软件开发(31) 数据库脚本中的begin与end2015-01-25在数据库脚本中,begin与end是一对奇怪的单词。缺少它们,某些代码看起来会让人一头雾水;添加它们,代码的结构瞬间就清晰了。确实,begin与end作为代码语句的开始和结束标志,可以让脚本程序的逻辑明确,易于阅读。begin与end主要用在以下地方:1. if、else、else if、while等语句中if、else、else if、while等语句要自占一行,执行语句不得紧...
提前认识软件开发(32) 数据库索引

提前认识软件开发(32) 数据库索引

提前认识软件开发(32) 数据库索引2015-01-25索引在数据库中占有非常重要的地位,它是对数据库表中一列或多列的值进行排序的一种结构。正确使用索引,可快速访问数据库表中的特定信息,进而提高数据库脚本的执行效率。1. 索引分类数据库表中经常有一列或几列的组合,其值唯一地标识表中的每一行,该列称为表的主键。在数据库中,将索引分为三类:唯一索引、主键索引和聚集索引。唯一索引是不允许其中任何两行具有相同索引值的索引,即索引列的值不允许重复。主键索引是唯一索引...
提前认识软件开发(34) 数据库的维护

提前认识软件开发(34) 数据库的维护

提前认识软件开发(34) 数据库的维护2015-01-25对于某些大型软件产品,一旦商用,必然会存储很多用户信息,这就对产品所使用的数据库(以下简称业务数据库)带来了压力。为了保证业务数据库的平稳运行,需要在日常工作中对数据库做一些基本的维护操作。业务数据库的维护规则如下:1. 对业务数据库必须进行定期全量备份业务数据库的定期备份能在数据库被意外破坏时进行快速恢复,备份策略可以根据数据增量大小采用周计划或月计划。假如备份数据库db_100,则Oracle、...
企业级应用框架:三层架构之解耦

企业级应用框架:三层架构之解耦

企业级应用框架:三层架构之解耦2015-03-04 cnblogs 虔诚者前言前段时间朋友拿了个网站给我,让我帮忙添加几个小功能,我爽快的答应了,但是当我打开源码,我瞬间就奔溃了,整个项目连最基本的三层框架也没有搭建,仅仅是封装了一个sqlhelp作为数据库的操作接口,项目中的SQL查询语句无处不在,业务逻辑紧紧耦合在UI逻辑中,看到这样的代码,坦白来说,我什么兴致都没有了,但是碍着人情,我硬着头皮,把基本功能的完成交差,通过这件事情,我对软件分层进行了深...
被废弃的dispatch_get_current_queue

被废弃的dispatch_get_current_queue

被废弃的dispatch_get_current_queue2015-03-04 csdn博客 念茜想说说被废弃的dispatch_get_current_queue,不得不提一个概念:可重入。什么是可重入,来自维基百科:若一个程序或子程序可以“安全的被并行执行(Parallel computing)”,则称其为可重入(reentrant或re-entrant)的。即当该子程序正在运行时,可以再次进入并执行它(并行执行时,个别的执行...
代码重构:一堆if、esle 逻辑的处理

代码重构:一堆if、esle 逻辑的处理

代码重构:一堆if、esle 逻辑的处理2015-03-04 cnblogs 麦舒这几天,接手一个同事的代码,关于微信接口开发的,那一堆的 if,看得哥蛋痛了,这个毛病也是很多新手容易犯的,所以特地把这次重构写出来。下面来我们看看这个代码的问题所在,if else 里面的代码块逻辑,不好改,使得它的重用性为 0,并且难以阅读。当然,如果 if 只有一两个,或者3个,这样写是问题不大的。但是如果多了,这种代码便会让维护变得困难起来。if (strMsgTyp...
界面与数据分离的示例

界面与数据分离的示例

界面与数据分离的示例2015-03-04 cnblogs 麦舒前几天,看到叶小钗同学的《一次面试回顾——探讨表现与数据分离》 ,并且发表自己的见解。他说的“表现”,在我的文章表述为界面,我认为:1、界面与数据的分离,必须体现在代码上,界面的代码归界面的代码,数据的代码归数据的代码,两者必须泾渭分明。2、当界面需求发生改变,只需要改写界面的代码,并且所改写的代码不能影响到数据访问的代码。只有做到这两者才算界面与...
关于ORM跑分

关于ORM跑分

关于ORM跑分2015-03-07又见ORM跑分了,说实在的,这个ORM的跑分有意义么?而且还围观者众,喜欢看热闹的人还真是不少呀。经常见到不少人,在吹某个ORM的性能如何、如何地好,然后再辅以几个单元测试的跑分来佐证,和咱天朝的山寨手机吹嘘性能好,价格便宜有何两样?甚至连山寨手机都比不上,起码山寨手机,还敢收钱!我们都知道,简衡量一个手机的好坏,不仅是性能,还包括屏幕、散热、做工、服务等等。同样,衡量一个ORM的好坏,不仅是性能。事实上,ORM的性能,对...
被神化的架构及被夸大的CTRL+C和CTRL+V

被神化的架构及被夸大的CTRL+C和CTRL+V

被神化的架构及被夸大的CTRL+C和CTRL+V2015-03-07为什么我想谈谈架构,和代码的复制粘贴这两个话题呢,主要是前几天看到一篇文章提到这两个话题,在这里想谈谈我的一些看法。很多新人,都很谈架构,好象贴了架构这个标签就显示高档似的,把设计模式当作圣经,实在可笑。做架构,不是捧着书,然后闭门苦思就能想出来的。架构是做出来的,不是设计出来的架构,说穿了就是解耦,把变化的东西抽离出来,这个是它的本质。一般来说,越接近底层的东西越是稳定,越接近业务层的东...
一次面试回顾:探讨表现与数据分离

一次面试回顾:探讨表现与数据分离

一次面试回顾:探讨表现与数据分离2015-03-07 cnblogs 叶小钗前言半年多之前有一次面试,当时只是想要张回家的免费机票,顺便看看运气却不想那次面试获益颇丰,所以没事出去面试面试对个人的知识总结以及思维的深化很有帮助的哦深化当然不是一朝一夕的事情,比如当时面试官就问我什么是“表现与数据分离”,就这个问题我就前前后后学习了很久,也和很多同事讨论过,但是一直没有一个比较好的结果最近在做ipad相关的单页应用研究,被一个问题困住...
按需分配,共创和谐社会的钥匙:依赖注入

按需分配,共创和谐社会的钥匙:依赖注入

按需分配,共创和谐社会的钥匙:依赖注入2015-03-07 cnblogs 小九的学堂历史的发展远古母系氏族,每个人都是一个独立的个体,需要什么工具就需要自己去打磨一件工具,自己需要了解所有的流程才能生存。比如打猎,从前期准备绳索,尖木,到中期做陷阱,后期收成,都需要了解的非常透彻。对应编程中便是new 绳索(),new 尖木(),new 陷阱(),new X()。实例化所有需要的资源,然后再进行逻辑流程。人类逐渐在进步,工业革命的来袭,改变了整个社会的结...
敏捷实施中的学习与阈限

敏捷实施中的学习与阈限

敏捷实施中的学习与阈限2015-03-07 infoq Dan Mezick 译:方盛给读者的话:如果你是首次接触的一系列文章,你可以先回过头去看看这一系列文章的第一部分、第二部分和第三部分。上篇文章(第三部分)描述了阈限(Liminality)的概念,在阅读本文之前,先读一读这些概念是非常有必要的。阈限状态中的稳定性阈限是令人不安的,并且还会产生压力。关于开放式敏捷实施的一个设想是,在典型组织里引入敏捷会产生组织级的阈限。如果使用过渡仪式的方式来处理这个...
自动化单元测试的实践之路

自动化单元测试的实践之路

自动化单元测试的实践之路2015-03-07 infoq 李乐自动化单元测试并不是什么新鲜事物,它应该是团队持之以恒的事情,可能有很多团队知道如何去做,但是还做得不够好;还有不少团队不知道如何去做,甚至有一些旧系统还不敢去重构,还在坚持着Java中的main方法调用的方式来执行,在漫长等待构建结果。本文主要讲基于Java项目如何做自动化单元测试的实践。1 是否值得关于单元测试的意义,详细参考stackoverflow这篇文章:http://stackove...
持续集成:从六个层次加速测试执行

持续集成:从六个层次加速测试执行

持续集成:从六个层次加速测试执行2015-03-07 infoq 傅健在持续集成领域,一个产品的发布往往都有自己的过程周期(lifecycle),大体都会划分为:构建->部署->测试->发布等几个重要阶段,其中测试是发布产品前不可或缺的重要阶段,是产品质量的保证。而能让持续集成奏效,除了要求测试脚本更充分健壮,还要求测试脚本运行得更快更好。这点对于小型项目而言可能显得无关紧要,毕竟大多小项目的测试脚本不过百条,验证点不过千“点...
软件分析的未来

软件分析的未来

软件分析的未来2015-03-07 infoq 译:李中杰本文最初发表在IEEE Software杂志上,现在由InfoQ和IEEE计算机学会联合呈献于此。这一期我们请到了一个六人专家团,由软件分析领域的知名专家组成,讲述他们心目中这个领域那些最重要的、或者是被严重忽视的问题。他们都认为当前实践的视野还不够开阔:软件分析的受众应该超越开发者(Ahmed Hassan),软件分析的结果应该超越单纯的数字(Per Runeson)。分析应该证明其实用性(Abr...
UML简介

UML简介

UML简介2015-03-12UML,英文名曰:Unified Modeling Language,她还有个中文名字叫统一建模语言,简单的来说,她就是一种绘制软件蓝图的标准语言。她的表达能力特别强,可以描述开发所需要的各种视图,然后以此为基础来部署系统。UML是软件开发方法的一走很难过方法,她独立于过程,她用于以用况为驱动、以体系结构为中心、迭代和增量的过程。总的来说,UML是一种语言,一种用于可视化的语言,一种用于详细描述的语言,一种用于构造的语言,一种...
豆瓣的基础架构

豆瓣的基础架构

豆瓣的基础架构2015-03-12 infoq 洪强宁本文根据InfoQ中文站对豆瓣洪强宁(@hongqn)的沟通交流整理而成。洪强宁介绍了豆瓣的架构和组件,并分享了豆瓣基础平台部的一些团队经验。文中截图来自洪强宁在2013年CTO俱乐部中的分享。嘉宾介绍洪强宁,豆瓣首席架构师。豆瓣第一位全职员工。清华毕业后,洪强宁一直做嵌入式系统。在2002年开始接触Python语言,从硬件工程师变为软件工程师,对一种语言在计算机底层如何工作有深入的理解。架构豆瓣整个基...
<< 41 42 43 44 45 46 47 48 49 50 >>