什么是正交性



什么是正交性?
“正交性”是从几何中借来的术语。如果两条直线相交成直角,他们就是正交的。用向量术语来说,这两条直线互不依赖。沿着某一条直线移动,该直线投影到另一条直线上的位置不变。
在计算技术中,该术语用于表示某种不相依赖性或者解耦性。如果两个或者更多事物种的一个发生变化,不会影响其他事物。这些事物就是正交的。在设计良好的系统中,数据库代码与用户界面是正交的:你可以改变界面,而不影响数据库,或者更换数据库,而不用改变界面。

割接教训



刚刚做了科目整合的割接,等待五一的检验。割接中的一些问题,记录一下:

删除大表记录速度奇慢,主要是索引起了坏的作用!没仔细分析,教训!!!另外当时刚好赶上数据库做备份,i/o成了瓶颈,这是没有和各方沟通好引起的问题了。

出帐程序运行时出错,报主键冲突,而平时测试都是好的。这是另一方面要总结的问题,测试环境的一致性。平时大家的关注点往往集中在数据的正确性上了,而象主外键往往给忽略了。这不是第一次了,在割接演练中其实就发现了删除数据时引起的约束问题。

割接后发现数据还有些问题,居然是代码引起的。而原因是由于上周六的的代码修改,更正了一点,却增加了另一个bug。事实上,这也是编码紧急上线时常常引发的问题,我自己也曾犯过,测试的重要性啊。应该多考虑测试工具和测试代码的引入,有一套完整的测试案例,修改代码就能放心多了。不过感觉出帐真的好难测试,该需要多少的案例呢?困惑中…

局方的人员也给我上了一课。科目一直是一个很琐碎的东西。几千个编码之间的关系,怎么能来验证配置的正确性呢?一般认为能检查的也检查了,其他也没什么好方法了,剩下我们就只能看出帐的结果了。但阿根同志就是在这样的情况下,对科目改变的记录一条一条的检查,这份认真和韧劲,实在是让我汗颜。

另外补充两句:

方案做的再好,步骤排的再多,也都不如实际地演练一次;

实践是检验真理的唯一标准,永远别想当然。

(转)Oracle中大批量删除数据的方法



eygle提供的Oracle中大批量删除数据的方法,感觉不错,解决了我现在的实际问题。

create or replace procedure delBigTab
(
p_TableName in varchar2,
p_Condition in varchar2,
p_Count in varchar2
)
as
pragma autonomous_transaction;
n_delete number:=0;
begin
while 1=1 loop
EXECUTE IMMEDIATE
‘delete from ‘||p_TableName||’ where ‘||p_Condition||’ and rownum <= :rn’
USING p_Count;
if SQL%NOTFOUND then
exit;
else
n_delete:=n_delete + SQL%ROWCOUNT;
end if;
commit;
end loop;
commit;
DBMS_OUTPUT.PUT_LINE(‘Finished!’);
DBMS_OUTPUT.PUT_LINE(‘Totally ‘||to_char(n_delete)||’ records deleted!’);
end;

假古文



 | |定|詩|﹄|呼|隻|山|鴨|母|公|兒|寫|呵|甲|
 | |的|一|怎|嚕|有|羊|子|雞|雞|的|點|呵|骨|
 | |功|首|麼|呼|小|上|下|出|吹|兒|什|,|文|
 | |底|,|樣|嚕|豬|坡|田|門|響|歌|麼|有|?|
 | |吧|還|,|睡|不|練|練|做|起|不|吧|點|假|
 | |。|是|也|懶|鍛|長|游|早|床|錯|,|意|古|
 | | |有|算|覺|煉|跑|泳|操|號|。|我|思|文|
 | | |一|吟|。|,|,|,|,|,|﹃|女|。|?|

http://cathayan.org/jiaguwen.html

数字电视



小区数字电视整体迁移,本来其实连模拟电视都很少有机会看了,只是考虑以后若再要办需要自己去营业厅,偷个懒也好。

周六上门来安装了,效果并不见的很好,我就选了个普通的,没要互动。感觉是遥控器又多了一个,看电视更复杂了。

另外原先咨询时,听华数的工作人员介绍需要宽带,当时问了一句,“电信的是否可以?”

工作人员不太清楚,可能觉得怕不好,就又含糊其词,“大概可以的。”

结果来安装了,根本不是那么回事。必须要用网通宽带的,原来数字电视和网通是一家啊。还好当时装修时,网通的线也还保留。kingworld可就惨了,网通线也没了。想选择互动也没计划了,呵呵。

有问题啊!老百姓是很多的不知情,而政府是要实施它的政绩工程,工作人员又只管推销。记得当时咨询时还有一点就是,“家里的第二个电视怎么办?”估计这也算是无数人关心的问题,对它的解答是

“现在是要收费的,所以也不建议大家装,反正模拟也还能用”

“明年或许会有新的政策。”

我估摸我的房间是不行了,当初都没在电视边埋网线,我可不愿拉一条长长的绳子挂在房间,怕蛇。

总而言之,摸着石头过河,或者说先骗进来再说。

(转)《华尔街日报》:房产泡沫破裂只是时间早晚问题

《华尔街日报》:房产泡沫破裂只是时间早晚问题!

   国务院近日在一份转发各级政府的文件中措辞强烈地表示﹐ 房地产价格上涨已经给“金融安全和社会稳定带来隐患”。房地产价格稳定对国民经济健康发展具有重要意义。

   据《华尔街日报》了解到的情况﹐这份所标日期为3月26日的文件发到了省﹑市级政府以及政府各部委。这份文件可能是对中国各级地方政府发出的警告﹐意在提醒他们依靠发展房地产市场推动经济增长的做法存在的风险。中央政府对银行系统的风险承受能力﹑宏观经济以及政府自身对房地产市场发生危机时的控制能力似乎非常担心。分析师们说﹐房地产投机行为在中国非常普遍﹐特别是在沿海地区。据中国国际金融有限公司(China International Capital Corp.)在3月29日发表的一份报告中说﹐沿海地区房地产泡沫破裂只是时间早晚的问题。上海目前是中国房地产市场最热的地区。很多外地人被这个迅速崛起的中国商业中心所吸引﹐纷纷在此购房置业﹐因此推高了上海的房价。外国人也携重金而入﹐他们的目的则在于拥有人民币资产﹐以期一旦人民币升值时可从中获利。J.P.摩根(J.P. Morgan & Co.)本月早些时候在报告中说﹐中国住房市场投资还在继续升温。它说﹐2004年第四季度﹐北京房地产市场的交易总额较一年前增长了10%﹐而上海和广州的增幅更是分别达到22%和36%。房地产价格的急剧攀升对中国政府的执政能力直接提出了挑战﹐它一直表示要抑制经济过热﹑缩小城乡收入差距。国务院在上面提到的通知中表示﹐过热造成了原材料价格上涨﹑有可能加剧通货膨胀。但在多数地方﹐那些旨在抑制房价的措施(比如上海最新出台的房地产交易税规定)似乎并未阻挡想买房子的人们。不过国务院这份文件与以前发出的警告不同之处在于﹐这次的文件明确指出﹐如果房价失控﹐地方政府官员要承担责任。之前就有传言称﹐由于房地产市场的问题﹐上海官员的官位有可能保不住。中国建设部政策研究中心副主任王珏林说﹐从根本上来说﹐中央政府最关心的还是社会稳定。他没有看过3月26日的文件。他还说﹐上海是这次政策调控最主要的目标。上世纪九十年代中国开始实行公民自购住房﹐目的是为刺激家电﹑家具和建筑材料的消费。同时﹐拥有住房也被视为加强社会稳定的一种途径。不过眼下供不应求的局面还在继续﹐特别是在上海等城市这种现象尤为突出﹐在这种情况下﹐近来涨价的压力很大程度上也反映了部分人希望快速套利的想法。价格日益飙升反过来也让越来越多年轻人和靠固定收入生活的人对住房望而却步。

   中国的按揭市场还不成熟﹐银行方面还不知道一旦住房价格下跌﹐他们的按揭客户会如何应对房产贬值的局面﹑是否能继续按期偿还贷款。

   花旗集团(Citigroup Inc.)经济学家黄益平2月份曾在报告中估计﹐中国银行业2004年的贷款总额中接近10%是住房贷款。他认为﹐这个比例对银行系统的风险会很有限﹐相比之下﹐香港和台湾的房贷比例都在30%左右。而其它经济学家认为﹐坏帐缠身的中国银行业难以再承受更多的失误。近几周来﹐上海和其它地方的政府都出台了遏制房地产投资的新措施。3月份﹐上海制定了有关房屋交易税的新规定﹐对一年内转让的房屋按差价部分征收5.5%的交易税。上海的一些银行拒绝一年内为同一处房产提供转按揭。中国央行还要求各家银行提高购房时的首付比例。上海市政府发言人焦扬昨天说﹐上海从市长﹑市委书记到下面的各级领导都在按中央精神努力采取措施给房价降温。不过﹐据一些房地产公司表示﹐上海采取的一些措施却适得其反。比如﹐市政府去年规定了房地产开发的容积率上限﹐这实际上减少了新住房的供应量﹐支撑了房价。迄今﹐上海房地产市场的热度丝毫没有降温迹象。有一个定于本周六开盘的项目﹐虽然地处上海南面离市中心很远的地方﹐但售楼处外面早已有准备买房的人开始安营扎寨提前排队了。开发商说﹐周二就已经有30多人排队了

sed简单应用



同事把windows前台编写的代码拿到后台,结果发现文件中的行末尾多了很多^M控制符。这是因为基于 DOS/Windows 的文本文件在每一行末尾有一个 CR(回车)和 LF(换行),而 UNIX 文本只有一个换行。可以使用sed "s/[[:cntrl:]]//g"来做转换,简单写了个shell如下:

#!/bin/sh
# name: dos2unix.sh
# Creator: Bin Yang
# Created data: 2005/04/04

if [ $# -lt 1 ]
then
echo "Usage: $0 filename"
return
fi

echo "replace begin…"
while [ $# -gt 0 ]
do
filename=$1
shift

echo "dealing with $filename… "
mv $filename .$filename.bak
sed "s/[[:cntrl:]]//g" .$filename.bak > $filename
done

echo "replace end."

developerWorks上有不错的sed教程http://www-900.ibm.com/developerWorks/cn/linux/shell/sed/sed-1/index.shtml