01 2012 档案

日志系统引起的争论
摘要:年前了事情还是有一大堆。最近我一直在思考“写代码”这事,如何摆脱小作坊、小玩具式的开发。如何能少走弯路、避免做无用功。 老板给提的建议是做事情要注重以下几点: 预见性:提前对项目作出预估、提前预见困难和陷阱。 计划性:计划和安排好达到目标的每一步。 执行力:任何事情都要有deadline,在规定的时间里完成规定的任务,并能对结果进行验证。 日志系统小到System.out.println,大到要使用hadoop等分布式文件系统存储都是项目中必不可少的一个模块。一个项目的日志系统要做到什么样的程度与项目本身的需求密切相关。如果是只想在编码期间看下程序运行是否正常,逻辑是否OK,直接用prin.. 阅读全文

posted @ 2012-01-19 18:32 心笑峰 阅读(274) 评论(0) 推荐(0) 编辑

SOCKS5协议
摘要:SOCKS5 是一个代理协议,这种协议对本身所代理的内容并不关心,可用于穿越防火墙。 例如我有一台web服务器,用户可以登陆上去查询公司的关键数据,这样的服务器我肯定是不想放到公网上让别人能随便访问,但是有时候我在外地又想登录上去。所以我就把这台服务器放置在内网,所有的对外接口由另外一台安装了防火墙的服务器提供。 我在这台有防火墙的服务器上安装SOCKS5代理服务器,并监听相应的端口,只有验证通过的数据才可以通过代理服务器然后转发到内网中的web服务器。 通过SOCK5代理服务器通信包括以下几个步骤: 1.客户连接代理服务器,提供自身支持的验证方法列表 2.代理服务器通知自己选择的验证方法(. 阅读全文

posted @ 2012-01-19 16:54 心笑峰 阅读(374) 评论(1) 推荐(0) 编辑

Java Cache System JCS(一) 使用方法
摘要:JCS 是JAVA 中缓存的一种实现,支持将数据缓存到内存或硬盘中,支持设置缓存对象的有效时长。使用时需要用到以下几个jar包:commons-collections-2.1.1.jarcommons-lang.2.3.jarcommons-logging-1.0.4.jarconcurrent-1.3.2.jarjcs-1.3.jarslf4j-api.jar定义实现了Serializable 接口的存储对象类:public class UserInfo implements Serializable{ private String username; private St... 阅读全文

posted @ 2012-01-05 18:09 心笑峰 阅读(4333) 评论(0) 推荐(0) 编辑

OF 同步异步问题的改进
摘要:之前的一篇文章中提到过OF中的同步异步问题,这里针对文章最后描述的两个缺点做些改进。 这里提供一个公共的专门用于处理S2S通信问题的IQ类S2SDataManager。 可以提供多种接口:1.阻塞等待固定时长;2.阻塞等待,并在接收到结果或超时后继续;3.发送后直接返回;4.发送后直接返回,提供回调接口。 public class S2SDataManager implements IQResultListener{ private XMPPServer server; private RoutingTable routing; private long timeout=... 阅读全文

posted @ 2012-01-05 17:18 心笑峰 阅读(202) 评论(0) 推荐(0) 编辑

MySQL Event
摘要:Event 是MySQL 5.1 以后支持的一个功能,类似于oracle 中的JOB 或 MSSQL 中的任务。就是按照指定的周期和频率运行指定语句的功能。 查看event_scheduler 是否启用:select @@event_scheduler / show variables like '%event_scheduler%' 如果为OFF / 0 ,使用以下语句开启:set GLOBAL event_scheduler =1 创建一个event : create event event_myevent on schedule every 1 minuteon comp 阅读全文

posted @ 2012-01-05 16:08 心笑峰 阅读(184) 评论(0) 推荐(1) 编辑

MySQL 动态SQL
摘要:/**申明一个变量保存sql语句**/declare v_sql varchar(500);/** 初始化v_sql **/set v_sql ='call P_myprocedure(?)';/** 准备要动态执行的语句 **/set @exesql =v_sql;/** 准备参数 **/set @param = 100;/** 准备执行 **/prepare stm from @exesql;/** 执行语句,并传入准备的参数。execute stm using @param; 阅读全文

posted @ 2012-01-05 15:47 心笑峰 阅读(197) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示