3-D histogram 三维直方图
posted @
2007-08-27 15:33 石正 阅读(277) |
评论 (0) |
编辑 收藏
使用电子邮件e_mail的礼节
1、使用电子邮件e_mail最容易被忽略的礼节是:回复邮件时,请把原邮件的内容带上,以方便别人查看;但,原邮件所携带的附件是不需要带上的;
2、写正文时,不需要段落首行缩进;
posted @
2007-07-30 16:34 石正 阅读(243) |
评论 (0) |
编辑 收藏
软件工程第零原则,简称第0原则:所有的软件工作项都有唯一的最佳解决方案。
这里,先定义几个名词:
1、最佳解决方案。比如:在需要使用“懒惰策略”的时候(优化后置),使用“懒惰策略”就是最佳方案;不使用就不是最佳方案。2种方案的区别,关键在于,开发的进度和风险,2种方案的成本是不一样的。
2、团队最佳解决方案:团队最佳解决方案有时也是最佳解决方案,是团队能够提出的最佳方案,虽然不是该问题的最佳方案,但该方案如果可以满足问题的需求,团队又有能力实施,同时,相比向外部请求协助的代价要低的多,此时,基本可以认定该方案是团队最佳方案。这种情况下,采用“团队最佳方案”是最好的解决方法,理由是:满足需求,开发成本低,风险小。
在长期的软件工作实践中,软件小组成员之间经常出现意见不一致的时候。
具体出现的情况分类如下:
1、所有人的意见都是最佳方案的;
2、有一个或者几个人的意见是最佳方案的,有几个或者一个人的意见是不太合适的,或者是错误的;
3、所有人的意见都不是最佳方案,但有一个或者几个人的意见是“团队最佳解决方案”;
4、所有人的意见都不合适,或者都没有解决方案;
出现意见不一致时,容易造成团队内部争执,或者使团队进入到其他低效状态;为了提高团队工作效率,降低开发成本,需要减少这类低效状态的出现,采用合理的方式,是可以减少这类状态的;正面解决问题是其中的一种较好的方式;
在实际工作中发现,正面解决问题是较好的方法;即找到当前的最佳方案,并且让团队成员经过谈论,形成一致意见,或者,在找不到最佳方案时,把该问题记录下来,后续解决,不影响当前工作;
采用这种工作方法的前提条件就是团队所有成员对“问题具有唯一正确的解决方案”的原则形成一致的认识:所有的软件工作项都有唯一正确的解决方案。由于该原则是软件工作的基本原则,所以,命名该原则为:“软件工程第零原则”,简称“第0原则”。
以下对该原则做说明:
1、软件工作中所有工作项都有最佳解决方案:由于,计算机理论基于数学,软件工作中的所有工作项的根本基础是数学,可以说软件工作中的所有问题都可以转化为相应的数学问题,而数学问题是有最佳解决方案的,所以,软件工作中的所有工作项都有最佳解决方案;(这里,还有,成本进度等的量化计算与管理);
2、不同解决方案合适程度是不一样的:有时,几个方案都可行,但,其中是有区别的,区别在于,风险和成本,具体来说在于工作量、工期、运行性能、团队技术熟练程度等;
3、该原则的用途:学习软件知识时,明白所有问题有最佳解决方案,避免一叶障目;团队工作时,减少无效讨论;
该随笔的观点不太成熟,多提宝贵意见。谢谢!
posted @
2007-07-22 19:34 石正 阅读(325) |
评论 (0) |
编辑 收藏
感知 = 感觉 + 知觉
上边的公式今天的收获,很高兴啊。
上边公式说的是:人类获得信息的方式。起关键在于把过程分为2步,可以在人工智能工作中参考。
具体是如下说的:
感觉获得外界的信息,知觉把感觉获得的信息加工成为“概念”,后续的思维,进一步处理。
posted @
2007-07-22 18:52 石正 阅读(208) |
评论 (0) |
编辑 收藏
我希望有个安静祥和的家庭,家和万事兴啊。
posted @
2007-07-20 09:17 石正 阅读(175) |
评论 (0) |
编辑 收藏
软件工作中的加减法“软件加减法”
做软件时,有时会遇到很难解决的问题,仔细分析过后,觉得无法下手,超苦恼。
此时,不妨实验一下“软件加减法”,往往可以出奇制胜。
具体做法如下:
首先使用“减法算法”,“减法算法”不合适时,使用“加法算法”。以下具体描述“减法算法”和“加法算法”。
“减法算法”:
1、把怀疑有问题的模块去掉,不参与运行测试,看问题是否仍然会出现;
2、如果问题不出现了,则断定问题与该模块相关;
3、进一步在该模块内使用“软件加减法”或者其他方法,逐渐定位问题的具体位置;具体做法是:把该模块加入到系统中,把该模块内的部分子模块屏蔽掉,运行测试,看问题是否仍然会出现;
4、重复使用3,定位问题;
5、如果第1步的结果是,问题仍然出现,可以采取2种方法:一种是:进一步做减法,另一种是加法后减法,即把原来屏蔽掉的模块加上,然后,屏蔽其他模块测试;
6、减法算法对软件人员的能力要求比较高,优点是,人员能力交好、对项目和代码熟练程度较高时,解决问题速度快。
7、减法算法不行时,可以考虑采用加法算法。
“加法算法”:
1、新建一个项目;
2、把原来有问题的项目的模块,添加到新项目中一个;
3、测试;
4、测试通过后,添加下一个模块;
5、测试不通过,断定问题与该模块相关;对该模块,采用“减法算法”或者其他方法进一步定位问题位置;
6、“加法算法”,虽然速度稍微慢点,但使用简单方便,容易定位问题;相比其他方法,也许是最快的了,7、该算法最大的优点是,算法时间复杂度稳定,即解决问题使用的时间不会过长。
实际工作中,使用“软件加减法”时,往往是“加法算法”和“减法算法”混合使用,同时,最好甚至是必须结合其他的软件方法,才可以达到更好的效果。
希望大家对该问题,多提宝贵意见和建议。
posted @
2007-07-18 09:44 石正 阅读(350) |
评论 (0) |
编辑 收藏
称呼窗口为“窗户”
在软件工作中,有很多名词存在同义词,增加了工作的复杂程度,造成工作效率 和 质量的下降。
今天,我真是开眼界了,HJ竟然给我说了个“窗户”。
把屏幕上的 窗口 称做 “窗户”,我还是第一次听到,第一次见到。
真诚地希望这种开眼界的事情,逐渐少遇到点,这种事情少了,行业发展了,公司发展了,自己也发展了。
所有的提高,都是一点一点积累的,积少成多吧。
posted @
2007-07-13 10:56 石正 阅读(203) |
评论 (0) |
编辑 收藏
http://blog.csdn.net/llmmysun/archive/2004/11/05/168753.aspx
数据库移动,在项目实施过程中,经常会发生,对于有经验的DBA来说,数据库移动是十分容易。但对于一些只了解系统,对数据库不是十分懂的人员来说,oracle的移动就不是那么容量了。
例
如当系统安装完成以后,存储空间扩容了,需要对原对ORACLE进行移动,需要进行数据移动。以前在ORACLE8I FOR WINDOWS
2000中是可以进行移动的。现在ORACLE9I FOR AIX 5L 的移动如何做呢???其实经对各种不同的平台,操作过程完全一样。
一、复制移动数据文件
1)、获取数据库相关信息
首先要查看一下数据库的文件内容:
sqlplus “ / as sysdba”
? select * from v$datafile;
? select * from v$controlfile
? select * from v$logfile;
2)、移动应用数据文件
shutdown immediate关闭数据库,拷贝数据文件到另外一个目录下。需要copy 的文件有:
system01.dbf
indx01.dbf
temp01.dbf
users01.dbf
应用数据文件
3)、 修改数据库文件的位置
启动MOUNT模式
? startup mount;
? alter database rename file ‘\oracle\oradata\ocp\system01.dbf' to ‘\oradata\ocp\system01.dbf”
? alter database rename file ‘\oracle\oradata\ocp\indx01.dbf' to ‘\oradata\ocp\indx01.dbf';
注意只能进行更改移动的数据库文件,不包括控制文件与日志文件,TEMP文件。
二. 移动控制文件
(1)备份SPFILE中的内容:
再重新启动数据库:
? startup;
? create pfile='c:\init.ora' from spfile;
(2)修改init.ora文件中的内容:
*.control_files='\oradata\ocp\control01.ctl','\oradata\ocp\control02.ctl','\oradata\ocp\control03.ctl'
进行更改已经复制的目录位置。
Shutdown 数据库
(3)将控制文件复制过去,
将三个控制文件移动到上面所修改的的目录下。
(4) 倒入参数文件
以init.ora参数方式启动:
? startup pfile='\oracle\init.ora';
? create spfile from pfile='\oracle\init.ora';
? shutdown immediate;
? startup; 从spfile中进行启动。
这样控制文件移动工作就结束了。
三、 重建或重定位LOG文件
解决日志文件的移动方式有两种,一种是移动(RENAME方式)另一种是重新创建。
(1)移动LOG文件
重新移动数据库文件与移动系统数据库文件是一样的方法,只是要求数据库必须是“startup mount”方式进行。
? startup mount
? alter database rename file ‘\oracle\oradata\oralog1.ora' to ‘\oradata\ocp\oralog1.dbf'
样
(2)重建LOG文件
先重建一个组GROUP ,并添加一个LOG文件作为交换文件。
ALTER DATABASE ADD LOGFILE GROUP 4 ('$HOME/ORADATA/u01/log4.rdo','$HOME/ORADATA/u02/log4.rdo') SIZE 1M;
然后再删除其它的LOG组,要求必须保持有两个LOG文件组在系统中。
Alter database drop logfile member ‘\oracle\oradata\ocp\oralog01.ora'
四、重建系统监时(temp)文件系统
在移动数据表空间时,TEMP文件是不能被移动的,这里要求可以进行重建一个TEMP表空间,并设置为系统默认的TEMP文件系统。然后再册除原来的TEMP表空间,达到移动表空间的过程。
>
create temporary tablespace “temp02” tempfile ‘\oradata\ocp\temp02.dbf'
size 500m extent management local uniform size 10m;
然后再删除原来的TEMP文件就可以了。
五、测试数据库
进行重启动ORACLE数据
$ sqlplus “/as sysdba”
? startup;
? show sga;
?
posted @
2007-07-11 17:08 石正 阅读(201) |
评论 (0) |
编辑 收藏
xp下安装SQL server 2000企业版2006年12月17日 星期日 01:20xp下安装SQL2000 server企业版
网络搜索内容:
SQL2000企业版本适用于WIN 2000系统,2003系统和XP一般装不了需要选用个人版,当然如果你在不清楚的前提下辛辛苦苦下载了企业版本却不能安装,是不是很失望呢?这里介绍一个XP下安装装SQL2000企业版本方法以供参考
办法如下:
一.在SQL服务器的安装盘中找到MSDE这个目录,并且点击setup.exe安装它,过程简单直接下一步就OK了。
二. 重启系统WINDOWSXP,这下就可以看到SQL服务的图标出现了。
三. 再拿出SQL服务器版的安装光盘,直接安装客户端工具(这个不要多说吧?最简单的方法就是直接点击光盘根目录下的autorun.exe)根据提示安装,自检过程中知道系统不是SERVER版,会提示只安装客户端工具。
四. 打开企业管理器,试用SA用户连一下看看,是不是发现SA用户登陆失败?因为你还没有与信任SQL SERVER连接相关联。还好这个只要对系统注册表稍加修改就可以啦:在运行中输入regedit打开注册表编辑器,找到[HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSSQLSERVER\MSSQLSERVER],这个项里面有一个键值LoginMode,默认下,值是1,现在将值改为2,重启电脑。
五. 再打开企业管理,再连接试试,OK了!
posted @
2007-06-22 10:36 石正 阅读(1179) |
评论 (0) |
编辑 收藏
Visual C++中的异常处理浅析
http://dev.yesky.com/115/2158115_1.shtml
posted @
2007-06-20 10:07 石正 阅读(182) |
评论 (0) |
编辑 收藏