自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

缘起宇轩阁

华华的技术专栏

  • 博客(22)
  • 收藏
  • 关注

转载 rdiff工具使用方法

工具介绍http://librsync.sourcefrog.net/doc/rdiff.html通过rsync算法复制文件。signature    rdiff [OPTIONS] signature INPUT SIGNATURErdiff signature generates a signature file from an input file. The sign

2011-10-28 14:41:22 1278

原创 第Ⅰ部分 敏捷开发 第六章 一次编程实践

设计和编程都是人的活动,忘记这一点将失去一切。——Bjarme StrousStup本章是一次结对编程(pair programming),编写保龄球比赛记分软件的例子。在这个过程中代码、逻辑、设计、需求都出现过错误,但最后出现了次序。★6.1保龄球比赛 66页对谈话和代码的总结:1.确定验证测试用例。2.画出UML类图。3.精简合并类图。4.先用最简单的设计,

2011-10-23 17:48:29 824

原创 第Ⅰ部分 敏捷开发 第5章 重构

大千世界中,唯一缺乏的就是人的注意力。————凯文凯利阐述人们应该关注手边的工作,并说明使事务能够工作和事务正确之间的区别。重构的定义:在不改变代码行为的情况下对代码进行修改,以改进代码行为的过程。为什么要违反谚语“没有坏就不要修理她”软件模块职责:1。完成功能。2.易修改、易维护。3.易读。要做到易修改和易读,需要原则和模式,还有你的注意力、纪律约束和创造美的激情。★

2011-10-23 17:47:10 859

原创 第Ⅰ部分 敏捷开发 第4章 测试

烈火验真金,逆境磨意志——卢修斯?塞尼加编写单元测试是一种验证行为,更是设计行为,更是编写文档行为。避免了反馈循环。★4.1测试驱动的开发方法设计程序先编写测试方案,单元测试是检验程序功能的唯一标准,不多加一个功能、不增加一行代码。包罗万象的单元测试的好处:1.每项功能都有测试来验证其正确性。2.迫使我们从调用者的角度思考。3.迫使我们把程序编写为可测试的,易于调用的,和周边环境解

2011-10-23 17:45:53 702

原创 第Ⅰ部分 敏捷开发 第3章 计划

当你能够度量你所说的,并且能够用数字去表达它时,就表示你理解了它;若你不能度量它,不能用数字表达它,那么说明你的知识是匮乏的、不能令人满意的——凯尔文勋爵(英国物理学家)★SLS:看来“可度量”并不仅仅是软件工程重视的要素。所有科学的一个基本要求之一就是可度量。下面的内容是对极限编程中计划游戏的内容的描述。其他敏捷方法都没有XP描述如何做计划详细。★3.1初始探索项目开始会尽力

2011-10-23 17:44:11 646

原创 第Ⅰ部分 敏捷开发 第2章 极限编程概述

作为开发人员,我们应该记住,XP并非唯一选择。——Pete MaBreen★2.1极限编程实践极限编程(eXtreme Programming)是敏捷方法中著名的一个。由一系列相互依赖的实践组成。★2.1.1客户作为团队成员XP中客户的定义:定义产品特性并排列这些特性优先级的人或团体。可能是统一家公司的业务分析师和市场专家,或者用户团体代表,或者支付开发费用的人。客户与开发

2011-10-23 17:42:38 805

原创 第Ⅰ部分 敏捷开发 第一章 敏捷实践

人与人之间的交互是复杂的,并且其效果都是难以预料的,但确实工作中最为重要的方面。——《人件》第五页原则(principle)、模式(pattern)、实践(practice)都是重要的,但使其发挥作用的是人。“过程和方法对于项目的结果只有次要影响,首要影响是人”——Alistair Cockburm。如果把程序员团队看作是由过程驱动的组件所组成的系统,那么就无法对其进行管理。人不是“插

2011-10-23 17:38:34 769

原创 敏捷宣言和原则

1敏捷软件宣言我们正在通过亲身实践和帮助他人实践,揭示更好的软件开发方法。通过这项工作,我们认为:1)  个体和交互 胜过 过程和工具。2)  可以工作的软件 胜过 面面俱到的文档。3)  客户合作 胜过 合同谈判。4)  响应变化 胜过 遵循计划。虽然右项具有价值,但我们认为左项更具有价值。 2敏捷宣言遵循的原则1)  我们最优先做到的是通过尽早的努力、持续交

2011-10-19 18:37:41 1050

转载 架构师之路(2)---详解面向过程 王泽宾

面向过程的编程(OPP)就是将用户需求进行“功能分解”。把用户需求先分解成模块(.h,.c),再把模块(.h,.c)分解成大的功能(function),然后把大的功能(function)分解成小的功能(function),如此类推。功能分解是一项很有技术含量的工作,它不仅需要

2011-10-18 17:21:00 3322

转载 架构师之路(4)---详解面向对象 王泽宾

3.5 详解面向对象的编程(OOP)3.5.1 什么是面向对象    刚接触编程的时候,多数人本能的反映可能是面向过程(OP)的,而不是面向对象(OO)的。这种现象其实是很正常的,改变思维方式是需要一个过程的,我大体归纳了一下其形成的原因:1、直接原因

2011-10-18 17:15:47 2025

转载 PHP下得到客户端ip的方法

PHP Manual中提及的使用getenv('REMOTE_ADDR')来获取客户端ip的方法存在不少问题,所以有必要考虑采用更为完善的方法来比较精确的获取用户客户端的ip。getenv(PHP 3, PHP 4, PHP 5)getenv -- Gets

2011-10-18 14:39:02 592

转载 HTTP Digest Authentication在实际应用中的问题

作者:老王 来源:http://huoding.com/Basic认证实际上是明文传递密码,所以RFC2617里定义了Digest认证以取代它,其计算方法如下:其中HA1计算方法为:如果qop选项的值为auth,那么HA2散列计算方法为:

2011-10-18 14:35:32 991

转载 架构师之路(3)---架构师的职责 王泽宾

3 架构师的职责    近来看到CSDN上有个CTO俱乐部,里面聊得是不亦乐乎。我怀着无比崇敬的态度,拜读了一下牛人们的发言。里面有个哥们发起一个话题:“CTO, 你多久没有写程序了?”。有人回答:“不写代码的CTO,属于......这公司问题大了!”。看到这里,我就

2011-10-18 10:45:25 3608

原创 Effective C++ 目录

目 录1 让自己习惯C++(View Yourself to C++)    11.1 条款1:视C++为一个语言联邦(View C++ as a federation of language)    11.2 条款2:尽量使用consts,enums和inlines

2011-10-15 20:37:30 1785

原创 (Effective C++)第八章 定制new和delete(Customizing new and delete)

10.1 条款49:了解new-handler行为 (Understand the behavior of the new-handler)当operator new抛出异常以反映一个未获满足的内存需求之前,它会调用一个客户指定的错误处理函数,一个所谓的new-handler

2011-10-15 20:33:05 865

原创 (Effective C++)第七章 模板与泛型编程 (Templates and Generic Programming)

C++template机制自身是一部完整的图灵机(Turing-complete):它可以被用来计算任何可计算的值。于是导出了模板元编程(templatemetaprogramming),创造出“在C++编译器内执行并于编译完成时停止执行”的程序。9.1 条款41:了解隐式接

2011-10-15 20:30:06 1026

原创 (Effective C++)第六章 继承与面向对象(Inheritance and Object-Oriented Design)

Public继承意味着“is-a”,virtual函数意味着“必须被继承”,non-virtual意味着“接口和实现都必须被继承”。8.1 条款32:确定你的public继承塑模出is-a关系 (Make sure public inheritance models “is-

2011-10-15 20:14:24 1159

原创 (Effective C++)第五章 实现(Implementation)

7.1 条款26:尽可能延后变量定义式的出现时间(Postpone variable definitions as long as possible)只要你定义一个变量而其类型带有一个构造函数或析构函数,那么当程序的控制流到达这个变量定义式时,你得承受构造成本;当这个变量离开

2011-10-15 20:08:40 1113 1

原创 (Effective C++)第四章 设计与声明(Design and declaration)

6.1 条款18:让接口容易被正确使用,不易被误用(Make interfaces easy to use correctly and hard to use incorrectly)条款13表明客户把新申请的资源置入智能指针中,以免资源泄露。而std::tr1::share

2011-10-15 20:03:40 660

原创 (Effective C++)第三章 资源管理(Resource Management)

5.1 条款13:以对象管理资源(Use object to manage resource)以对象管理资源。一般情况下,谁申请资源,谁负责释放。如下:class Investment {};void f{    Investment *pInv = ne

2011-10-15 19:57:01 699

原创 (Effective C++)第二章 构造、析构和赋值运算(Constructors,Destructors and Assignment Operators)

4.1 条款5:了解C++默认编写并调用哪些函数(Know what functions C++ silently writes and calls)了解C++默默编写并调用哪些函数:如果写下:class Empty{};编译器会产生如下:class

2011-10-15 19:51:07 704

原创 (Effective C++)第一章 让自己习惯C++(View Yourself to C++)

1.1 条款1:视C++为一个语言联邦(View C++ as a federation of language)C++主要的次语言(sublanguage):l  【3-1-1】 说到底C++仍是以C为基础。区块(blocks),语句 (statements),预处理器

2011-10-15 19:33:11 730

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除