何谓重构
对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提交其可理解性,降低其修改成本。
重构的目的是软件更容易理解和修改;重构不会改变软件可观察的行为。
两顶帽子比喻
添加新功能 不修改既有代码,只管添加新功能,并通过测试重构 不添加功能,只管改进程序结构
为何重构
重构改进软件设计
改进的重要方向就是消除重复代码。...
分类:
其他好文 时间:
2014-06-07 01:59:57
阅读次数:
243
一. 需求 最近在做数据库迁移,经常需要打包实例传输,传统scp感觉很慢。二. 软件信息 1. 软件主页:http://tsunami-udp.sf.net/ 2. 软件安装:直接源码make && make install三. 简单使用 以下介绍简明步骤: 在源机子开启tsunami进程:tsunamid * 在目标机子 connect...
分类:
其他好文 时间:
2014-06-05 11:05:15
阅读次数:
248
总结下python中线程调度机制.
对于线程调度机制而言,同操作系统的进程调度一样,最关键是要解决两个问题:
1.在何时选择挂起当前线程,并选择处于等待的先一个线程呢?
2.在众多等待的线程中,选择哪一个作为激活线程呢?
在python多线程机制中,这个两个问题是有两个层次解决的。
如,进程间的切换,当发生了时钟中断,操作系统响应时钟中断,并在这个时候开始进程的调...
分类:
编程语言 时间:
2014-06-05 10:07:35
阅读次数:
314
重构概览
所谓重构(refactoring)是这样一个过程:在不改变代码外在行为的前提下,对代码做出修改,以改进程序的内部结构。
摘要
如果你发现自己需要为程序添加一个特性,而代码结构使你无法很方便地达成目录,那就先重构那个程序,使特性的添加比较容易进行,然后再添加特性。
代码块愈小,代码的功能就愈容易管理,代码的处理和移动也就愈轻松。
Extract Method ...
分类:
其他好文 时间:
2014-06-05 08:02:00
阅读次数:
276
AndroidManifest.xml配置文件的根元素,
必须包含一个元素并且指定xlmns:android和package属性。
xlmns:android指定了Android的命名空间,默认情况下是“http://schemas.android.com/apk/res/android”;
package是标准的应用包名,也是一个应用进程的默认名称,我们为了避免命名空间的冲突,一般会以应用的域名...
分类:
移动开发 时间:
2014-06-05 07:07:36
阅读次数:
288
Oracle进程结构
进程是动态创建的,完成任务后就消亡;而程序是静态的实体,程序是可以复制、编辑的。进程强调的是执行过程,而程序仅仅是指令的有序集合;进程在内存中,程序在外存中。
ORACLE分为用户进程和ORACLE进程。
l 用户进程
当用户执行一个基于ORACLE数据库的应用程序时,客户端就会创建一个ORACLE的用户进程(如运行的sqlplus、OEM都叫用户进程)。
用户进程...
分类:
数据库 时间:
2014-06-05 05:37:30
阅读次数:
329
在Linux中,每个用户都拥有一个唯一的用户名和与之相关的用户标识符(UID,数值型)。一个用户可以属于多个用户组,每个用户组都拥有唯一一个名称和一个用户组标识符(GID,数值型)。
UID和GID的主要用途有:一,确定各种系统资源的所有权;二,对赋予进程访问资源的权限进行控制。...
分类:
系统相关 时间:
2014-06-05 05:13:28
阅读次数:
321
本系列的第三篇文章主要来介绍与共享物理页面相关的两个函数。
//在发生缺页异常的时,首先看看能否与运行同一个文件的其他进程进行页面共享处理。该函数首先判断系统中是否有另外进程也在运行与当前进程一样的执行文件。若有,则在系统当前任务中找寻这样的任务。若找到了这样的任务就尝试与其共享指定地址处的页面。判断系统中是否有另一个进程也在执行同一个可执行文件的方法是利用进程任务数据结构中的executabl...
分类:
系统相关 时间:
2014-06-05 03:47:01
阅读次数:
350
进程的创建
四种主要的事件导致进程的创建:
系统初始化正在运行的进程发出系统调用,创建一个活多个进程用户请求创建一个新进程一个批处理作业的初始化
在所有的情形中,新进程都是由于一个以存在的进程执行了一个用与创建进程的系统调用而创建的。
Unix 进程的创建:
fork(系统调用)--> 创建一个与系统调用相同的副本 --> 子进程执行execve或一个类似的系统调用 -->...
分类:
其他好文 时间:
2014-06-05 03:39:59
阅读次数:
193
有三个步骤
1.讲searchd进程写成一个服务,不然每次调用都要打开这个进程很麻烦。
g:\service\coreseek\bin\searchd --install --config g:/service/coreseek/etc/csft_mysql.conf --servicename Coreseek
同样的万变不离其宗还是跟配置文件有关系
一个参数是你searchd的路径...