2010-09-23

postgresql的locale

安装postgresql时,也没有找到文档在windows下到底支持哪些locale。反正安装的时候,用initdb时,自动检测的Chinese (Simplified)_Peoples Republic of China.936是不对的,使用chinese-simplified_china.936好像就可以了,用其它的地方看到的Chinese,zh_CN或Chinese,gb18030都试了一下,也是可以的。我自己使用后面这两种写法新建的数据库排序也没有什么大的问题,中文排序正常。只是英语排序,a与A在都在b与B前面。

2010-04-19

Sybase问题(转)

在使用Sybase时,如果出现The 'CREATE TABLE' command is not allowed within a multi-statement transaction in the 'tempdb' database.错误时,
可以在tempbd上选中以下两个选项。

sp_dboption tempdb, 'ddl in tran', true

sp_dboption tempdb, 'allow nulls by default', true


原贴:
http://darmee.itpub.net/post/12147/495080

2010-04-03

在JSP中使用${xxx}没有效果

在学习Struts2过程中,使用例子中的

<s:url action="hello" var="helloLink">
<s:param name="userName">Bruce Phillips</s:param>
</s:url>
<p><a href="${helloLink}">Hello Bruce Phillips</a></p>

可是在结果中,总是
<a href="view-source:http://localhost:8080/struts2/${helloLink}">${helloLink}</a>
以为是Struts2配置或其它问题,找了好久都没有找到原因,后来才搞清楚,因为我使用Maven的maven-archetype-webapp生成的web项目,这个项目生成web.xml使用的是2.3web配置,换成2.4就没有问题了。原因2.3一般是不支持EL表达式的。

2009-07-22

centos 5.3 上安装bugzilla/subversion/scmbug步骤

软件版本,Centos 5.3,bugzilla 3.0.5,subversion 1.6.3,scmbug0.26.15
安装步骤:
1,安装mysql server.修改mysql server默认编码为utf-8和默认数据文件目录./etc/my.cnf文件
datadir=/data/mysql,character-set-server=utf8.
2.安装subverion-client,server,extras三个包。
3.安装libxslt, docbook-utils,perl*,ImageMagick-perl,mod_perl,gd-devel,gdbm-devel等包
4.安装bugzilla及用cpan安装还缺少的perl modules,注意安装scmbug需要的Log::Log4perl和Mail::Sendmail两个modules
5.在mysql中建立bugs数据库,并建立bugs账号。create database bugs;grant all on bugs.* to bugs@localhost.我这里没有设置密码。
6.运行checksetup.pl检查配置,并建立初始管理员账号。
7.安装scmbug。修改/etc/scmbug/daemon.conf中bugzilla的安装目录,bug_url_prefix,和user mapping.我这里不用mapping.以后配置svn使用bugzilla中的账号。
8.运行Configure-CollabNet-Subversion初始化subversion配置。
9.在/etc/opt/CollabNet_Subversion/conf/http.conf中加入bugzilla配置。加入
Alias /bugzilla "/opt/bugzilla-3.0.5"

AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit
Order allow,deny
Allow from all

对这些配置也不清楚,反正是抄的。
10.安装mod_auth_mysql包,在httpd.conf中加入LoadModule mysql_auth_module /usr/lib64/httpd/modules/mod_auth_mysql.so.使subversion能使用bugzilla中的用户数据。
并修改collabnet_subversion_httpd.conf配置。
注释掉AuthUserFile的配置
加入
AuthBasicAuthoritative off
AuthMySQLAuthoritative on
AuthMySQLEnable on
AuthMySQLHost localhost
AuthMySQLUser bugs
#AuthMySQLPassword passwd
AuthMySQLDB bugs
AuthMySQLUserTable profiles
AuthMySQLNameField login_name
AuthMySQLPasswordField cryptpassword
AuthMySQLUserCondition "disabledtext = ''"
AuthMySQLPwEncryption crypt
#AuthMySQLGroupTable "profiles, user_group_map, groups"
#AuthMySQLGroupCondition "profiles.userid = user_group_map.user_id and user_group_map.group_id = groups.id and user_group_map.isbless = 0 and groups.isactive = 1 and disabletext = ''"
#AuthMySQLGroupField name
#AuthGroupFile //dev/null

AuthUserFile //dev/null
用户信息可以使用mysql中的数据了,现在组信息和权限信息还不能通用,所以组及权限信息还是在svn_access_file维护。
如果对viewvc也限制,也可以在viewvc_httpd.conf中一样设置,不这viewvc权限设置太麻烦了一些,暂没有找到什么好办法。

11.将mysql,collabnet_subversion_httpd和scmbug-server启动就行了。乱码问题见另一篇文章。
现在就大功告成了。就可以用scmbug_install_gule来关联svn和bugzilla了。

2009-06-04

ORA-01461: can bind a LONG value only for insert into a LONG column

在使用ojdbc5 10.2版连oracle 9.2时,出现1461错误,在网上找到一个解决方案。
设置oracle.jdbc.RetainV9LongBindBehavior=true

More discussion about this problem can be found in the following articles:

- http://vsadilovskiy.wordpress.com/2007/10/19/ora-01461-can-bind-a-long-value-only-for-insert-into-a-long-column

- Metalink Note: 3756847.8

2008-11-28

常用web表格组件

1 displaytag
2 extremeComponents
http://www.blogjava.net/lucky/category/7508.html 这里有比较多的介绍。

2008-11-07

解决 ssh 创建连接极慢的问题(转)

转自 http://www.rainux.org/2008/06/18/229

做 Web 开发的工作经常需要 ssh 或者 scp 连接一堆远程主机,同样是 Linux 主机,其中一些创建 ssh 连接速度特别慢,连接建立之后执行操作速度却很正常,看来应该不是网络原因。

Google 了一下,这位老兄也遇到类似的问题,看完他描述的问题才知道可以用 ssh -v 来查看详细的连接建立过程,马上用一台建立连接很慢的主机试了一下,在一大堆输出信息中发现在这里停留最久:

debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
No credentials cache found

debug1: Unspecified GSS failure. Minor code may provide more information
No credentials cache found

debug1: Unspecified GSS failure. Minor code may provide more information


debug1: Next authentication method: publickey

原来是因为尝试了个没有意义而且会失败的 gssapi-with-mic 认证方式浪费了时间,打开 /etc/ssh/ssh_config 把里面的 GSSAPIAuthentication yes 改成 no 关掉它,即可让 ssh 直接尝试美妙的 publickey 认证方式。

禁用 GSSAPIAuthentication 前后建立 ssh 连接时间的对比:

rainux@mutalisk:~$ time ssh root@i-will-not-tell-you.com exit

real 0m18.488s
user 0m0.004s
sys 0m0.008s
rainux@mutalisk:~$ time ssh root@i-will-not-tell-you.com exit

real 0m3.531s
user 0m0.016s
sys 0m0.000s

2008-10-16

使用scmbug将subversion、viewvc与bugzilla集成

将scmbug安装完成后,基本都集成好了。

改进:

1、在viewvc查看时,可以跳转到bugzilla中。
修 改 viewvc中viewvc.py文件,def htmlify(html):函数前加一定义,_re_rewrite_bug = re.compile('(^\s*)(bug\s+(\d+))(\s*:)'),在htmlify函数中输入处理:html = re.sub(_re_rewrite_bug, r'\1<a href="/bugzilla/show_bug.cgi?id=\3">\2</a>\4', html),这样就可以跳转了。

2、改进bugzilla中注释乱码
修改scmbug中Subversion.pm,把其中4处svnlook调用前加上 env LANG=xx_XX LC_ALL=xx_XX.XXXX 。这样就不会乱码了。
不过,使用bugzilla 3.0.5没有乱码,使用3.0.8还是有乱码。暂没有研究是什么问题。

2008-06-06

彻底修改Windows Live Messenger的字体大小

猪哥的Blog: 彻底修改Windows Live Messenger的字体大小
彻底修改Windows Live Messenger的字体大小
磨磨蹭蹭升级到了Windows Live Messenger 8.1.0178.00英文版之后,突然发现界面字体都变得很小了(原来的WLM 8.0在我的英文版XP上并没有出现传说中的小字体问题所以也没有在意)。不得不着手准备修改它的资源文件折腾小得BT的字体。

首先Google了一下,发现网上广为流传了几个所谓完美的中文字体修改方法都是很烂的垃圾。无非是修改msgsres.dll,把几个主要字体:比如联系人列表的字体、对话窗口标题栏字体什么的强制修改成9pt。这样修改的后果当然只会是只有这些字体变成了9pt,此外其他字体依然是老样子(比如主界面自己的昵称和状态什么的)。完全是治标不治本的烂方法,猪哥不屑之( ̄^ ̄)。

既然要做,就要做得彻底点。必须仔细观察一下msgsres.dll的界面XML资源里面到底是怎样引用字体的。可以注意到主要都是这样的形式:

FontSize:rcint(49615)pt;
FontSize:rcint(20102)pt;

基本上使用这两种形式的字体占据了界面Element的绝大多数。另外也有少数几个地方是使用更小的一些7pt之类字体的,但是这类字体多是用于显示很小的比如连接状态什么的,不会出现中文所以无需修改(因为我用的是英文版(^▽^))。

那么很明显了,只要找到49615和20102这两个RC String就可以一下子把所有的小字体(目测应该是8pt)改大(一般用9pt)。修改两个字串就改了一大片小字体的Element,这点修改是合算而且彻底的。MSN Messenger所有的这类String资源都存放在msgslang.8.1.0178.00.dll(注意后面的是版本号,随着版本的不同而变化)里面。

用ResHack之类的资源修改软件打开msgslang.8.1.0178.00.dll,找到那两个麻烦的字串:

* String Table 1257-1033当中20102号String
* String Table 3101-1033当中49615号String

可以看见两个String果然都是8,只要改成9就万事大吉了。刚开始我是直接在ResHack里面修改成9,然后Compile。结果MSN这厮报错说msgslang这个dll非法。看来加了校验(─.─||)。老天保佑千万别是在末尾加了CRC校验之类的,那可就没辙了。使用二进制比较工具比较了一下放心了:MSN居然是采用在空白处插入“PADDING”这个字符串的方式来进行所谓的“校验”(哇哈哈,看来MS有的时候方法也是很傻的么),而ResHack编译后自然把这些没用的PADDING扔掉了,被MSN发现了。

要绕过这个校验也很容易:俺手工修改2进制文件不用ResHack不就得了。用UE打开msgslang.8.1.0178.00.dll,修改偏移0x1798b4和0x18a4f0两个位置上的0x38为0x39(注意要是你用的MSN版本不同或者语言不同,偏移可能不一样。但是不会差太远,实际上这里就是上面20102和49615两个String的位置。只要对比着ResHack里面的内容和UE的ASCII显示部分前后找找就能很快找到的),存盘,OK。

下次启动Windows Live Messenger之后,界面字体就变成9pt了,中文都显示正常了:

主界面(注意自己的昵称、状态和联系人的中文显示):



联系人信息(同样注意昵称和状态的中文显示):



聊天窗口(注意标题和联系人状态信息的中文显示):



完美!中文不再是小小的一团变形的丑样子了。

2008-05-14

Windows环境下配置Apache 2.2.x + SSL


Windows环境下配置Apache + SSL - rockin - 博客园
本文主要内容来自 PCplayer整理的 windows安装基于Apache的SVN服务器(包括SSL配置) 他的这篇文章是我在配置Apache + ssl 的过程中找到的简明易懂最容易操作的教程. 因此摘抄一些过来, 分享给其它人. 在此感谢PCplayer的辛苦工作!
本文所述在Windows 2003, Apache 2.2.6上面顺利设置成功.

----------
前提条件
----------
在设置Apache + SSL之前, 需要做:
1. 安装Apache, 请参见: Windows环境下Apache的安装与虚拟目录的配置, 下载安装Apache时请下载带有ssl版本的Apache安装程序.

在进行下一步之前, 请确认Apache已经安装并可以正常工作. 并且ssl需要的文件在如下的位置:
[Apache安装目录]/modules/ mod_ssl.so
[Apache安装目录]/bin/ openssl.exe, libeay32.dll, ssleay32.dll
[Apache安装目录]/conf/ openssl.cnf

----------
创建SSL证书
----------
1. 打开cmd, cd到apache安装目录的bin目录
2. 运行openssl
openssl req -config ..\conf\openssl.cnf -new -out my-server.csr
(注意, my-server是自己起的名字, 以下步骤中提到my-server的也是自己起的名字) 这一步需要设置一系列的问题, 包括密码(这个密码要记住, 以后要用) 和其他的问题. 全部完成之后会生成一个my-server.csr和 privkey.pem 文件在bin文件夹中.

3. 运行
openssl rsa -in privkey.pem -out my-server.key
此时要输入密码, 就是步骤2中设定的密码

4. 运行
openssl x509 -in my-server.csr -out my-server.cert -req -signkey my-server.key -days 4000
这将创建一个4000天后才过期的证书

5. 运行
openssl x509 -in my-server.cert -out my-server.der.crt -outform DER

全部运行过后这些命令会在bin文件夹中生成6个文件:
.cnt
privkey.pem
my-server.der.crt
my-server.scr
my-server.key
my-server.cert

将这些文件移到conf/ssl目录中(如果不存在这个目录就创建一个, 这个步骤中放到其他的目录也可以 关键是记住文件的位置, 在接下来的设置中会用到)

----------
设置Apache支持SSL
----------
注意: 本设置步骤针对针对Apache 2.2.x版本, 如果正在使用的是Apache 2.0.x版本, 请摸索相似的设置.

在Apache的conf目录中用文本编辑器打开httpd.conf
1. 去掉下面设置行前面的#
LoadModule ssl_module modules/mod_ssl.so
2. 去掉下面设置行前面的# (在2.0.x版本中没有这一项)
Include conf/extra/httpd-ssl.conf

3. 在Apache的conf/extra目录中打开httpd-ssl.conf, 更改如下设置. [apache安装目录]是指Apache的安装目录, 比如c:/Apache; my-server的两个文件就是前一个步骤制作的文件, 文件的位置就是这些文件在磁盘中的位置 (在2.0.x版本中这些设置仍然在 httpd.conf文件中进行)
SSLMutex default
SSLCertificateFile "[Apache安装目录]/conf/ssl/my-server.der.crt"
SSLCertificateKeyFile "[Apache安装目录]/conf/ssl/my-server.key"

----------
测试
----------
1. 保存设置文件
2. 在开始菜单中运行Apache的Test Configuration工具, 检查设置文件是否正确
3. 重新启动Apache 2.2.x
4. 顺利启动之后, 在浏览器中输入 https://localhost 看看是否可以访问, 如果可以访问, 则设置成功!

===========
其他相关主题
===========
Windows环境下Apache的安装与虚拟目录的配置
Windows环境下配置 Subversion + Apache + SSL

2008-05-06

爆笑口误,绝对经典,小心直不起腰


爆笑口误,绝对经典,小心直不起腰 The Last Fantasy
爆笑口误,绝对经典,小心直不起腰
1、 碗掉下来,天大个疤
 
2、一次文艺晚会,主持人上台报幕:下面请欣赏:新疆歌舞,掀起你的头盖骨!毛骨悚然!!!!!
 
3、老虎不发猫,你当我是病危呀!
 
4、上高中时,课堂纪律混乱,老师 一怒之下揪起XXX,说:XXX,你给我站墙上去!~~全班暴寒!
5、一次我开车,坐我旁边的女同事突然问:“你怎么开车不系安全套的?”
 
6、我:那是我们物理老师。。。
  同学:教什么的阿?
  我:化学。。。
 
7、在网吧,一同学突然举手,大喊:“老师!”
 
8、我们宿舍一个人喝多了要去尿尿然后带出一句冷话:尿喝多了,酒就特别多.
 
9、买橘子,老板 :一块五一斤。我:太贵了,五块钱三斤吧。老板:不行不行。
 
10、朋友问我电脑配置 ,我说显示器是彩屏的。(本来是想说液晶的)
 
11、初中文艺晚会,抢答题环节。
   女主持:“大家注意了,不要抢的太快。等我说完开始在举手”
   然后开始念题目,说,“现在开。。。”
   这时候,一个选手就抢答了。
   主持人就说“这位同学太着急了一点。我‘始’(屎)还在口里,你怎么就抢了”
 
12、听过一MM在食堂喊“给我一碗viper~!”
13、上学的时候有一天一个电话 找我,同学接完递给我说:“你妈找你。”
    我一边接过电话一便随口说到:“男的女的”
   大家狂笑 我被笑了4年
 
14、同学的高中同学(一男生)走进面馆很酷把头发一甩:“老板,2两葱不要米线!”完了还加一句:“多下点米线啊!”老板:“。。。。你到底是要米线还是要葱??”
 
15、有一次寝室里同学的老妈打电话过来,我习惯说“他不在”,但是这一次我想说的的是“已经出去了”.结果说出来是:“他已经…不在了”
 
16、gg递给我一根冰糕,我咬一口大叫:“烫死我了!”
 
17、和我姐姐去李宁买鞋,我姐一开口:“小姐,这鞋多少钱一斤?”
 
18、有一次我拍我宿舍同学的肚子,她大声说:“别拍,我肚子里有小便。”
 
19、 高中时每人发个胸牌。。一次来检查前,班主任跑到教室大声喊,大家快把胸罩戴起来,来查拉。。 全场鸦雀无声。。。
 
20、上学时周末回家 ,晚饭后烟瘾犯了,打算借口去散步。在门口换鞋时,老爸问我干吗去?我随口说了句:“去散个烟!”结果老爸从我身上搜出一包555,狠狠K了我一顿。
 
21、一次教育局领导视察课间操,结束后,本应由体育老师宣布“解散”,但一时情急,忘词了,憋了半天,大喊:“撤退!”
 
22、高中有一老师姓江,酷似罗家英(演大话西游 唐僧的),我去问他问题,脱口而出:“唐老师,这题……”
 
23、有一同事,有天我开车在路上车胎没气了,问哪里有充气的,同事说:“街上到处都是打胎的啊!”
 
24、有一老师大概通宵麻将,见黑板没擦,大怒:“今天谁做庄啊?黑板都不擦!”
 
25、有一次我大叔见我小姑在搽大宝,突然大叫一声:“你皮肤这么好,还用护舒宝啊?”
 
26、老师留下作业,我不会做就抄别人的,然后去办公室交作业,看见老师说:“我抄完了!”
 
27、有一次,我们去黄山旅游,导游刚好介绍到:百步云梯是当年刘小庆的景点。突然我们团里一个男人脱口而出:“导演........“众人晕。
 
28、那次几个女同学来我家玩,我去拿水了,她们打开影碟机看片子,我在里屋听到是粤语,然后我大喊调下音道,音道错了,顿时哑口无言,我脸一虹一紫~~差点晕了过去~~

2007-06-09

Ubuntu Grub VGA 参数设置

在/boot/grub/menu.lst文件kernel后加入参数vga=XXX就行了。

depth-----640x480----800x600----1024x768-----1280x1024
8bit----------769----------771-----------773------------775
15bit--------784----------787-----------790------------793
16bit--------785----------788-----------791------------794
24bit--------786----------789-----------792------------795

如果想ubuntu在更新时保留参数,修改menu.lst文件中defoptions或altoptions,加入vga=XXX就行了,注意不要去掉前面的“#”号。再运行update-grub重启电脑后生效。