何谓重构
对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提交其可理解性,降低其修改成本。
重构的目的是软件更容易理解和修改;重构不会改变软件可观察的行为。
两顶帽子比喻
添加新功能 不修改既有代码,只管添加新功能,并通过测试重构 不添加功能,只管改进程序结构
为何重构
重构改进软件设计
改进的重要方向就是消除重复代码。...
分类:
其他好文 时间:
2014-06-07 01:59:57
阅读次数:
243
微信发展三年多以来,策略频繁变更,从文字、图片、语音、视频到朋友圈,从个人号到公众号,以及游戏应用的接入,每个功能的出现与升级都让狠狠的抓住了用户的心。从而让微信变得丰富精彩,瞬间也让微信站在了世界的最高舞台上。
如今微信用户注册量已突破6亿,是亚洲地区最大用户群体的移动即时通讯软件。6亿的移动用户,微信让腾讯的移动互联网产品走向世界,拿到了移动互联网的第一张门票,也把移动互联网风潮真正推向...
分类:
微信 时间:
2014-06-05 08:35:46
阅读次数:
361
算法训练 最小乘积(基本型)
时间限制:1.0s 内存限制:512.0MB
问题描述
给两组数,各n个。
请调整每组数的排列顺序,使得两组数据相同下标元素对应相乘,然后相加的和最小。要求程序输出这个最小值。
例如两组数分别为:1 3 -5和-2 4 1
那么对应乘积取和的最小值应为:
(-5) * 4 + 3 * (-2) +...
分类:
其他好文 时间:
2014-06-05 04:39:00
阅读次数:
264
date_default_timezone_set('PRC') or die('时区设置失败,请联系管理员!'); //设置php的时区,例如使用time函数
mysql_query("SET time_zone = '+8:00'") or die('时区设置失败,请联系管理员!'); //设置mysql的时区,例如使用now函数...
分类:
数据库 时间:
2014-06-05 00:27:46
阅读次数:
329
浅析有效的游标管理
【思路分析】
可以把游标理解成共享的执行计划,当sql不被共享时,常规的解决思路有两个方向:
1、调整共享池的尺寸(共享池的库缓存区中共享执行计划);
2、sql书写时尽量重用绑定变量,以起到共享sql的作用。
【较差的游标管理体现】
1、不重用执行计划(缺少绑定变量)
2、重用的执行计划保留不下来(共享池尺寸过小)...
分类:
数据库 时间:
2014-06-05 00:25:05
阅读次数:
265
由于默认的Linux内核参数考虑的是最通用的场景,这明显不符合用于支持高并发访问的Web服务器的定义,所以需要修改Linux内核参数,使得Nginx可以拥有更高的性能。
在优化内核时,可以做的事件很多,不过,我们通常会根据业务特点来进行调整,当Nginx作为静态Web内容服务器、反向代理服务器或是提供图片缩略功能(实时压缩图片)的服务器时,其内核参数的调整都是不同的。这里只针对最通用的、使Ngi...
分类:
系统相关 时间:
2014-06-04 23:18:19
阅读次数:
383
一个Ext JS 应用的UI是由一个或多个叫做组件(Component)的小部件组成的。所有的组件都是Ext.Component的子类,Ext.Component可以使其子类参与自动化的声明周期管理,包括初始化、渲染、调整大小及位置和销毁。Ext JS提供了大量的直接可用的组件,并且任何组件都能够被轻松的继承从而实现定制化的组件。
本文主要讲述了Ext JS 4的组件模型,一些常用组件,以及怎么定制一个组件。通过学习本文,你能够很好的了解Ext JS 4 组件模型的全貌,并能够新建一个组件类时,采用正确的方...
分类:
Web程序 时间:
2014-06-02 23:01:42
阅读次数:
469
问题:
对于给定序列1...n,permutations共有 n!个,那么任意给定k,返回第k个permutation。0
分析:
这个问题要是从最小开始直接到k,估计会超时,受10进制转换为二进制的启发,对于排列,比如 1,2,3 是第一个,那么3!= 6,所以第6个就是3,2,1。也就是说,从开始的最小的序列开始,到最大的序列,就是序列个数的阶乘数。那么在1,3 , 2的时候呢?调整一...
分类:
其他好文 时间:
2014-06-01 14:03:55
阅读次数:
257
总的来说,正确的做法是优先通过配置文件,再在具体机器上进行相应进程的启动/停止操作。
网上一些资料说在调整配置文件的时候,优先使用主机名而不是IP进行配置。
总的来说添加/删除DataNode和TaskTracker的方法非常相似,只是操作的配置项和使用的命令有微小差异。
1. DataNode
1.0 配置文件
在namenode下修改配置文件conf/mapred-site.xml。
关键参数dfs.hosts和dfs.hosts.exclude。
注意:不同hado...
分类:
其他好文 时间:
2014-06-01 10:45:08
阅读次数:
340
js 数组的每一项可以保存任何类型的数据。
数级的大小是可以动态调整的,即可以随着数据的添加自动增长长度。 创建数组的两种方式: 使用 Array 构造函数 var color = new
Array(20); // 创建长度为 20 的数组 var...
分类:
Web程序 时间:
2014-05-31 20:08:36
阅读次数:
348