Monthly Archives: November 2011

Oracle SQL的BASE64加密解密函数使用

2011/11/22 by Jinyang | No Comments | Filed in 工作认真

这里使用 111111 作为测试字符串 加密方法: select ‘111111’, utl_encode.BASE64_ENCODE(utl_raw.cast_to_raw(‘111111′)), utl_raw.cast_to_varchar2(utl_encode.BASE64_ENCODE(utl_raw.cast_to_raw(‘111111′))) from dual; 加密结果: ‘111111’ UTL_ENCODE.BASE64_ENCODE(UTL_R UTL_RAW.CAST_TO_VARCHAR2(UTL_E 1 111111 4D5445784D544578 MTExMTEx 解密方法: select utl_raw.cast_to_varchar2(utl_encode. base64_decode(utl_raw.cast_to_raw(‘MTExMTEx’))) from....
【阅读全文】

Tags:

【转载】懂得保持平衡的程序员

2011/11/16 by Jinyang | No Comments | Filed in 工作认真

最近在准备一支外包团队的过程中,我思考了一下:做为一个程序员,最珍贵的品质是什么?有个词一直在我的脑海里反复出现,它就是平衡。我们可以看到,一个成功的程序员在开发的时候,他对平衡的理解体现在很多方面,下面就是其中的一些: 速度和质量 最具的代表性的一个例子就是在软件开发过程中,速度和质量之间的平衡。开发软件时,如果只追求速度,不考虑代码的可维护性,这永远都是下下策。这就跟你无休无止的反复设计和琢磨你的软件却从未拿出来给用户试一下一样不可取。懂得平衡的程序员既能做到迅速的开发出代码,又能保证在整个....
【阅读全文】

nginx+tomcat+memcached+iphash 实现负载、容灾

2011/11/01 by Jinyang | No Comments | Filed in 工作认真

nginx+tomcat+memcached+iphash 实现负载、容灾 很成熟的方案,Session统一放在memcache,可以实现用户无感知的停机发布等,平滑切换节点
【阅读全文】

Tags:

使用memcached实现集群业务的用户业务锁

2011/11/01 by Jinyang | No Comments | Filed in 工作认真

为保证业务数据的一致性,防止出现脏数据,某个做了集群部署的业务需要控制某一个业务同一时刻只能有一个节点进行业务处理,刚好项目也使用了memcached,于是用memcached实现一个用户业务锁机制就是最简单的解决方案。
【阅读全文】

用Hg(Mercurial)做发布版本控制

2011/11/01 by Jinyang | No Comments | Filed in Uncategorized

以前在linux下用了rsync做文件改动监控和同步,现在的某项目在windows下,(虽然也有windows的rsync,没做测试,没敢用),想要实现文件的增量发布,文件夹变更监测,版本管理回退,综合这3个需求,Hg比较合适。
【阅读全文】

Tomcat、JAVA、Iframe、P3P跨域

2011/11/01 by Jinyang | No Comments | Filed in 工作认真

项目使用iframe来组织页面内容,之前因为虽然业务发布在不同的服务,但是也都是一个大域名的不同子域名,最近新增了一个外部的域名就出现了SSO登录总是提示不成功退出。 解决的过程: 1. 首先是确定只有IE下有问题,Chrome下完全正常,就把精力从代码逻辑转移到浏览器兼容上来 2.发现只要是使用ie右键新窗口打开页面,就可以成功的SSO,直接点击在iframe中则必然失败,怀疑到iframe上 3. 输出SessionID发现有多个不同的SessionID,搜“iframe Session不一致”发现很多提到跨域的SSO遇到此类问题,解决方案为增加P3P头 4. 直接在一个测试....
【阅读全文】

订单安全控制

2011/11/01 by Jinyang | No Comments | Filed in 工作认真

1. 订单表的时间戳字段应使用 systimestamp timestamp 的秒片段(fractional seconds),就是秒向下的精度划分,默认为6,最大为9 ,设置字段类型为: timestamp(9)  即可 ,高精度的时间戳可以满足顺序记录订单的需求,毕竟一秒的订单数量大于1亿的可能性还是很小的 。 Timestamp(precision)的precision是指timestamp的精度 ,取值0-9,默认为6,而timestamp的精度达到billion(十亿)分之一秒,是以11个字节存储 取值时测试了: select systimestamp from dual; select CURRENT_TIMESTAMP(9) from dual ; select systimestamp....
【阅读全文】

返回顶部