hubdog 的blog

从数据库设计的角度如何扩展一个既存数据库应用,同时尽可能小的减少变更及测试工作量

很多时候,当我们要对既存系统进行改造的时候,会遇到改造和测试工作量的评估问题,特别是测试工作量。对于一个规模比较大的,10万行以上的已经上线运行很长时间的系统,如何能够保证改造对既有功能尽可能小的影响,不会产生regression bug,是一个非常严峻的问题。

比如既有的一个表,有三个字段,主键nid,字段A,B,现在我们想多储存一些信息,需要增加对C,D信息的保存时,一种策略是直接在原表基础上追加字段,但是这会造成表的索引,查询计划优化等等一系列信息的变更,对已有的SQL查询造成很大的影响,导致我们的测试工作量极大的增加。还有一种做法就是,追加一个新表,该表的主键nid,和原表是一致的,同时追加C,D字段。当需要对新表做变更的时候,追加对新表的增删改,但是原有的表的SQL处理可以尽可能的减少,这样做的好处是灵活,对既有系统的侵入性小,可以减少我们的测试工作量。

导数据到Drupal

这两天导入数据到Drupal,发现Node Import真是太好用了,配合Taxnomy Manager, 级连Select模块,导入CSV文件真是太爽了。绝对是5星级质量的模块

将多个文本文件合并成一个文件

copy /b *.txt newfile.txt

如何导入级联的Taxnomy CCK字段

首先,Taxnomy CCK字段必须使用级联Select Widget,然后选中HS的Save All Term Linage,同时Taxnomy的选项也需要是Save All Term Lineage才行。

HttpWebRequest这个类有一个重大的缺陷

这个类不支持Sockets5代理,tnnd。
这个地址下面有一个实现了Sockets5代理的WebRequest类
http://ditrans.blogspot.jp/2009/03/making-witty-work-with-socks-proxy.html

科学松鼠会

科学松鼠会是一个不错的科普网站。
Wiki其实也不错。

Delphi的未来很暗淡

Interbase的首席开发者离开了Interbase Team,现在Interbase 只有一个开发人员了,太搞笑了。
Mark Edington 离开了Delphi Team,C++Builder 64Bit 编译器又晚了一个月,而且据说质量很糟糕。
Appwave这个脑残的产品,好像开除了很多人,4年只卖出了不到10万美元。

Drupal Service 3.x真是像臭狗屎

比2.x难用多了,不能通过网页直接测试,接口更改后,需要重新Edit Resource 来重新注册。

大量魔术编码的接口名称。我服了

编写DirectShow Filter的一些问题

在Win7下面调试DirectShow Filter,要注意需要用管理员身份注册ActiveX

 

让一个WinForm程序跑在浏览器的最简单办法

就是用WPF做容器,将WinForm程序嵌入进去。这样改动最小,参见

http://www.codeproject.com/Articles/31429/Embedding-a-NET-WinForms-Appli...

 

System.Security.Permissions.UIPermission这个错误出现的解决方案是

IE安全性设置问题。解决方案:IE->属性->安全性->自定义级别->.NET Framework->将XAML浏览器应用程序、XPS文档、松散XAML三项设为启用即可。

同时将工程的Security的ClickOnce属性设为Full Trust Application.

同步内容