自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Fix it

Write and Note

  • 博客(15)
  • 资源 (1)
  • 收藏
  • 关注

原创 Shell编程基础 part 2/2

6 命令行参数特殊变量$*, $1, $2, ...$9包含了用户从命令行输入的参数; 简单的命令行语法(强制性参数和查看帮助的-h选项); 在编写复杂程序时, 可能需要更多的自定义选项; 通常的惯例是在所有可选的参数之前添上一个减号 - , 后面跟参数值(文件名);e.g. 实现对输入参数的分析: case12345

2013-10-29 14:19:10 825

原创 Shell编程基础 part 1/2

SHELL编程基础shell脚本, 必须在开始的第一行输入:1#!/bin/bash>#! 会告诉系统执行该脚本的程序, 例如bash;Note 最好使用"!/bin/bash"而不是"!/bin/sh", 如果使用tc shell改为tcsh,其他类似.保存文件后, 想要执行脚

2013-10-28 11:47:10 1058

原创 Effective C++ 第二版 29)内部句柄 30)成员函数返回非const指针或引用

类和函数: 实现C++是高度类型化的语言, 给出合适的类和模板的定义以及合适的函数声明是整个设计中最大的一部分; 这部分做好, 类, 模板以及函数的实现就不容易出问题;人们常常犯错的原因是不小心违反了抽象的原则: 让实现细节可以提起类和函数内部的数据; 不清楚对象生命周期; 不合理的前期优化, 滥用inline; 有些实现策略会导致源文件间的相互联结问题, 小规模范围内合适, 但在

2013-10-25 13:54:53 1245

原创 Effective C++ 第二版 27)函数隐式生成 28)名字空间

条款27 如果不想使用隐式生成的函数就要显式地禁止假设想写一个类模板Array, 它生成的类除了可以进行上下限检查外, 其他行为和C++标准数组一样; 设计中面临的一个问题是怎么禁止Array对象之间的赋值操作;Note 对标准C++数组来说赋值是非法的;123double values1[10];double

2013-10-22 11:15:09 927

原创 Effective C++ 第二版 25)避免指针和数字重载 26)二义性

条款25 避免对指针和数字类型重载什么是零?123void f(int x);void f(string *ps);f(0); // 调用f(int)还是f(string*)?>0是一个int, 一个字面上的整数常量, 所以被f(int)调用;Problem:

2013-10-21 13:24:48 1510

原创 Linux命令速查

Linux命令速查1) 启动 关机 登入 登出login 登录; logout 登出; exit 退出; shutdown/halt 停止系统; reboot 重启; poweroff 关机;sync 内存内容写入磁盘; lilo/grub 安装lilo启动管理程序; 2) Shell相关chsh 切换shell; history 显示命

2013-10-18 11:35:04 1267

原创 Effective C++ 第二版 22)传引用 23)返回对象 24)函数重载vs缺省值

条款22 尽量用传引用而不用传值C语言通过传值实现, C++继承传统把它作为默认方式, 除非明确指定, 函数的形参总会通过"实参的拷贝"来初始化, 函数的调用者得到的也是函数返回值的拷贝;"通过值传递对象"的含义是由对象的拷贝构造函数定义的, 这使得传值操作变得很费事:12345678

2013-10-17 07:50:52 1156

原创 Effective C++ 第二版 20)避免接口数据 21)使用const

条款20 避免public接口出现数据成员一致性, 所有public接口里都是函数;安全性, 可以控制数据成员的访问权限;123456789101112class AccessLevels {public:

2013-10-15 13:50:59 913

原创 Effective C++ 第二版 17)operator=检查自己 18)接口完整 19)成员和友元函数

条款17 在operator=中检查给自己赋值的情况123class X { ... };X a;a = a; // a 赋值给自己>赋值给自己make no sense, 但却是合法的;重要的是, 赋值给自己的情况可以以隐蔽的形式出现: a = b; 如

2013-10-14 11:12:55 1192

原创 硝烟中的Scrum和XP-我们如何实施Scrum 15)多团队 Part 2/2 16)地理分散 17)检查列表 18)其他

引入"团队领导"角色假设有3个团队开发同一个产品红色的P是PO, 黑色的S是SM, 蓝色是其他团队成员;如何决定哪些人属于哪个团队? 怎么分配成员? 有人觉得让PO来做人员分配, 但这不是PO职责内的事情; PO是领域专家, 可以指导团队的前进方向, 但不应该牵扯到这类细节; 尤其当PO是chicken的时候; [Pigs and Chickens http://e

2013-10-11 14:02:23 1801

原创 硝烟中的Scrum和XP-我们如何实施Scrum 14)测试 15)多团队 Part 1/2

14 怎样做测试这是最困难的部分; 在不同组织的各种开发活动中, 测试可能是差异最大的; 它依赖于你有多少个测试人员, 系统类型(服务器+web应用 vs 交付完整的软件), 发布周期的长短, 软件的重要性(博客服务器 vs 飞行控制系统)等等;验收测试阶段在理想化的Scrum世界中, 每个sprint最终会产生一个可部署的系统版本; 但一般都无法达到, bug

2013-10-10 10:41:27 1225

原创 硝烟中的Scrum和XP-我们如何实施Scrum 12)发布计划 13)组合XP

12 怎样制定发布计划, 处理固定价格的合同一次只计划一个sprint的事情会显得提前量不足, 提前做计划是个好习惯;尤其是签了固定价格的合同之后, 不得不预先计划好, 防止无法按期交付的危险情况;在制定release plan的时候尝试回答:"最晚到什么时候可以交付新系统的1.0版本?"定义验收标准除了产品backlog外, PO会定义一系列的验收标准

2013-10-09 19:08:03 1050

原创 硝烟中的Scrum和XP-我们如何实施Scrum 9)演示 10)回顾 11)休整

9 怎样进行sprint演示Sprint演示[DEMO]或者叫sprint回顾[REVIEW]是Scrum中重要的环节, 却很容易被低估;为什么坚持所有的sprint结束于演示一次不错的演示带来的影响:- 团队的成果得到认可, 成员们会感觉很好[正能量...];- 其他人了解到你的团队在做什么; [透明度]- 演示可以吸引相关的人的注意, 并

2013-10-08 12:38:03 973

原创 Effective C++ 第二版 15) operator=返回值 16) operator=赋值

条款15: 让operator=返回*this的引用试图让用户自定义类型尽可能和固定类型的工作方式相似;固定类型赋值可以:12int w, x, y, z;w = x = y = z = 0;用户自定义类型也可以:12str

2013-10-04 19:33:50 1146

原创 Effective C++ 第二版 13) 初始化列表 14) 虚析构函数

条款 13: 初始化列表中成员列出的顺序和他们在类中声明的顺序相同 Pascal和Ada可以任意设定数组下标上下限, 数组下标可以是10到20, 不一定是0到10; C语言则习惯坚持从0开始计数;12345678910111213templatec

2013-10-02 23:48:48 1031

空空如也

空空如也

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

TA关注的人

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