2014年6月4日星期三

linux安装apache tomcat jk集群


1下载
apache-tomcat-6.0.41.zip
httpd-2.4.9.tar.gz
tomcat-connectors-1.2.40-src.tar.gz

apr-1.5.1.tar.gz http://apr.apache.org/download.cgi
apr-util-1.5.3.tar.gz http://apr.apache.org/download.cgi
pcre-8.33.tar.gz ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
2安装apache
httpd-2.4.9.tar.gz解压到/usr/local/bin/httpd-2.4.9
tar -zxvf httpd-2.4.9.tar.gz
apr-1.5.1.tar.gz解压到/usr/local/bin/httpd-2.4.9/srclib/apr
apr-util-1.5.3.tar.gz解压到/usr/local/bin/httpd-2.4.9/srclib/apr-util
unpack them to ./srclib/apr and ./srclib/apr-util (no version numbers in the directory names)
pcre-8.33.tar.gz解压到/usr/local/bin/pcre-8.33
cd /usr/local/bin/httpd-2.4.9/srclib/apr
./configure --prefix=/usr/local/apr
make
make install
cd /usr/local/bin/httpd-2.4.9/srclib/apr-util
./configure --prefix=/usr/local/apr-util
make
make install
cd /usr/local/bin/pcre-8.33
./configure --prefix=/usr/local/pcre
make
make install
cd /usr/local/bin/httpd-2.4.9
./configure --prefix=/usr/local/apache2 \
--enable-mods-shared=all \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util/bin \
--with-pcre=/usr/local/pcre
make
make install

cd /usr/local/apache2/bin
apachectl start
访问http://localhost


3

http://www.cnblogs.com/kongzhongqijing/p/3613218.html

2014年5月29日星期四

cas client 单点登录实现登录成功后跳转到登录前请求的页面

最近重构考务通,有一个新需求,考生点击制定的考试链接,或者输入考试链接报名,这时需登录,登陆后要回到之前请求的考试链接,而不是回到报名系统统一的主界面
查看shiro源码发现系统在启动时会加载loginUrl
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
        <property name="securityManager" ref="securityManager"/>
        <property name="loginUrl" value="${loginUrl}" />
。。。。。
loginUrl是配置在properties中的
loginUrl=http://127.0.0.1:8880/uamssocloud/login?service=http://127.0.0.1:8881/kwtong/login

由于在shiro配置文件中有
/** = user

shiro的UserFilter会过滤请求判断是否有Session用户,若没有则重定向到loginUrl,去单点系统登录,而单点登录成功后会重定向回service参数制定的地址

这时LoginController登录成功后,会统一return "redirect:/main"

解决方案
继承UserFilter,重写redirectToLogin方法,将service参数改写,使之变成这样子
http://127.0.0.1:8880/uamssocloud/login?service=http://127.0.0.1:8881/kwtong/login?url=/kcinfo/kclist/081/201304

将shiro配置文件/** = user 改成/** = myUserFilter

再修改LoginController,当存在url参数时,重定向到url制定的地址

大功告成


2013年工作总结

2013年工作总结
忙碌的13年已经过去,这几天看到好多人的签名都在总结13展望14,发现我也从年轻小伙变成了大叔。
个人工作回顾
这一年的主要工作有
1、完善考务系统前后台
上半年经历了两个主要考务开发人员离职的工作交接工作,现在前台报名主要有王兆峰负责开发,后台系统有张威、张亚杰负责开发,共经历了930前的五次迭代和之后的三次迭代。
前台主要涉及身份确认、单点登录登出、证书补办、支付宝支付、子集信息采集、博飞接口改造、二建逻辑改造等。
后台主要涉及上半年三家银行对账到现在的支付宝对账、短信发送、考试规则引用、子集信息维护、博飞接口改造、撤销禁考等等。也一起经历了数据安全风波。
总的来说,我们的考务系统从每天的心惊肉跳变成了比较稳定,从工作流程上也更加规范,我们有了考试先上线流程规范,有了系统更新流程规范,数据库脚本更新流程规范,更好的应用了maven管理方法,以及hadson代码检查。
2、platform公共服务平台完善
platform也涉及到单点登录退出问题,以及邮箱验证开关,登录信息后台验证等。
3、单点登录系统完善
实现了service注册和管理(未上线),借助redis实现了单点登录退出
4、北京公务员系统
在去年北京公务员基础上,重构了报名系统代码和扩充了后台管理功能点,第一个吃了支付宝支付的螃蟹,顺利保障了北京公务员系统报名。
5、中央公务员系统
新开发了中央公务员前后台系统,实现了大数据量导入access数据功能,节约了导入时间和数据验证时间。
6、支付宝缴费及对账
以支付宝支付替换了去年的三家银行支付,考虑到加新不改旧,可以动态切换新老支付,可向其他系统移植。
7、博飞webservice接口改造
重构原有代码耦合太紧,分散调用,一旦有修改涉及面太广,回收调用博飞接口逻辑到一处。
8、委托考试系统
复制了考务系统前后台以及数据库,以适应委托考试
9、人保局老系统维护
涉及引进人才系统、工作居住证系统、事业单位工资系统、专项计划系统的升级改造。
10、协助职称、鉴定系统等解决问题
11、招聘开发人员


存在问题、意见和建议
1、提议考务前台做一次代码重构,使各个步骤更加严谨更有效率。
2、探索实现报名信息后台二次验证
3、探索单点登录系统重复登录问题
4、考务系统有一些修改未同步修改委托系统,是一个隐患
5、我们要有技术储备,有备无患,建议建立奖励制度,鼓励技术人员学习创新
6、独立一拨人开始探索产品化,磨刀不误砍柴工,没刀砍不出好柴
7、如何才能保障上线质量,怎样避免内部测试没问题,上线就出问题,严谨再严谨,周全再周全
8、继续完善工作流程,坚决坚持执行,请项目组长一定执行各项操作流程,不如上线一定要做release,否则以后我们就越来越没信心做全量更新
9、给员工以关怀,关心他们的生活,特别是刚参加工作不久的新人,我觉得现在的新人比几年前更艰难,今年一年单北京的房租就涨了20%,首信的新人工资还是3-4,怎么才能招上人来,怎么才能过了年不跑,留住人。
这也是相辅相成的事,如果我们的人也像外包那帮人似的,开发中给你糊弄上,也不管代码可读性、执行效率、可扩展性,玩事儿走人留下个摊子,那是多么可怕的事。
10、希望我们的团队别都被培养成工作狂。工作为了生活,我们有时候为了工作忘了家,忘了生活;同事之间的交流除了工作还是工作,我们需要改变。
11、领导,别让我整三千字了,再扯我就更跑题了。

简历

刘朝春(男 31岁)
计算机软件 | 软件工程师 | 8| 本科 | 北京
个人信息
手  机:13426476178
电子邮箱:liuspring315@gmail.com
出生日期:1983315
求职状态:如果有更好的机会,我愿意考虑
民  族:汉族
教育背景
河北科技大学
20029- 20066月 信息管理与信息系统 本科 | 石家庄
专业类别:电子信息科学类
求职意向
期望工作性质:全职
期望从事工作职业:软件工程师
期望从事工作城市:北京
期望薪水:税后月薪RMB20000
到岗时间:1个月内

自我评价:
8年工作经验,有政府项目设计开发实战经验,热衷于技术,负责框架搭建,技术难点攻关,带队开发。
工作经验
首都信息发展股份有限公司
所属行业:计算机软件 | 公司性质: | 公司规模:
20073- 至今
工作地点:北京 | 工作性质:全职 | 所在部门| 汇报人: | | 月薪:15000RMB
职位类别:软件工程师
主要负责公司承接各个政府部门的管理系统的需求确认、设计与开发
1、 在首信2007-032012-07期间,参加了如下项目的开发工作:北京市人事局公务员综合信息系统、北京市人事局引进人才综合评价系统、北京市财政局网上审批及监察数据自动上报平台、北京市人事局工作居住系统、北京市人事局人才引进系统等。使用的开发语言为java,使用开源框架strutshibernatedwrJqueryspringgwtgxt、润乾、oracle
2、 在首信2012-03至今,参加了北京市考务系统的建设,该系统包括资格考试、委托考试、职称评审、公务员考试、职业鉴定、公共服务平台。





项目经验摘要
20123月—至今 考务系统建设
使用了springMVChibernatespringJDBCredis、单点登录、银行直连缴费、支付宝对接缴费、动态表单。
整个考务系统开发了30多个应用,统一搭建了项目框架,springMVChibernatespringJDBCredisshiroxfirejquery.validatejquery.formblueprint所有系统采用maven管理,向整个部门推广了maven+svn+hadson,以替代老旧的eclipse项目+vss,我主要参与了其中15个应用开发;其中独自公务服务平台供所有前台系统公用;通过研究开源单点登录系统cas实现了自己的单点;设计开发了动态表单,以适应不同考试采集信息不同的情况,实现了字段名称、类型、长度、校验、字典、级联关系、子集信息的灵活配置


20102月 –20103基于Ext GWT 的决策分析系统
系统采用的GXT提供的MVC模型,底层数据访问是通过调用润乾报表API,将润乾报表运算结果转化为一个List,然后交给GXT在页面展现。
页面功能上,Grid列排序,隐藏显示特定列,树形展开收缩,用open chart封装的统计图表,数据钻取,列标题分组,拖拽形式动态设置列维度、行维度以实现灵活查询,将灵活查询行列维度保存起来供以后随时打开,将结果到处ExcelPDFWord,动态设置查询条件的显示隐藏,动态的进度条提示、融入GIS系统,实现报表到地图,地图到报表。
值得注意的是所有这些功能都是在一个窗口中完成的,实现了菜单、维度定义、报表、统计图功能的融合,不用客户点来点去,一步了然。
20079- 200712月 北京市人事局人才综合计划系统 |

参与了部分功能的详细设计,考虑到用户体验和开发效率,经过测试,决定采用润乾报表中间件开发报表展现、填报、效验,由于润乾报表提供效验功能的局限性,自主设计替换润乾原有效验,利用DWR框架编写了javascript效验,实现了实时提示用户效验信息,并且可以打印效验信息以供核对,由于有些报表比较庞大,提供了临时保存功能,得到了用户的肯定。




2014年5月6日星期二

oracle 锁表

select sess.sid,
    sess.serial#,
    lo.oracle_username,
    lo.os_user_name,
    ao.object_name,
    lo.locked_mode
    from v$locked_object lo,
    dba_objects ao,
    v$session sess
where ao.object_id = lo.object_id and lo.session_id = sess.sid;

alter system kill session '126,16688'; --SID,SERIAL#

2014年5月1日星期四

ubuntu安装2

1安装输入法
 sudo apt-get install fcitx fcitx-googlepinyin

2安装额外版权受限程序
sudo apt-get install ubuntu-restricted-extras

3安装guake
sudo apt-get install guake
4在软件中心安装dropbox

5安装wqy字体,奇怪的是为什么14.04没有自带wqy?我明明已经是中文环境
sudo apt-get install ttf-wqy-zenhei ttf-wqy-microhei xfonts-wqy

2014年4月27日星期日

ubuntu安装

分区
/ 50G
/boot 500M
/home 200G
/work 200G
安装程序

1、jdk
jdk-6u45-linux-x64.bin

2、idea
ideaIU-13.1.2.tar.gz

3、maven
maven.zip
私服http://172.20.66.163:8081/nexus/content/groups/public/

4、subversion
sudo apt-get  install subversion

5、pidgin
ubuntu 软件中心

6、pidgin-lwqq
添加仓库并更新
$ sudo add-apt-repository ppa:lainme/pidgin-lwqq
$ sudo apt-get update
安装测试版本(对应于 preview/dev 分支)

$ sudo apt-get install pidgin-lwqq-unstable

7、chromuim
ubuntu 软件中心


8、virtualBox
http://tutorialforlinux.com/2014/02/22/how-to-install-latest-virtualbox-on-ubuntu-14-04-trusty-lts-3264bit-easy-guide/

Download Latest VirtualBox Package for Ubuntu 13.04/13.10
sudo su -c "apt-get install gdebi"
sudo su -c "gdebi ./virtualbox*.deb"
9、uget
http://blog.csdn.net/sunnylgz/article/details/14226453

1.uget的安装:
sudo add-apt-repository ppa:plushuang-tw/uget-stable 
sudo apt-get update 
sudo apt-get install uget
2.aria2的安装:
sudo add-apt-repository ppa:t-tujikawa/ppa 
sudo apt-get update 
sudo apt-get install aria2

10、dbvis
http://www.dbvis.com/product_download/dbvis-9.1.8/media/dbvis_linux_9_1_8.sh

11、goagent
code.google.com/p/goagent

12、系统设置莫名其妙没了
执行sudo apt-get install unity-control-center

13、输入法
http://jingyan.baidu.com/article/4b07be3c60da3f48b380f3f0.html

sudo apt-get install fcitx-table-wbpy

14、remmina保存密码
http://technologyflirt.blogspot.tw/2013/02/how-to-save-ssh-password-in-remmina.html

15、摘要: ubuntu 客户端ssh连接服务器速度缓慢
  ubuntu每次去连接ssh总是有10秒+的感觉
  原因:打开ssh -v debug模式后发现域名解析问题
  debug1: Unspecified GSS failure. Minor code may provide more information
  Cannot determine realm for numeric host address
  解决:编辑ssh_config
  vi /etc/ssh/ssh_config
  GSSAPIAuthentication yes改为no即可

16、mp3 插件安装
Ubuntu系统默认不支持mp3解码,蛋疼货,打开mp3文件,提示
Rhythmbox requires to install plugins to play media files of the following type: MPEG-1 Layer 3 (MP3) decoder
网上搜了半天,有人说安装 gstreamer 插件,搞了半天,不行,在 Ubuntu Software Center 中搜到了这个插件,也安装上了,结果还是不行,最后在官网的问答贴中找打了方法:安装 ubuntu-restricted-extras ,可以直接在 Ubuntu Software Center 中搜索安装,也可命令解决
 sudo apt-get install ubuntu-restricted-extras
还有个蛋疼的问题,就是中文乱码,按网上的,如下方法:
sudo apt-get install python-mutagen
然后在放置mp3文件的那个文件夹,执行下面的命令。注:如果有子文件,则还需在子文件夹内执行相同命令
mid3iconv -e GBK *.mp3

17、ssh保存密码
http://technologyflirt.blogspot.tw/2013/02/how-to-save-ssh-password-in-remmina.html

2014年4月18日星期五

ubuntu flash nexus s 4.1.2



1、执行 lsusb
得到Bus 001 Device 016: ID 18d1:4e21 Google Inc. Nexus S
记下18d1:4e21

2、# sudo gedit /etc/udev/rules.d/99-android.rules
原来没有这个99-android.rules文件,新建

内容:
# Google Nexus s 16 Gb
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0666", OWNER="your-login"  
# MTP mode with USB debug on

ps:your-login should be your Ubuntu session login.

3、# sudo service udev restart

4、安装ANDROID TOOLS
# sudo add-apt-repository ppa:nilarimogard/webupd8
# sudo apt-get update
# sudo apt-get install android-tools-adb android-tools-fastboot
# sudo apt-get install ia32-libs

5、连接手机,开启sub调试
# adb version
Android Debug Bridge version 1.0.31
# sudo adb devices
List of devices attached
xxxxxxxxxxxxxxx          device

6、sudo adb reboot-bootloader
手机将重启

7、sudo fastboot devices
若出现xxxxxxxx fastboot 能够连接到手机的 Fastboot 模式

8、执行sudo ./flash_all.sh 开刷

参考:
http://bernaerts.dyndns.org/linux/74-ubuntu/245-ubuntu-precise-install-android-sdk
http://dawndiy.com/archives/389/

2014年4月10日星期四

日淘夏普KC-B50空气净化器 烧坏修复

霾,又多认识了一个汉字
看了好久,从日本亚马逊淘了一个夏普空气净化器KC-B50
然后被税,EMS通知我自己去缴税200,然后步行1000米做公交倒地铁再倒地铁再倒黑车自己背了回来
用了一周,还不错
然后被我稀里糊涂插在了220v的电源上,砰,没动静了
拆。。。
大卸八块后,看到一个电阻碎了
google,有人说是压敏电阻
taobao,买了6个,一块钱一个
顺丰送到
稀里哗啦换上
开机还是没动静。。。。
接着google,找到一兄弟跟我一样情况,加其QQ讨教,说还要换一零件
靠,接着大卸八块,扒出电路板,背着转压器去让修电器的师傅看
师傅七尺咔嚓用表连了一通,深沉的说:50块钱,我用简便方法给你修好
跟师傅理论了一番什么是简便方法,最后妥协,开干
拿回家又稀里哗啦装上
开电源,黝黑,好了///




2014年3月7日星期五

double四舍五入并保留两位小数的方法

搜了好多double 保留两位小数的方法,就这个靠谱
转自:http://glblong.blog.51cto.com/3058613/1312340

1.只要输出结果
1
2
double x1 = 0.026;
System.out.println(String.format("%.2f", x1));


2.数据转换
1
2
3
4
5
6
7
8
9
10
11
//方案一:
get_double = (double)(Math.round(result_value*100)/100.0)
//方案二:
DecimalFormat df = new DecimalFormat("#.##");
get_double = Double.ParseDouble(df.format(result_value));
//方案三:
get_double = Double.ParseDouble(String.format("%.2f",result_value));
//方案四:
BigDecimal bd = new BigDecimalresult_value();
BigDecimal  bd2 = bd.setScale(2,BigDecimal  .ROUND_HALF_UP);
get_double = Double.ParseDouble(bd2.ToString());




3.只保留两位小数(不含四舍五入)
1
2
double d = 13.4324;
d=((int)(d*100))/100;