headermask image

header image

category archive listing Category Archives: 软件开发

我回来了之pachage 站点正式上线

上一篇帖子是08年光棍节写的,算一算有8个月不飚贴了。。哎,苦哇。呵呵。
这次上线的站点共有www.shiwojia.com
                                    www.seeblog.net
                                    www.bloggoo.net
                                    www.javaref.cn                                 
等待上线的有    
       www.17ti.net            把是我的家弄好了以后设计一下这个 
       www.shes.cc            近期上线
david和满召希望你们全力参与进来,这是我们自己的东西。我们无法确定未来,但我们从来不会消减火热的激情和梦想,我们有的是坚强和努力,我们需要一个我们自己的东西,有劲的东西。那么,开始吧。。
todolist:
1 shiwojia.com需要定时批量收邮件并且转发的job,::这个我们不熟悉,要研究下解决办法::1周/人
2 shiwojia.com需要论坛支持,在首页的分类块里面有一个分类是论坛,论坛贴和回复采用老式的树型结构。这个东西用act_as_threaded比较方便 2周/人
3 shiwojia.com 我想每个城市应该有一个城市宣传语:如,“承德是最好的,这里是生我养我的地方“ 这需要用户添加,以及投票的功能,用户的投票最高的宣传语会在城市分类首页显示。
4 shiwojia.com需要广告贴得全文索引支持,建议使用ferret,act_as_ferret 2周/人
5 shiwojia.com站点内需要说明性的文章,建议使用轻量cms做支持             3周/人
6 思考还要做些什么
7 原始数据&&推广
一些说明
shiwojia checkout的位置CVSROOT=:pserver:user@www.shiwojia.com:2401/var/cvs
其中user/password与linux系统登陆名称密码一致
注意事项:建议数据库的操作采用直接修改代码和修改数据库的方式,不建议使用db:migrate 重大更新注意备份。
另:david和满召把你们的博客建好,我们可以很方便的互相评论和trackback

正则表达式替换字符串StackOverflowError问题解决方法

最近写的程序代码如下,用来替换多余重复<br>
String inputStr=”<br><br>abcdef<br><br><br>hijk<br><br>”;  
String patternStr = “(<\\s*br\\s*>\\s*)+”;
                CharSequence inputStr = content;
                String replacementStr = “<br>”;
                // Compile regular expression
                Pattern pattern = Pattern.compile(patternStr);
                // Replace all occurrences of pattern in input
                Matcher matcher = pattern.matcher(inputStr);
                String output = matcher.replaceAll(replacementStr);
 程序偶然性发生堆栈溢出,日常如下:
Exception in thread “main” java.lang.StackOverflowError
 at java.util.regex.Pattern$Curly.match0(Pattern.java:3644)
 at java.util.regex.Pattern$Curly.match(Pattern.java:3628)
 at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3335)
 at java.util.regex.Pattern$Curly.match0(Pattern.java:3673)
 at java.util.regex.Pattern$Curly.match(Pattern.java:3628)
 at java.util.regex.Pattern$Slice.match(Pattern.java:3394)
 at java.util.regex.Pattern$Curly.match0(Pattern.java:3673)
 at java.util.regex.Pattern$Curly.match(Pattern.java:3628)
 at java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3335)
 at java.util.regex.Pattern$GroupHead.match(Pattern.java:4052)
原因是输入数据中重复数据过多,测试数据超过900个<br>,正则表达式嵌套处理造成数据溢出。
解决方案如下:
1 加大单线程stack size 为4096 ,即-Xss4096k
2 丢弃原始数据<br>超过3000个的数据。
后来程序运行正常

Mysql数据表修复命令

 两个办法:
1 指令: mysql> REPAIR TABLE table_name
2 mysqlcheck用于检查及修复数据库或表.
用法:
mysqlcheck [OPTIONS] database [tables]
mysqlcheck [OPTIONS] –databases DB1 [DB2 DB3…]
mysqlcheck [OPTIONS] –all-databases
常用选项:
-a 分析指定的表
-c 检查库或表
-r 修复库或表
-o 优化指定的表
-h mysql服务主机
-P 端口
-u 用户名
-p 密码
–auto-repair 当检查出表有错误就自动修复
-e,–extended 彻底检查或修复指定表,时间最长
-m,–medium-check 检查程度一般,所用时间一般
-q,–quick 最快的检查或修复表的方法,所用时间也最短
-F,–fast 只检查没有正确关闭的表
-f,–force 如果检查碰到sql错误,强制继续
如果什么选项都不给定,将会默认使用-c选项.

SMARTY和PHPLIB template

页面的显示离不开mvc。
SMARTY和PHPLIB template是不错的php template
SMARTY采用编译的办法加快执行的速度,像jsp一样,首次访问速度慢。
这篇文章做了测试SMARTY编译后速度比php template快10%
http://www.ibm.com/developerworks/cn/linux/l-smart/
SMARTY的官方网站

sqlserver的String or binary data would be truncated 异常解决办法

一般出现这个问题是因为数据库中的某个字段的长度小,而插入数据大
解决办法:alter table TABLENAME alter column COLUMNNAME  VARCHAR(65) ;