ann
冰是没有未来的,因为它的永恒
posts - 107,comments - 34,trackbacks - 0
     摘要: 1. 安装vnc
rpm -ivh vnc-server-4.1.2-14.el5_3.1.i386.rpm
rpm -ivh vnc-4.1.2-14.el5_3.1.i386.rpm


3. 设置vnc server的访问密码
[ann@ecdev1 ~]# vncpasswd

3. 执行vncserver,第一次执行后会生产一些配置文件

4. 修改/home/ann/.vnc/xstart(如果无此文件,就运行vncserver)
#!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xsta  阅读全文
posted @ 2010-05-19 09:49 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: I tried the Build and Deployment tool in Commerce version 7. I followed the tutorial for the same found here:
http://publib.boulder.ibm.com/infocenter/wchelp/v7r0m0/topic/com.ibm.commerce.developer.doc/concepts/cdewcbdbuild.htm

When I start the build process it extracts the projects from the CVS successfully, but while buildingarchiving the ejb jar the build fails with the following error:
java.io.IOException: Cannot run program "D:\Programs\RAD75\SDP\runtimes\base_v7\java\jre\b  阅读全文
posted @ 2010-05-17 10:56 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要:

SQL like子句的另一种实现方法,速度比like快


一般来说使用模糊查询,大家都会想到LIKE
select * from table where a like '%字符%'

如果一个SQL语句中用多个 like模糊查询,并且记录条数很大,那速度一定会很慢。
下面两种方法也可实现模糊查询:
select * from table where patindex('%字符%',a)>0
select * from table where charindex('字符',a)>0
经测试这两种方法比LIKE速度要快。

  阅读全文
posted @ 2010-05-04 12:58 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: #!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
#################################
# application: test
# DFILE : pid file
# GDIR : application webapp
# LOGDIR : logs dir
######################
NAME=et-play
TestDIR="/data/webapps/play/test"
GDIR="${TestDIR}/test"
PIDFILE="${TestDIR}/${NAME}.pid"
LOGDIR="${GDIR}/logs"
APP_USER=test
# Timeout in seconds for the shutdown of webapps
APP_SHUTDOWN=30 <  阅读全文
posted @ 2010-03-19 13:22 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: 1.备份表中的数据


D:\Program Files\PostgreSQL-8.3.7\bin\pg_dump.exe -h *.*.*.* -p 5432 -U username -F c -v -f "D:\Program Files\PostgreSQL-8.3.7\bin\sss.backup" -t "\"public\".\"tablename\"" databasename

2. 创建表

CREATE TABLE tablename
(
id bigint,
createtime timestamp without time zone,
modifyname character varying(255),
modify_date timestamp without time zone,
modify_detail character varying(100000),
"name" character varying(255  阅读全文
posted @ 2010-03-11 10:02 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: 一.linux 监控数据库活动
$ ps auxww | grep ^postgres

postgres 3424 0.0 1.2 42708 26588 ? Ss Jan29 0:00 postgres: writer process
postgres 3425 0.0 0.0 42576 1284 ? Ss Jan29 0:00 postgres: wal writer process
postgres 3426 0.0 0.0 43364 1972 ? Ss J  阅读全文
posted @ 2010-02-09 15:30 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: 1、对于第一种重复,比较容易解决,使用

select distinct * from tableName

  就可以得到无重复记录的结果集。

   如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除

select distinct * into #Tmp from tableName
drop table tableName
select * into tableName from #Tmp
drop table #Tmp


  阅读全文
posted @ 2010-02-08 16:22 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: Well, there's second places I set the proxy on a new Linux install.
1) in /etc/profile:
code:


export http_proxy="http://user:pass@xxx.xxx.xxx.xxx:port/"
export ftp_proxy="http://user:pass@xxx.xxx.xxx.xxx:port/"

2) in /etc/apt/apt.conf
code:

Acquire::http::Proxy "http://user:pass@xxx.xxx.xxx.xxx:port/";
Acquire::ftp::Proxy "http://user:pass@xxx.xxx.xxx.xxx:port/";


  阅读全文
posted @ 2010-02-02 15:16 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: Add the following line to either /etc/apt/apt.conf or /etc/apt/apt.conf.d/70debconf
code:

APT::Cache-Limit 50000000;
  阅读全文
posted @ 2010-02-02 15:13 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要:
1. 用命令行创建新的project
#>: play new test

输入 test(会有What is the application name?提示)
注:一定要输入test 否则在导入到eclipse中就要手动改配置文件

2. 导入eclipse
>play eclipsify test
打开eclipse 在import 就ok了.

如果在创建project时候未输入test。
就要手动修改test.launch文件,也就是查找,得出 E:"project"eclipse"play1 ,然后把文件中所有的E:"project"eclipse"play1替换为test
修改前:

posted @ 2010-02-01 13:38 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要:
intellj 编码设置 ,project编码设置 这两个编码必须统一。
例如: intellj设置的是系统默认的编码gbk,而project是utf8。

  阅读全文
posted @ 2010-01-15 18:04 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: 按照我写的目录结构来放置。
下载地址:
http://www.apache.org/dist/tomcat/tomcat-6/v6.0.18/bin/extras/tomcat-juli.jar
http://www.apache.org/dist/tomcat/tomcat-6/v6.0.18/bin/extras/tomcat-juli-adapters.jar

tomcat6-------lib
| |--------tomcat-juli-adapters.jar
| |--------log4j.jar
| |--------log4j.properites
|
|----bin
|--------tomcat-juli.jar
阅读全文
posted @ 2010-01-14 18:10 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: Bulk close all in lucene2.9.1 issues.   阅读全文
posted @ 2010-01-14 16:06 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: 找到启动用户目录
比如是/home/hudson/下面
.hudson/nodeMonitors.xml 加入


false


false



  阅读全文
posted @ 2010-01-12 13:22 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要:

Jetty's default configuration has a limitation on POST data (200000 bytes)that
prevents Hudson from reading the Update Center data (available
plugins). Jetty gets an error like java.lang.IllegalStateException: Form too large. To resolve this, add something like this to jetty.xml:

Jetty 6:

在jetty.xml中设置该参数



org.mortbay.jetty.Request.maxFormContentSize

-1阅读全文
posted @ 2010-01-12 11:09 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: 地址:http://code.google.com/apis/chart/  阅读全文
posted @ 2010-01-12 10:33 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: server:

package com.test.web.resources;

import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;

import org.springframework.stereotype.Component;


/**
* 测试
* @author ann
*
*/
@Path("/test")
@Component
public class Test {

@POST
@Path("/formTest")
  阅读全文
posted @ 2010-01-11 17:02 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: 同步的集合类Hashtable和Vector,以及同步的包装器类Collections.synchronizedMap和Collections.synchronizedList,为Map和List提供了基本的有条件的线程安全的实现。然而,某些因素使得它们并不适用于具有高度并发性的应用程序中――它们的集合范围的单锁特性对于可伸缩性来说是一个障碍,而且,很多时候还必须在一段较长的时间内锁定一个集合,以防止出现ConcurrentModificationExceptions异常。

ConcurrentHashMap和CopyOnWriteArrayList实现提供了更高的并发性,同时还保住了线程安全性,只不过在对其调用者的承诺上打了点折扣。ConcurrentHashMap和CopyOnWriteArrayList并不是在您使用HashMap或ArrayList的任何地方都一定有用,但是它们是设计用来优化某些特定的公用解决方案的。许多并发应用程序将从对它们的使用中获得好处。

总结:在多线程并发情况下,为了避免ConcurrentModificati  阅读全文
posted @ 2010-01-07 18:04 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要:

数据库服务器,应对是高并发的访问,每天都有大量的读写删除操作。因此,时间一长服务器的内存就耗尽,数据库的占的空间也很大。为了应对这个情况,我制定两个常用的维护操作。

一、注重日常清理(VACUUM;)。因为有大量的更新(update)"删除(delete)操作,会有大量的空间需要释放。

每日执行一次VACUUM,每周访问量低的时候执行VACUUM FULL;

语法结构;

VACUUM [ FULL | FREEZE ] [ VERBOSE ] [ table ]
VACUUM [ FULL | FREEZE ] [ VERBOSE ] ANALYZE [ table [ (column [, ...] ) ] ]

FULL ------选择"完全"清理,这样可以恢复更多的空间, 但是花的时间更多并且在表上施加了排它锁。
FREEZE ---------选择激进的元组"冻结"。
VERBOSE --------- 为每个表打印一份详细的清理工作报告。 <  阅读全文
posted @ 2010-01-07 15:55 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: grails 升级到1.2.0 版本之后需要注意的

1.默认的webserver是tomcat.
如果想切换为jetty。grails uninstall-plugin tomcat
grails install-plugin jetty

2. 有了很多标准的规范,比如 :
1). 必须放入
标签之内。
2).urlmap中 "/test_$guid?"(controller:"test",action:"list")
"/" (controller:"index",action:"list")
  阅读全文
posted @ 2010-01-05 16:55 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: CREATE INDEX 在指定的表上构造一个名为 index_name 的索引。索引主要用来提高数据库性能。但是如果不恰当的使用将导致性能的下降。

PostgreSQL 为从索引提供 B-tree,R-tree,hash(散列) 和 GiST 索引方法。 B-tree 索引方法是一个 Lehman-Yao 高并发 B-trees 的实 现。R-tree 索引方法用 Guttman 的二次分裂算法实现了标准的 R-trees。 hash(散列)索引方法是 Litwin 的线性散列的一个实现。 用户也可以定义它们自己的索引方法,但这个工作相当复杂。
如果出现了 WHERE 子句,则创建一个部分索引。 部分索引是一个只包含表的一部分记录的索引,通常是该表中比其它部分数据更有用的部分。

在 WHERE 子句里用的表达式只能引用下层表的字段,但是它可以使用所有字段,而不仅仅是被索引的字段。 目前,子查询和聚集表达式也不能出现在WHERE里。

索引定义里的所有函数和操作符都必须是immutable,(不  阅读全文
posted @ 2009-12-22 10:00 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: java -cp "./WEB-INF/lib/*:./WEB-INF/classes" bran.RestaurantCenterJettyStarter  阅读全文
posted @ 2009-12-22 09:47 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: 一个登录用户在页面访问的时候如何充分利用 cache?

页面静态化的一个大问题是登录用户访问页面如何静态化。 例如首页, 大部分的页面内容需要缓存但是用户登录后的个人信息是动态信息, 不能缓存。 那么如何解决这个"页面部分缓存"问题?

现有的方案是利用 SSI - Server Side include.

Nginx SSI 实现是 http://wiki.nginx.org/NginxHttpSsiModule

这里最关键的就是静态文件可以包含一个动态的网页的 URL.

这里有一篇文章对这个问题进行了深入的讨论:

http://jimmyg.org/blog/2009/ssi-memcached-nginx.html

文章用了 memcache. 我关心的是 SSI 和 Nginx 自身的 cache 的协同工作。


模块分析:

1. http://hi.baidu.com/langwan/blog/item/  阅读全文
posted @ 2009-12-22 09:35 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: 一 . Adding Brokers to a Conventional Cluster

1. To Add a New Broker to a Conventional Cluster Using a Cluster Configuration File
1).Add the new broker to the imq.cluster.brokerlist property in the cluster configuration file.
2).Issue the following command to any broker in the cluster: imqcmd reload cls
3).(Optional) Set the value of the imq.cluster.url property in the new broker’s instance configuration file (config.properties) to point to the clu  阅读全文
posted @ 2009-12-22 09:32 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: http://svn.codehaus.org/grails-plugins/grails-quartz/tags/RELEASE_0_4_1/  阅读全文
posted @ 2009-12-11 15:56 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: http://lucene.apache.org/solr/tutorial.html  阅读全文
posted @ 2009-12-11 12:43 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: user-agent 收集:http://www.developershome.com/wap/detection/detection.asp?page=userAgentHeader

http://search.cpan.org/~cmanley/Mobile-UserAgent-1.05/lib/Mobile/UserAgent.pm

http://www.zytrax.com/tech/web/mobile_ids.html

http://en.wikipedia.org/wiki/List_of_user_agents_for_mobile_phones

nginx

location = / {

root /var/www/path;
if ($http_user_agent ~* "Nokia") { rewrite . /index.html break; }

if ($http_user_agent ~* "Mobile") { r  阅读全文
posted @ 2009-12-08 09:22 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: 原理简介

安装运行

特殊介绍

1.iptables的3个表:

filter: 顾名思义,用于过滤的时候

nat: 顾名思义,用于做NAT 的时候

manager:见下

2.iptables的5条链

INPUT: 匹配目的IP 是本机的数据包

OUPUT: 匹配源IP是本机的数据包

FORWARD: 匹配穿过本机的数据包

PREROUTING: 用于修改目的地址(DNAT)

POSTROUTING:用于修改源地址(SNAT)

3.manager简介

这个表主要用来mangle数据包。我们可以改变不同的包及包头的内容,比如 TTL,TOS或MARK。 注意MARK并没有真正地改动数据包,
它只是在内核空间为包设了一个标记。防火墙内的其他的规则或程序(如tc)可以使用这种标记对包进行过滤或高级路由。这个表有五  阅读全文
posted @ 2009-12-04 13:42 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: 1. 限制 client 每秒访问次数
限制連 80 port 的次數 = 60 秒 2次 , 超過就 drop
iptables -I INPUT -p tcp –dport 80 -i eth0 -m state –state NEW -m recent –set
iptables -I INPUT -p tcp –dport 80 -i eth0 -m state –state NEW -m recent –update –seconds 60 –hitcount 2 -j DROP

2. 控制client访问特定的port
只允许114.80.192.18 和 127.0.0.1 访问8080-8099的端口
iptables -A INPUT -p tcp -s 114.80.192.18 --dport 8080:8099 -j ACCEPT
iptables -A INPUT -p tcp -s ! 127.0.0.1 --dport 808  阅读全文
posted @ 2009-12-04 11:52 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: nginx 聊天室模块  阅读全文
posted @ 2009-11-20 11:29 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: nginx 重启之后 用purge 会出现以上错误
nginx log :
2009/11/17 15:03:52 [crit] 1553#0: *1 cache file "/data/nginx_cache/etwebservice/a/2b/b3a2527b6f3a38d63663ee436e7d82ba" is too small, client: 222.66.142.229, server: localhost, request: "HEAD /purge/RestTakeoutServer/dish/B10I24R57547/list?commentCount=5 HTTP/1.1", host: "222.66.142.229"

客户端请求出错

HTTP/1.1 500 Internal Server Error
Server: nginx/0.8.24
Date: Tue, 17 Nov 2009 07:03:52 GMT
Content-Type: text/html
Content  阅读全文
posted @ 2009-11-17 17:59 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: nginx0.8.26 加入 purge_cache module  阅读全文
posted @ 2009-11-17 17:45 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: 下一站,考虑中......  阅读全文
posted @ 2009-11-06 14:31 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: 1. 安装openvpn
2. CA证书  阅读全文
posted @ 2009-11-05 15:49 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要:
1.创建repo sudo -u subversion svnadmin create TestRepo

2.备份svn version
sudo -u subversion svnadmin dump TestRepo> /data/downloads/TestRepo-file

3.恢复
sudo -u subversion svnadmin load --force-uuid TestRepo1/ < /data/downloads/TestRepo-file

4.客户端转换Repository
例如:
从 svn://etch1/TestRepo/TakeoutServer 到 svn://etch1/TestRepo1/TakeoutServer
svn switch --force --relocate svn://etch1/TestRepo/TakeoutServer svn://etch1/TestRepo1/TakeoutS  阅读全文
posted @ 2009-11-05 15:41 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: 目前大多数使用gson的还要求在java类中使用java annotation,不完全支持POJO。
Gson这个Java类库可以把Java对象转换成JSON,也可以把JSON字符串转换成一个相等的Java对象。Gson支持任意复杂Java对象包括没有源代码的对象。

下载地址
http://code.google.com/p/google-gson/downloads/list  阅读全文
posted @ 2009-11-05 15:31 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: 1. 下载最新的nucleus
http://nucleuscms.org/download.php



2. 解压
unzip *.zip
移动到:/data/blog/nucleus

3. 创建数据库
mysql -u root -p
提示输入密码
create database nucleus_db;
创建数据库用户
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON nucleus_db.* TO 'username'@'localhost' IDENTIFIED BY 'password';




4. 配置nginx
server {
listen 80;
server_name www.myblog.com;
access_log /var/log/ngi  阅读全文
posted @ 2009-10-30 13:13 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: 1. 下载最新的drupal
wget http://drupal.org/files/projects/drupal-x.x.tar.gz



2. 解压
tar -zxvf drupal-x.x.tar.gz
移动到:/data/blog/drupal

3. 创建数据库
mysql -u root -p
提示输入密码
create database drupal_db;
创建数据库用户
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON drupal_db.* TO 'username'@'localhost' IDENTIFIED BY 'password';

4. 创建文件
cp sites/default/default.settings.php sites/default/settings.php
chmod o+w s  阅读全文
posted @ 2009-10-30 12:02 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: 1. 下载最新的wordpress-mu
wget http://mu.wordpress.org/latest.tar.gz

2. 解压
tar -xzvf latest.tar.gz
移动到:/data/wpmu

3. 创建数据库
mysql -u root -p
提示输入密码
create database wordpress_mu_db;
创建数据库用户
GRANT ALL ON wordpress_mu_db.* TO user@localhost identified by "password";



4. 配置nginx
server {
listen 80;
server_name www.myblog.com;
access_log /var/log/nginx/myblog.com-access.log;

location / {
  阅读全文
posted @ 2009-10-30 11:55 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: 1. 下载最新的wordpress
wget http://wordpress.org/latest.tar.gz

2. 解压
tar -xzvf latest.tar.gz
移动到:/data/wordpress

3. 创建数据库
mysql -u root -p
提示输入密码
create database wordpress_db;
创建数据库用户
GRANT ALL ON wordpress_db.* TO user@localhost identified by "password";

4. 修改配置文件
cd /opt/webapps/www/wp/wp
mv wp-config-sample.php wp-config.php.

5. 配置nginx
server {
listen 80;
server_name www.myblog.com;
access_l  阅读全文
posted @ 2009-10-30 11:49 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: 这个错误信息通常在你更新工作拷贝时出现,可能的原因有两个:

* 版本库中有两个文件的名字只是大小写不同,这在Windows下是不允许签出的,因为Windows的文件系统是大小写不敏感的。很可能其中一个文件是误添加的,所以你要找出是哪一个,然后删除它,以确保不会把更改提交到错误的文件。
* 某个文件的文件名是非法的(对Windows来说非法),比如,"con", "lpr", "com"都是非法的,因为这些都是设备名。当然,含有"/\*?:|"和其它特殊字符在Windows(NTFS 和 FAT)也是不允许的。

是,我们知道这个错误信息对解决问题没什么实质性的帮助,但这个错误信息是来自Subversion库的,我们改不了。

有几个办法可以避免这个问题:

Subversion 是针对大小写敏感的文件系统(比如 Linux )设计的,这在大小写不敏感的Windows下有时就会有问题。一个典型的例子是,重命名文件时,如果文件名仅有大小写不一样,如Makefile改成 MAKEFILE。在工作拷贝中要  阅读全文
posted @ 2009-10-22 12:11 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: 在测试发现 当数组返回json格式的String的时候,如果数组中只有一个,则返回的json格式不是数组形式,而是单一对象格式。  阅读全文
posted @ 2009-10-15 09:28 冰是没有未来的,因为它的永恒| 编辑 收藏
     摘要: 这里面用的是jersey

1. 创建一个project

2. 建立返回的model

这里面的model例子

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package com.test.webservice.model;

/**
*
* @author ann
*/
import com.fg114.model.People;
import java.util.Date;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax  阅读全文
posted @ 2009-09-27 15:19 冰是没有未来的,因为它的永恒| 编辑 收藏

当下,把心放下 放下如果是可能的,那一定是在当下,
不在过去,也不在未来。
当下放下。唯有活在当下,你的问题才能放下。