2010年三月

Eclipse下HibernateSynchronizer插件的安装与使用【转载】

安装HibernateSynchronize

从http://www.binamics.com/hibernatesynch/plugins/com.hudson.hibernatesynchronizer_2.3.1.jar上下载com.hudson.hibernatesynchronizer_2.3.1.rar,解压缩后把com.hudson.hibernatesynchronizer_2.3.1文件夹拷贝到eclipse的plugins目录下。注意文件夹下就包含plugin.xml等文件,不要下面还保留有一层文件夹。

另一种方法是通过eclipse自动安装。点击eclipse菜单栏中的“帮助”-〉“软件更新”-〉“查找并安装…”。在打开的提示框中选择“搜索要安装的新功能部件”,然后点击“下一步”,点击“新建远程站点…”。在出现的提示框中填入你自己想要显示的“名称”,如HibernateSynchronize,在“URL”栏中填入http://www.binamics.com/hibernatesync然后一直点击下一步,eclipse可以自己完成安装。

无论哪种方法,安装完后重起eclipse。

使用HibernateSynchronize

首先生成hibernate的配置文件。右击项目内的任何文件或者文件夹,点击“新建”选项中的“其他…”。在出现的提示框中与CVS,JAVA一级应该多出一个Hibernate文件夹。如果没有的话,需要返回安装步骤,查看是否有什么问题,或者再尝试安装一遍。 更多 >



linux查看文件的编码格式的方法

最简单常用的vim下:set fileencoding 即可显示当前文件的编码格式

查看文件编码
在Linux中查看文件编码可以通过以下几种方式:
1.在
Vim中 可以直接查看文件编码
:set fileencoding
即可显示文件编码格式。
如果你只是想查看其它编码格式的文件或者想解决 用Vim查看文件乱码的问题,那么你可以在
~/.vimrc 文件中添加以下内容:

set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936

这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或 者GBK编码的文件),其实就是依照fileencodings提供的编码列表尝试,如果没有找到合适 的编码,就用latin-1(ASCII)编码打开。
2. enca (如果你的系统中没有安装这个命令,可以用sudo yum install -y enca 安装 )查看文件编码
$ enca filename
filename: Universal transformation format 8 bits; UTF-8
CRLF line terminators
需要说明一点的是,enca对某些GBK编码的文件识别的不是很好,识别时会出现:
Unrecognized encoding

文件编码转换
1.在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式
:set fileencoding=utf-8

2. enconv 转换文件编码,比如要将一个GBK编码的文件转换成UTF-8编码,操作如下
enconv -L zh_CN -x UTF-8 filename

3. iconv 转换,iconv的命令格式如下:
iconv -f encoding -t encoding inputfile
比如将一个UTF-8 编码的文件转换成GBK编码
iconv -f GBK -t UTF-8 file1 -o file2

本文地址:http://www.yaronspace.cn/blog/index.php/archives/523



vim中添加块注释的方法–找的好辛苦

vim下
1.插入注释:
用v进入virtual模式
用上下键选中需要注释的行数
按Control+v进入列模式
按大些“I”进入插入模式,输入注释符“#”,然后立刻按下ESC(两下)

2.删除注释
先按Control+v进入列模式
按光标键选中需要删除的注释符
按x键删除

本文地址:http://www.yaronspace.cn/blog/index.php/archives/521



Linux下scp命令传输文件的用法

scp是有Security的文件copy,基于ssh登录。操作起来比较方便,比如要把当前一个文件copy到远程另外一台主机上,可以如下命 令。

scp /home/daisy/full.tar.gz root@172.19.2.75:/home/root

如果想反过来操作,把文件从远程主机copy到当前系统,也很简单。

scp root@172.19.2.75:/home/root /home/daisy/full.tar.gz

本文地址:http://www.yaronspace.cn/blog/index.php/archives/518



MySQL Replace INTO的使用

REPLACE的运行与INSERT很相像。只有一点除外,如果表中的一个旧记录与一个用于PRIMARY KEY或一个UNIQUE索引的新记录具有相同的值,则在新记录被插入之前,旧记录被删除。请参见13.2.4节,“INSERT语法”。

注意,除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用一个REPLACE语句没有意义。该语句会与INSERT相同,因为没有索引被用于确定是否新行复制了其它的行。

所有列的值均取自在REPLACE语句中被指定的值。所有缺失的列被设置为各自的默认值,这和INSERT一样。您不能从当前行中引用值,也不能在 新行中使用值。如果您使用一个例如“SET col_name = col_name + 1”的赋值,则对位于右侧的列名称的引用会被作为DEFAULT(col_name)处理。因此,该赋值相当于SET col_name = DEFAULT(col_name) + 1。

为了能够使用REPLACE,您必须同时拥有表的INSERT和DELETE权限。

REPLACE语句会返回一个数,来指示受影响的行的数目。该数是被删除和被插入的行数的和。如果对于一个单行REPLACE该数为1,则一行被插 入,同时没有行被删除。如果该数大于1,则在新行被插入前,有一个或多个旧行被删除。如果表包含多个唯一索引,并且新行复制了在不同的唯一索引中的不同旧 行的值,则有可能是一个单一行替换了多个旧行。

受影响的行数可以容易地确定是否REPLACE只添加了一行,或者是否REPLACE也替换了其它行:检查该数是否为1(添加)或更大(替换)。

如果您正在使用C API,则可以使用mysql_affected_rows()函数获得受影响的行数。

目前,您不能在一个子查询中,向一个表中更换,同时从同一个表中选择。

以下是所用算法的更详细的说明(该算法也用于LOAD DATA…REPLACE):

1. 尝试把新行插入到表中

2. 当因为对于主键或唯一关键字出现重复关键字错误而造成插入失败时:

a. 从表中删除含有重复关键字值的冲突行

b. 再次尝试把新行插入到表中

今天喉咙疼死我了,闪人睡觉去.

使用格式:

REPLACE [LOW_PRIORITY | DELAYED]
[INTO] tbl_name [(col_name,...)]
VALUES ({expr | DEFAULT},…),(…),…
或:

REPLACE [LOW_PRIORITY | DELAYED]
[INTO] tbl_name
SET col_name={expr | DEFAULT}, …
或:

REPLACE [LOW_PRIORITY | DELAYED]
[INTO] tbl_name [(col_name,...)]
SELECT …

本文地址:http://www.yaronspace.cn/blog/index.php/archives/515



sohu和163的开源镜像

http://mirrors.163.com/

http://mirrors.sohu.com/



周爱民老师在淘宝做的视频:“前端,架构,框架与库”



mysql导出数据库表结构命令

导出数据库命令:

mysqldump -h主机地址 -u用户名 -p密码  数据库名 >sql.txt

mysqldump  -h主机地址 -u用户名 -p密码  数据库名 -d >sql.txt   只导出sechema,不导出数据

导入数据库命令:

mysql -h主机地址 -P端口  -u用户名 -p密码   <sql.txt

本文地址:http://www.yaronspace.cn/blog/index.php/archives/508



Indexed DB:未来一切 Web 应用的基石

未来的 Web 应用是什么样子,虽然还不清晰,但浏览器厂商们认为,未来 Web 应用的基石是一种叫做 Indexed DB 的本地存储技术,这个由 Oracle 发起,最初叫 WebSimpleDB 的本地存储技术,目前只是一个原型,但已经获得微软,Mozilla,Google 等重要厂商的认可。他们还寻求将 Indexed DB 提交 W3C 成为标准。 更多 >



PHP SAPI 和web server的关系

用户请求->apache->apache通过SAPI与PHP进行连接,对请求的PHP进行处理->结果返回给用户