CentOS下安装svn服务器(subversion)

出差在外,和同事间修改代码同步不方便,就弄了个临时的svn服务器。

环境:CentOS
步骤:
1. 安装subversion

yum install subversion

查看是否成功:

svnserve --version

2. 建立svn根目录

mkdir /opt/svndata

3. 建立我的svn:

svnadmin create /opt/svndata/lazylei

会生成一系列文件。

4. 修改配置文件:

cd /opt/svndata/lazylei/conf
nano svnserve.conf

[general]之后加入:

anon-access=none
auth-access=write
password-db=passwd
authz-db=authz
realm=lazylei

帐号:

nano passwd

加入两个帐号(test1、test2):

test1=test123456
test2=test223456

权限:

nano authz

怎加分组group1,把test1和test2加入该分组,并且设置group1对目录lazylei的权限是读和写

[groups]
group1=test1,test2
[lazylei:/]
@group1=rw

5. 启动服务

svnserve -d -r /opt/svndata/

查看是否启动:

netstat -tunlp | grep svn

6. 客户端连接
svn://ip/lazylei

– over

oracle删除表字段的非空约束

查出约束名:

select constraint_name, search_condition
  from user_constraints
 where table_name = '表名(大写)'
   and constraint_type = 'C';

删除约束:

alter table 表名 drop constraint 约束名;

开始坑爹了,杭州错峰限行开始

2011年10月国庆节后,开始坑爹了,杭州错峰限行!!!
错峰限行时段为每周周一至周五的7:00-8:30,17:00-18:30。
机动车号牌(含临时号牌)末位数字分别限行日为:
星期一为1和9;
星期二为2和8;
星期三为3和7;
星期四为4和6;
星期五为5和0。
限行示意图:
杭州错峰限行示意图

惨了

杭州地铁规划图,自己mark

杭州地铁规划

python在centos下的安装

想学习下node.js,所以先环境准备。
官方网站上显示:python、libssl-dev需要安装。
首先是python,centos默认安装了python2.4,但是需要2.6以上版本。

1. 编译环境的安装

yum install gcc gcc-c++ autoconf automake

2. 下载python、解压、安装

cd /usr/local/src/
wget http://www.python.org/ftp/python/3.2.1/Python-3.2.1.tgz
tar xzf Python-3.2.1.tgz
cd Python-3.2.1
./configure --prefix=/usr/local/python
make
make install

安装结束。

3. 备份老的python,添加新的

mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/python/bin/python3.2 /usr/bin/python

查看下版本

python -V
Python 3.2.1

搞定。

这一步建议不要做,后面yum会报错。而且要命的是node.js的安装也不行。

—-
python升级后,yum脚本报错:

  File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:

解决办法是修改/usr/bin/yum,第一行#!/usr/bin/python改为#!/usr/bin/python2.4,让yum脚本使用老的python。

【转】辞职后五险一金怎么处理?

辞职后五险一金怎么处理?
—————————————
【养老保险】
一般要交满15年,到退休的时候才能终生享受养老金,所以想拿养老金的人请务必在自己退休前15年就开始交。
如果到退休年龄交养老保险不满15年,那等到你退休的时候国家会把你个人帐户上存的8%的养老金全部退给你。

那单位给你交的21%到哪里去了?
国家把单位为你交的21%的钱全部划到国家的养老统筹基金里了。
国家规定,退钱的时候只退给个人自己扣交的钱,单位为他交的钱全部都为国家做贡献。

退休时候的养老金是怎么算出来的?
养老金的算法很复杂,国家每年都会把缴费基数变一次,如果你现在30岁,你现在的缴费基数是3000元,而退休年龄如果是55岁的话,那你必须在你40岁以前就开始交养老保险了,而如果你现在从30岁就开始交,交到55岁是25年,那首先肯定你能享受养老金了。
其次,如果25年后你交的3000块的缴费基数已经变成了6000,那你55岁的时候首先每个月可以拿到6000×20%=1200块的基本养老金,这是国家给你的,此外你的个人帐户上的钱在25年里也积攒了不少,把缴费基数平均一下好了,(3000+6000)÷2=4500,那么你这25年里个人帐户上应该有4500×8%(你缴纳的养老保险的个人比例)×25年×12个月=108000元钱,除了之前的1200块以外你每个月还能拿到108000÷ 120=900块,这样你55岁开始每个月起码可以拿到1200+900=2100元的养老金。
当然每年国家的基数还在往上涨,这样每年除了你自己的900块,你退休以后每个月都会拿到比1200块更多的钱。
那你的养老金当然也会越来越多的,所以说交养老保险交得越多越好,你交得越多你退休以后享受的也越多。
而且,国家每年调整基数以后你拿的钱也会越来越多,现在交1000十年之后拿1500都是有可能的。
但是,不管你在哪里交社保费,等你退休的时候你都只能回你的户口所在地享受当地的退休待遇。
所以,在基数高的地方交社保但是退休回基数低的地方享受养老金的人那就亏大了。
为什么这么说呢?
如果你年轻的时候在南京工作,交了20年的社保然后退休了,但是如果你的户口在黑龙江,那你必须回黑龙江享受养老金。
如果你在南京交了20年的平均基数是3000,而当你退休的时候黑龙江的缴费基数才1000,那么你退休的时候只能享受1000的待遇!
这是很亏的!
一句话,如果你在富地方交社保但是退休的时候回穷地方享受社保,那你一辈子交的很多但是享受的很少!
交3000块可能只能享受1000块!
这是很恐怖的事情,但是没办法,国家就是这个政策,所以请所有目前户口在基数低的地方但是在北京或上海等基数高的地方工作交社保的注意了,你要么就在西部交社保,要么就在退休前把户口迁到北京或上海,否则你就是在做人生一笔巨亏本的买卖。

也许你会说,如果在基数低的地方交钱,退休的时候回基数高的地方享受高福利。
错!你以为劳动保障部门会随随便便就让你享受么?
一般这种情况下政府会找个理由直接拒绝你转入!
到时候你就聪明反被聪明误了:在黑龙江享受不了,在南京也享受不了!
不过有些地方对这样的情况有了一些缓和的规定,比如南京允许你在退休前5年从基数低的地方转回南京,再在南京继续交5年南京的高基数,之后允许你回南京享受养老金。
这个政策各个地方估计都不一样,有打算转的人最好现在就去你当地的劳动局把这个问题搞清楚,免得退休时候发生你意想不到的意外!

【医疗保险】
单位每月给你交的是9%,你个人每月交的大概是2%外加10块钱的大病统筹。
大病统筹只管住院,而那11%里国家每个月会往你的医保帐户上打属于你自己的2%,
如果你每个月按照1369元的最低基数交社保,那么1369×2%=27.38元。
就是国家每个月打给你个人的钱,这个钱可以积累起来直接刷卡去买药或者看门诊,剩下的9%国家就拿去算到医疗统筹基金里了。

按规定,如果你从2008年1月开始缴纳医疗保险,那么从2008年2月起你就可以刷卡买药或者看门诊,从2008年7月起你住院的费用就可以报销了。
如果你2008年8月1日住院了,住的是南京市最好的三级医院,住院期间用的都是医保范围内的药,手术+住院等费用一共花了5000元,那么报销的时候医保中心首先扣除1000块,这是起步价,剩下的4000块医保中心可以报销4000×86%=3440元,你个人只要付4000×14%=560元就可以了,加上之前的1000元起步价,你花了5000块自己只要付1560元就可以了,而且这1560元还可以从你的医保卡里扣(如果你平时不怎么用那卡), 所以实际上你住院花不了多少钱。

医疗保险对于我们年轻人来说比养老保险重要多了,毕竟看病住院实在太贵了,这也是参加社会保险的意义。
不过南京市规定医疗保险必须交满25年才能在退休以后终生享受,所以如果你55岁退休,那最迟30岁起就必须开始交医疗保险了。

【工伤保险】
工伤保险用得少,需要提醒的是你如果在工作的时候或者上下班的时候出了什么事,这个险就用得上了。
但在实践中很多人出了事不注意保存证据,导致自己无法享受工伤保险,这是很可惜的。
如果你下班的时候被车撞了,那应该赶快报警,让警察来调查记录并拍照采集证据,警察处理完以后会给你开个事故鉴定书之类的东西,你就可以拿这个去单位要求报工伤了。
如果你出了事就随便让人跑了而且还不找证人还不报警什么的,那没证据的情况下一般不会被采纳为工伤的。
工伤还有个时效问题,如果你2008年7月1日出了工伤,那你必须马上报告单位,把警察出具的证据和事故鉴定书以及你出工伤以后去看病或住院的病历交给单位,叫单位拿着这些材料去做工伤鉴定,你的单位必须在2008年8月1日之前把你的有效材料送到工伤鉴定中心,如果距离你出工伤的日子超过了一个月, 那工伤可能就鉴定不起来了。
如果你单位不去给你鉴定,那你自己可以拿着材料去鉴定中心鉴定,最好也不要超过一个月,否则会很麻烦很麻烦。

——
好多啊,原文

mybatis调用oracle存储过程一例

mybatis调用oracle存储过程一例

1.存储过程

procedure pro_test(p_message in varchar2,p_result out varchar2)

2.mapper.xml

<select id="proTest" statementType="CALLABLE">
<![CDATA[
	{call pro_test(#{message,mode=IN,jdbcType=VARCHAR},#{result,mode=OUT,jdbcType=VARCHAR})}
]]>
</select>

3.interface

interface TestMapper {
    public String proTest(Map<String, String> param);
}

4.调用

Map<String, String> param = new HashMap<String, String>();
param.put("message", "www.lazylei.com");
String ret = testMapper.proTest(param);
System.out.println("message=" + param.get("message"));
System.out.println("result=" + param.get("result"));
System.out.println("ret=" + param.get("ret"));

【转】新购VPS后的一些必要设置

转自:hostloc
自己mark下,以后免得找。

以下是在LNMP环境下设置,其他环境可能稍有不同。

1.Mysql禁用日志(可选,如果你觉得日志对你来说没有用,建议禁用)
/etc/my.cnf
把这两行注释掉
#log-bin=mysql-bin
#binlog_format=mixed

2.修改nginx的进程数量
/usr/local/nginx/conf/nginx.conf
一般不用修改,如果你的VPS给了你双核,可以修改worker_processes值为2

3.修改php-cgi的进程数量
/usr/local/php/etc/php-fpm.conf
修改12
一般256M内存,大概可以设为12个。

4.修改最大同时连接文件数
系统默认是1024,最好改大些
使用 ulimit -a 可以查看当前系统的所有限制值,使用ulimit -n 可以查看当前的最大打开文件数。
新装的linux默认只有1024,当作负载较大的服务器时,很容易遇到error: too many open files。因此,需要将其改大。
使用 ulimit -n 65535 可即时修改,但重启后就无效了。(注ulimit -SHn 65535 等效 ulimit -n 65535,-S指soft,-H指hard)
有如下三种修改方式:
1.在/etc/rc.local 中增加一行 ulimit -SHn 65535
2.在/etc/profile 中增加一行 ulimit -SHn 65535
3.在/etc/security/limits.conf最后增加如下两行记录
* soft nofile 65535
* hard nofile 65535
具体使用哪种,试试哪种有效吧,我在 CentOS中使用第1种方式无效果,使用第3种方式有效果,而在Debian中使用第2种有效果

5.更改ssh端口
/etc/ssh/sshd
默认为22 建议修改
建议先增加一个端口号,待确认可以连接后,再删除22端口

6.修改ROOT密码
用ROOT账号登录SSH后,输入passwd
然后再输入二次新密码
建议设为9位数以上,英文数字字符组合

proxool和org.logicalcobwebs.cglib.core.KeyFactory错误

最近想整理下多个项目,多个项目使用tomcat的共享库(jar)。
整理的时候,一个工程使用共享库,一个使用私有库,启动报错:
java.lang.ClassCastException:
org.logicalcobwebs.cglib.proxy.Enhancer$EnhancerKey$$KeyFactoryByCGLIB$$56f571c0 cannot be cast to org.logicalcobwebs.cglib.core.KeyFactory

查了下,是因为连接池proxool(proxool-0.9.1.jar、proxool-cglib.jar)不能在共享和私有中同时出现。去掉私有的就ok。

用nginx做文件服务器,列出文件和目录

用nginx做文件服务器,列出文件和目录的方法:
修改nginx.conf文件,在http段或者location段中加入:

autoindex on;
autoindex_exact_size off;
autoindex_localtime on;

注释:
1. autoindex on 表示开启索引功能。
2. autoindex_exact_size off 表示关闭计算文件确切大小(单位bytes),只显示大概大小(单位kb、mb、gb)。
3. autoindex_localtime on 表示显示本机时间,off 表示显示GMT时间。