<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[kiven的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/kivenlee</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; kivenlee]]></copyright><item><title><![CDATA[log4net基于udp模式输出的客户端接收并彩色显示在控制台]]></title><link>https://blog.youkuaiyun.com/kivenlee/article/details/56612822</link><guid>https://blog.youkuaiyun.com/kivenlee/article/details/56612822</guid><author>kivenlee</author><pubDate>Thu, 23 Feb 2017 02:34:24 +0800</pubDate><description><![CDATA[之前都是用java开发，换成asp.net，没有实时的日志输出监控，总是感觉很不方便，由于项目中采用的日志组件是log4net，就直接写个小的基于控制台的udp客户端接收log4net的日志消息，嗯，这回方便多了。
log4net的udp配置

    
    
    
    
        
    

log4net客户端接收代码，使用方式 log4netudpsvr 60001]]></description><category></category></item><item><title><![CDATA[创建一个简单的C#脚本引擎]]></title><link>https://blog.youkuaiyun.com/kivenlee/article/details/56602757</link><guid>https://blog.youkuaiyun.com/kivenlee/article/details/56602757</guid><author>kivenlee</author><pubDate>Thu, 23 Feb 2017 02:15:34 +0800</pubDate><description><![CDATA[码农总是有许许多多的脚本工具，但windows下的bat脚本实在承担不起太多的逻辑和功能，PowerShell又太过复杂，不想学。干脆做个简单的可以执行C#脚本的工具。
嗯，花了2小时写代码加调试，总算是完成了一个简单的版本，具备如下特征：


动态载入命令行参数指定的脚本允许在命令行附加脚本参数脚本namespace必须为Script，class必须为Program，主函数必须是publ]]></description><category></category></item><item><title><![CDATA[jetty 6.x https访问双向认证配置方法]]></title><link>https://blog.youkuaiyun.com/kivenlee/article/details/14103199</link><guid>https://blog.youkuaiyun.com/kivenlee/article/details/14103199</guid><author>kivenlee</author><pubDate>Sun, 03 Nov 2013 12:38:01 +0800</pubDate><description><![CDATA[打算给新开发的应用做https方式访问，采用双向认证的方式（即客户端需要校验服务器端证书，服务器端也需要校验客户端证书），在网上找了半天，都是东一句西一句的，没有一个比较全的，经过一番周折，终于搭起来了。讲讲主要的思路：

先给服务器端与客户端发证书（我用的是openssl）创建服务器端的keystore，里面包含服务器端个人证书（带私钥）和可信任的CA根证书与客户端证书。配置jetty.xm]]></description><category></category></item><item><title><![CDATA[JDBC操作firebird数据库出现乱码的应急解决方案]]></title><link>https://blog.youkuaiyun.com/kivenlee/article/details/14102285</link><guid>https://blog.youkuaiyun.com/kivenlee/article/details/14102285</guid><author>kivenlee</author><pubDate>Sun, 03 Nov 2013 11:25:43 +0800</pubDate><description><![CDATA[原先有个系统是用delphi进行开发的，使用了firebird数据库，建库的时候没有选择编码，当然，在delphi中，读写中文都是正常的。现在需要给原系统加个从别的数据库同步数据的功能，因为是远程同步，同步的数据量也不大，频率一天四次，就打算用嵌入式jetty，写个简单的handler实现这个功能，客户端采用httpclient进行数据上传。客户端与服务器之间用https双向认证的方式。
稀里哗]]></description><category></category></item><item><title><![CDATA[python正则表达式替换函数中的回调函数]]></title><link>https://blog.youkuaiyun.com/kivenlee/article/details/14102155</link><guid>https://blog.youkuaiyun.com/kivenlee/article/details/14102155</guid><author>kivenlee</author><pubDate>Sun, 03 Nov 2013 11:04:02 +0800</pubDate><description><![CDATA[用openssl做证书中心发证时，要发的证书中用到了中文字符，因此选择了utf8方式，但openssl声称的index.txt文件内容中，凡是中文字符，一律采用utf8编码后转成“\x??”格式，??从00-FF，查看起来很不方便，就打算用python写个小的脚本来进行转码查看。
先上代码：

#coding=utf8
"""将pem(文本格式)的证书里面的\x??转换为UTF8编码，显示正]]></description><category></category></item><item><title><![CDATA[一个非常简单的LRU Cache类]]></title><link>https://blog.youkuaiyun.com/kivenlee/article/details/12624587</link><guid>https://blog.youkuaiyun.com/kivenlee/article/details/12624587</guid><author>kivenlee</author><pubDate>Fri, 11 Oct 2013 22:32:00 +0800</pubDate><description><![CDATA[这是一个非常简单的LRU Cache类，利用LinkedHashMap实现

// Test routine for the LRUCache class.
public static void main (String[] args) {
   LRUCache c = new LRUCache(3);
   c.put ("1", "one");]]></description><category></category></item><item><title><![CDATA[从实体机到xen，一个企业信息管理平台主机系统的变迁之路]]></title><link>https://blog.youkuaiyun.com/kivenlee/article/details/7216533</link><guid>https://blog.youkuaiyun.com/kivenlee/article/details/7216533</guid><author>kivenlee</author><pubDate>Sat, 28 Jan 2012 04:48:58 +0800</pubDate><description><![CDATA[分享一下我给某个企业做的信息管理平台的心得吧。
    本项目是连软带硬，服务器也交由我们进行托管，本次分享的不是软件开发的经验，而是服务器的变迁史，想看开发经验的，请移步。
    一开始，服务器（Xeon 2.13*2/4GB/420G）刚拿回来的那阵，我三下五除二，装了个debian的发行版，装了MySQL，JDK6，Jetty，把应用发布上去，就这么给用户测试的（如下图）：]]></description><category></category></item><item><title><![CDATA[linux kernel 2.6.32+ 编译XEN DomU的问题]]></title><link>https://blog.youkuaiyun.com/kivenlee/article/details/7216519</link><guid>https://blog.youkuaiyun.com/kivenlee/article/details/7216519</guid><author>kivenlee</author><pubDate>Sat, 28 Jan 2012 02:24:57 +0800</pubDate><description><![CDATA[要死了，大过年的，突然心血来潮，想把公司服务器的XEN客户机内核版本升级一下，从下午4点一直弄到现在-半夜2点，终于放弃了。


    话说今天闲逛了一下xen的官网，发现一个振奋人心的旧新闻--xen从linux内核的3.0开始，dom0代码也进入主线了，以后升级dom0再也不需要再给内核打补丁了，这意味着什么？意味着我无需再苦苦彷徨在xen与kvm之间做抉择了。
    我为什么会这]]></description><category></category></item><item><title><![CDATA[nginx + jetty 基于wadi的集群配置]]></title><link>https://blog.youkuaiyun.com/kivenlee/article/details/6548804</link><guid>https://blog.youkuaiyun.com/kivenlee/article/details/6548804</guid><author>kivenlee</author><pubDate>Thu, 16 Jun 2011 16:14:00 +0800</pubDate><description><![CDATA[nginx + jetty 基于wadi的集群配置 作者：Kiven Lee 2011-6-16 最先做的是nginx + Tomcat的集群，然而应用发布后发现UTF-8支持有问题，之前在debian linux上测试UTF-8是OK的，生产环境的linux是定制的，采用ttylinux的启动脚本，不包含jre6的话，系统镜像只有几十兆，在自己定制的linux上，tomcat的U]]></description><category></category></item><item><title><![CDATA[vmware、xen、colinux使用心得]]></title><link>https://blog.youkuaiyun.com/kivenlee/article/details/6451305</link><guid>https://blog.youkuaiyun.com/kivenlee/article/details/6451305</guid><author>kivenlee</author><pubDate>Sat, 28 May 2011 02:54:00 +0800</pubDate><description><![CDATA[<br />最开始接触虚拟机这个概念，那是在2001年的时候了，那时候在网上乱逛，无意中发现了一个名叫VirtualPC的玩意，觉得概念挺新奇，就下下来玩玩。那真是不用不知道，世界真奇妙。太神奇了，太神奇了。有两个原因使我喜欢上它了，一是作为开发者，我经常需要一个干净的windows测试软件的兼容性或是不同版本的windows测试兼容性；二是我机器当时作为局域网的网关，我对winroute总是感觉不满，总是怀念linux下的iptables，于是我用vpc装了一个自定制的6M的linux，专门用于adsl拨]]></description><category></category></item><item><title><![CDATA[colinux的新功能，不仅仅是在windows上运行，还能运行在linux上]]></title><link>https://blog.youkuaiyun.com/kivenlee/article/details/6451286</link><guid>https://blog.youkuaiyun.com/kivenlee/article/details/6451286</guid><author>kivenlee</author><pubDate>Sat, 28 May 2011 01:21:00 +0800</pubDate><description><![CDATA[<br />半年没上colinux主页了，今天逛了一下colinux的主页，习惯性点击最新版的特性一看，居然发现了个有趣的新功能：那就是支持的操作系统除了windows系列，居然还多了个linux 2.6.x，赶紧google一把，中文没的介绍，英文倒是在colinux的wiki上发现了如何在linux上安装设置的一篇文章，记录一下，备忘。<br />啥是colinux，那是在windows下跑linux的最佳虚拟平台，它把自己实现成windows的一个进程，因此拥有相当于本机的速度，比vmware、vpc]]></description><category></category></item><item><title><![CDATA[debian 6.0 squeeze 上的 xen 网桥问题]]></title><link>https://blog.youkuaiyun.com/kivenlee/article/details/6448482</link><guid>https://blog.youkuaiyun.com/kivenlee/article/details/6448482</guid><author>kivenlee</author><pubDate>Thu, 26 May 2011 21:12:00 +0800</pubDate><description><![CDATA[<br />原先装过2台debian xen的服务器,一台是debian 4.0的,一台是debian 5.0 的,这一次装debian 6.0 的,被这个网桥给折磨了一整天.<br />原先的4.0和5.0两个版本的服务器均只启用一块网卡,配置一个网桥,一直以来也没注意多网桥有什么不同,这次6.0的服务器打算配2个网桥,本着外事不决问google的做法,搜出几个解决方案,照搬,重启,出错.<br />这两天就为这个来回折腾,中文的资料看完了,实在找不到办法,转到英文站点去,似乎有个人写了个脚本,说是6.0]]></description><category></category></item><item><title><![CDATA[debian 6.0 安装 xen]]></title><link>https://blog.youkuaiyun.com/kivenlee/article/details/6440626</link><guid>https://blog.youkuaiyun.com/kivenlee/article/details/6440626</guid><author>kivenlee</author><pubDate>Mon, 23 May 2011 19:48:00 +0800</pubDate><description><![CDATA[安装debian
    采用debian-netinstall安装光盘,安装debian.安装完后,重启.
配置网络
    编辑 /etc/network/interface 文件
auto eth0 
iface eth0 inet static 
address 192.168.0.2 
netmask 255.255.255.0 
network 192.168.0.0]]></description><category></category></item><item><title><![CDATA[正确利用线程调用堆栈获取上级调用函数的名称]]></title><link>https://blog.youkuaiyun.com/kivenlee/article/details/6308395</link><guid>https://blog.youkuaiyun.com/kivenlee/article/details/6308395</guid><author>kivenlee</author><pubDate>Fri, 08 Apr 2011 02:32:00 +0800</pubDate><description><![CDATA[利用 Thread.currentThread().getStackTrace()[1].getMethodName()获取当前函数名称没有什么问题,我的问题是需要获取上两级调用函数的名称,大致是这样的代码:public class A {
    protected final String getId() {
        //返回[类名.函数名]字符串代码
        Thread.currentThread().getStackTrace()[3].getMethodName();
 ]]></description><category></category></item><item><title><![CDATA[p6spy使用logback作为日志系统]]></title><link>https://blog.youkuaiyun.com/kivenlee/article/details/6293179</link><guid>https://blog.youkuaiyun.com/kivenlee/article/details/6293179</guid><author>kivenlee</author><pubDate>Fri, 01 Apr 2011 02:23:00 +0800</pubDate><description><![CDATA[受够了ibatis自带sql语句的日志输出，一坨的问号，直接copy出来，还不能运行，要手工替换每个问号为对应的参数。依照google法则，嗯，发现一个可以自动将sql的问号替换为实际参数并进行日志输出的工具--p6spy。没的说，download，依照使用手册，把p6spy.jar放到lib目录，p6spy.properties放到classes目录。对原jdbc驱动源进行相应的配置，改为driverClassName = com.p6spy.engine.spy.P6SpyDriver。开始运行，吼吼，]]></description><category></category></item><item><title><![CDATA[jquery插件jquery.autocomplete.js的中文化、json化改造]]></title><link>https://blog.youkuaiyun.com/kivenlee/article/details/6292926</link><guid>https://blog.youkuaiyun.com/kivenlee/article/details/6292926</guid><author>kivenlee</author><pubDate>Thu, 31 Mar 2011 22:42:00 +0800</pubDate><description><![CDATA[项目需要，需要一个autocomplete插件，网上一搜，下载了个号称最好的jquery.autocomplete.js插件来用，插件自带的范例倒是挺好用，尝试在范例中加入中文，firefox中就不行了，依照外事不决问google的惯例，一搜，嗯，找到$input.bind(($.browser.opera ? "keypress" : "keydown") + ".autocomplete", function(event) {这一行，在函数的最末尾	}).bind("unautocomplete", f]]></description><category></category></item><item><title><![CDATA[java代码运行中获取正被调用的函数名]]></title><link>https://blog.youkuaiyun.com/kivenlee/article/details/6287958</link><guid>https://blog.youkuaiyun.com/kivenlee/article/details/6287958</guid><author>kivenlee</author><pubDate>Wed, 30 Mar 2011 10:30:00 +0800</pubDate><description><![CDATA[一直以来这个问题都困惑着我，无意中看到了这段代码，记录一下，备忘Thread.currentThread().getStackTrace()[1].getMethodName()]]></description><category></category></item><item><title><![CDATA[超精简的json输出类]]></title><link>https://blog.youkuaiyun.com/kivenlee/article/details/6287800</link><guid>https://blog.youkuaiyun.com/kivenlee/article/details/6287800</guid><author>kivenlee</author><pubDate>Wed, 30 Mar 2011 09:48:00 +0800</pubDate><description><![CDATA[package com.kievnsoft.json;
import java.io.IOException;
import java.lang.reflect.Array;
import java.lang.reflect.Method;
import java.util.Calendar;
import java.util.Collection;
import java.util.Date;
import java.util.Map;
public class JsonObject {]]></description><category></category></item><item><title><![CDATA[spring中使用logback日志组件替换log4j]]></title><link>https://blog.youkuaiyun.com/kivenlee/article/details/6284792</link><guid>https://blog.youkuaiyun.com/kivenlee/article/details/6284792</guid><author>kivenlee</author><pubDate>Mon, 28 Mar 2011 22:46:00 +0800</pubDate><description><![CDATA[logback比log4j的强大之处，请到logback的主页去看，我就不啰嗦了，你懂、或者不懂，logback就在那里，无比强大。复制log4j-over-slf4j.jar,logback-classic.jar,logback-core.jar,jcl-over-slf4j.jar到lib目录，删除原有的log4j.jar。创建一个新类package com.boaotech.util;
import javax.servlet.ServletContextEvent;
import javax.]]></description><category></category></item><item><title><![CDATA[Oracle的RMAN备份与恢复脚本]]></title><link>https://blog.youkuaiyun.com/kivenlee/article/details/6284751</link><guid>https://blog.youkuaiyun.com/kivenlee/article/details/6284751</guid><author>kivenlee</author><pubDate>Mon, 28 Mar 2011 22:34:00 +0800</pubDate><description><![CDATA[Oracle的RMAN备份与恢复脚本一、备份方案：<br />
采用多级备份是为了减少了恢复所需要的时间和减少每天备份所需要的时间，而又保证系统有很好的恢复性。<br />
以下是一种建议的方案:<br />
   <br />
 每半年做一个数据库的全备份（包含只读表空间）<br />
 每个月做一次零级备份（不包含只读表空间）<br />
 每个星期做一次一级备份<br />
 每天做一个二级备份<br />
 任何表空间改成只读状态后做一个该表空间的备份。<br />
 当需要时（如]]></description><category></category></item></channel></rss>