<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[隔壁小王同学的程序人生]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wkkyo</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wkkyo]]></copyright><item><title><![CDATA[修改Nodejs内置的npm默认配置路径]]></title><link>https://blog.youkuaiyun.com/wkkyo/article/details/52799488</link><guid>https://blog.youkuaiyun.com/wkkyo/article/details/52799488</guid><author>wkkyo</author><pubDate>Wed, 12 Oct 2016 18:58:52 +0800</pubDate><description><![CDATA[Nodejs 内置的npm默认会把模块安装在c盘的用户AppData目录下（吐槽一下：不明白为啥现在的软件都喜欢把资源装在这里）


C盘这么小，肯定是不行的，下面一步步修改到D盘

 
1.打开cmd命令行，查看当前配置
输入 npm
 config ls

先看一下当前npm的配置环境，由于我已经修改过，所以可以看到修改后的路径



 
2.修改路径
这里需要]]></description><category></category></item><item><title><![CDATA[mybatis like 模糊查询问题]]></title><link>https://blog.youkuaiyun.com/wkkyo/article/details/51285061</link><guid>https://blog.youkuaiyun.com/wkkyo/article/details/51285061</guid><author>wkkyo</author><pubDate>Sat, 30 Apr 2016 01:10:48 +0800</pubDate><description><![CDATA[以前一直用hibernate，现在换mybatis，结果这里竟然折腾了个把小时，试了网络上有好多种解决方法，都不靠谱 
最后终于解决了，亲测有效 
我的数据库用的是mysql，mapper.xml有两种配置解决方法 
1.如果字段是字符串，可以直接写成<if test="usedName != null and usedName!=''">
    and used_name like "%"#{u]]></description><category></category></item><item><title><![CDATA[使用TextWatcher实现EditView的度分秒控制输入。]]></title><link>https://blog.youkuaiyun.com/wkkyo/article/details/51206317</link><guid>https://blog.youkuaiyun.com/wkkyo/article/details/51206317</guid><author>wkkyo</author><pubDate>Thu, 21 Apr 2016 10:05:41 +0800</pubDate><description><![CDATA[项目中有个需求要求在EditView内只能进行度分秒的控制输入，看到参考其他软件的实现效果，自己实现了一下。 
 
输入的时候会自动限定在经纬度数值范围之内，当光标在引号位置时输入无效并自动跳过。这个效果需要使用TextWatcher。TextWatcher接口有三个方法，在输入框内容修改的时候会依次执行beforeTextChanged(CharSequences, int start, int]]></description><category></category></item><item><title><![CDATA[Canvas的save和restore方法简单理解]]></title><link>https://blog.youkuaiyun.com/wkkyo/article/details/50784057</link><guid>https://blog.youkuaiyun.com/wkkyo/article/details/50784057</guid><author>wkkyo</author><pubDate>Wed, 02 Mar 2016 23:00:06 +0800</pubDate><description><![CDATA[android的Canvas就是画布，用各种draw方法绘制时始终采用是画布的坐标。
默认情况下，屏幕和画布的坐标一致，都是横向x，纵向y，左上角是起点坐标(0,0)。
 
下面代码将在屏幕顶部居中的位置绘制一个半径为20的圆。
 
 
canvas.drawCircle(width/2, 20, 20, paint);
  
 
但是canvas类也提供了一些操作画布的方法：r]]></description><category></category></item><item><title><![CDATA[objective-c学习笔记(1)]]></title><link>https://blog.youkuaiyun.com/wkkyo/article/details/50784054</link><guid>https://blog.youkuaiyun.com/wkkyo/article/details/50784054</guid><author>wkkyo</author><pubDate>Wed, 02 Mar 2016 23:00:00 +0800</pubDate><description><![CDATA[准备开始学习ios开发，先从oc的基本语法开始首先是标准的hello world例//main.m#import 
int main(int argc,const char* argv[]){    @autoreleasepool{        NSLog(@"objective-c say hello");    }    return 0;}
标准的oc代码分为@interface、@]]></description><category></category></item><item><title><![CDATA[写好Java代码的30条经验总结]]></title><link>https://blog.youkuaiyun.com/wkkyo/article/details/50784052</link><guid>https://blog.youkuaiyun.com/wkkyo/article/details/50784052</guid><author>wkkyo</author><pubDate>Wed, 02 Mar 2016 22:59:54 +0800</pubDate><description><![CDATA[[转]成为一个优秀的Java程序员，有着良好的代码编写习惯是必不可少的。下面就让我们来看看代码编写的30条建议吧。
(1) 类名首字母应该大写。字段、方法以及对象（句柄）的首字母应小写。对于所有标识符，其中包含的所有单词都应紧靠在一起，而且大写中间单词的首字母。例如：
ThisIsAClassName
thisIsMethodOrFieldName
若在定义中出现了常数初始化字符，则大写s]]></description><category></category></item><item><title><![CDATA[openfire客户端文件传输学习笔记（一）]]></title><link>https://blog.youkuaiyun.com/wkkyo/article/details/50784051</link><guid>https://blog.youkuaiyun.com/wkkyo/article/details/50784051</guid><author>wkkyo</author><pubDate>Wed, 02 Mar 2016 22:59:49 +0800</pubDate><description><![CDATA[项目中需要用到openfire的文件传输，但是客户端使用flex，官方提供的xiff包中并没有封装文件传输的功能，没办法，研究了几天，在google和官方smock源码的帮助下终于实现了xiff下的文件传输，在这里做个总结。
openfire服务器是基于xmpp协议的，XMPP支持两种文件流传输协议，SOCKS5 Bytestreams和 In-Band Bytestreams，SOCKS5是直]]></description><category></category></item><item><title><![CDATA[flex4 自定义效果学习]]></title><link>https://blog.youkuaiyun.com/wkkyo/article/details/50784049</link><guid>https://blog.youkuaiyun.com/wkkyo/article/details/50784049</guid><author>wkkyo</author><pubDate>Wed, 02 Mar 2016 22:59:43 +0800</pubDate><description><![CDATA[flex4默认提供了很多效果，但是很多时候我们还是要自定义效果才能满足需求
要自定义flex4的效果需要用到两个类，Animate和AnimateInstance
自定义的效果要继承自AnimateInstance，这个类用来编写实际效果运行的代码，里面必须覆盖两个方法play()和animationUpdate()，play()方法用来初始化效果的参数，然后启动效果，animationUpd]]></description><category></category></item><item><title><![CDATA[Flex中List组件拖动后错位的解决方法]]></title><link>https://blog.youkuaiyun.com/wkkyo/article/details/50784048</link><guid>https://blog.youkuaiyun.com/wkkyo/article/details/50784048</guid><author>wkkyo</author><pubDate>Wed, 02 Mar 2016 22:59:37 +0800</pubDate><description><![CDATA[在List中使用了ItemRenderer组件，结果在拖动的过程中老是出现错位的问题，这个问题困扰了我半天，google了好多资料，终于找到一个比较好的解决方案，特转过来分享给大家

使用Flex的组件时，大伙不可避免要和itemRenderer打交道。Flex组件中，支持自定义itemRenderer功能的组件不少，常见的有List,TileList,ComboBox,Tree,DataGr]]></description><category></category></item><item><title><![CDATA[0.5px惹的祸]]></title><link>https://blog.youkuaiyun.com/wkkyo/article/details/50784046</link><guid>https://blog.youkuaiyun.com/wkkyo/article/details/50784046</guid><author>wkkyo</author><pubDate>Wed, 02 Mar 2016 22:59:32 +0800</pubDate><description><![CDATA[近日UI改造，遇一浏览器兼容问题，久攻不破，偶见css中0.5px，改之1px，遂破，此记以戒。]]></description><category></category></item><item><title><![CDATA[将struts2的action交给spring管理及注意事项]]></title><link>https://blog.youkuaiyun.com/wkkyo/article/details/50784044</link><guid>https://blog.youkuaiyun.com/wkkyo/article/details/50784044</guid><author>wkkyo</author><pubDate>Wed, 02 Mar 2016 22:59:26 +0800</pubDate><description><![CDATA[将struts2中的action交给spring管理
1.xml方式
applicationContext.xml
 

<beans
	xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:aop="http:/]]></description><category></category></item><item><title><![CDATA[DOCTYPE不可怕，但把它拿走，会让你怕了又怕]]></title><link>https://blog.youkuaiyun.com/wkkyo/article/details/50784042</link><guid>https://blog.youkuaiyun.com/wkkyo/article/details/50784042</guid><author>wkkyo</author><pubDate>Wed, 02 Mar 2016 22:59:20 +0800</pubDate><description><![CDATA[DOCTYPE不可怕，但把它拿走，会让你怕了又怕。
最近在蓝色理想转悠，发现很多朋友提出有关DIV+CSS排版问题，以及IE与FF的兼容问题。怎么问的都有，结果就是一个——显示很奇怪，很难调整。我们浏览的大多数网站，或者用Dreamweaver创建一个新的网页文档时，源码的顶部都会有DocType声明，但是很多人没有注意它，甚至在创作时候直接将它删掉，其实这往往就是噩梦的开始。在遵循标准的任何W]]></description><category></category></item><item><title><![CDATA[eclipse突然报了com/genuitec/eclipse/j2eedt/core/J2EEProjectUtil 错误]]></title><link>https://blog.youkuaiyun.com/wkkyo/article/details/50784041</link><guid>https://blog.youkuaiyun.com/wkkyo/article/details/50784041</guid><author>wkkyo</author><pubDate>Wed, 02 Mar 2016 22:59:15 +0800</pubDate><description><![CDATA[今天eclipse突然报了com/genuitec/eclipse/j2eedt/core/J2EEProjectUtil 错误，并且工程文件打不开了，
一直提示错误信息：
An error has occurred.See error log for more details.
Reason:
com/genuitec/eclipse/j2eedt/core/J2EEProjectUti]]></description><category></category></item><item><title><![CDATA[解决struts2过滤器冲突的简单方法]]></title><link>https://blog.youkuaiyun.com/wkkyo/article/details/50784039</link><guid>https://blog.youkuaiyun.com/wkkyo/article/details/50784039</guid><author>wkkyo</author><pubDate>Wed, 02 Mar 2016 22:59:09 +0800</pubDate><description><![CDATA[struts2使用FilterDispatcher进行url过滤，默认是所有的url都过滤，但是项目中有些url是不想用struts2进行过滤的，网上搜了不少方法
 
1.修改web.xml文件。
   
    struts2   
    *.action   

只让过滤器对加有.action后缀的路径有效，如果需要拦截.jsp，加上*.jsp就行了。
但是这样如果有无后缀名]]></description><category></category></item><item><title><![CDATA[软件编程21法则]]></title><link>https://blog.youkuaiyun.com/wkkyo/article/details/50784037</link><guid>https://blog.youkuaiyun.com/wkkyo/article/details/50784037</guid><author>wkkyo</author><pubDate>Wed, 02 Mar 2016 22:59:03 +0800</pubDate><description><![CDATA[软件编程21法则
任何一个有经验的程序员都知道，软件开发遵循着一些不成文的法则。然而，如果你不遵循这些法则也并不意味着会受到惩罚；相反，有时你还会获得意外的好处。 
下面的就是软件编程中的21条法则：  
1. 任何程序一旦部署即显陈旧。 2. 修改需求规范来适应程序比反过来做更容易。 3. 一个程序如果很有用，那它注定要被改掉。 4. 一个程序如果没用，那它一定会有很好的文档。 5. 任何]]></description><category></category></item><item><title><![CDATA[Hibernate的SaveOrUpdate方法]]></title><link>https://blog.youkuaiyun.com/wkkyo/article/details/50784035</link><guid>https://blog.youkuaiyun.com/wkkyo/article/details/50784035</guid><author>wkkyo</author><pubDate>Wed, 02 Mar 2016 22:58:58 +0800</pubDate><description><![CDATA[Hibernate中Session的saveOrUpdate方法是用来判断被操作对象究竟是一个持久化对象（persistent）还是自由状态（transient）对象，然后根据判断结果执行save或者update。
判断时参考对象映射文件的主键id中定义unsaved-value属性，如果不定义，则默认为unsaved-value=null。 unsaved-value有下列几个选项： 1.nu]]></description><category></category></item><item><title><![CDATA[Hibernate缓存学习笔记]]></title><link>https://blog.youkuaiyun.com/wkkyo/article/details/50784034</link><guid>https://blog.youkuaiyun.com/wkkyo/article/details/50784034</guid><author>wkkyo</author><pubDate>Wed, 02 Mar 2016 22:58:52 +0800</pubDate><description><![CDATA[Hibernate在进行数据读取时会先在缓存里找,缓存中不存在时再去数据库查询,合理使用hibernate缓存能够有效的利用内存,减少物理数据库调用的次数.
 
ORM缓存策略
1.事务级缓存(session level cache)
session生命周期的缓存,关闭session即消亡
2.应用级/进程级缓存(sessionFactory level cache)
某个应用中的共享]]></description><category></category></item><item><title><![CDATA[转:静态方法是实例方法的区别]]></title><link>https://blog.youkuaiyun.com/wkkyo/article/details/50784031</link><guid>https://blog.youkuaiyun.com/wkkyo/article/details/50784031</guid><author>wkkyo</author><pubDate>Wed, 02 Mar 2016 22:58:47 +0800</pubDate><description><![CDATA[这是一个经常被时时提出来的问题，很多时候我们以为理解了、懂了，但深究一下，我们却发现并不懂。方法是我们每天都在写得，很多程序员大多都使用实例化方法，而很少使用静态方法，问原因也说不出来所以然，或者简单的回答两者定义的区别，静态方法不需要new就可以使用 实例化方法需要new了以后才可以使用。。。。我们真的理解了吗？从实际项目开发说起，这里有开发项目的三种方式：开发项目中把BLL和DAL]]></description><category></category></item><item><title><![CDATA[写了个MySQL数据备份小工具，放出来跟大家分享一下，欢迎拍砖。]]></title><link>https://blog.youkuaiyun.com/wkkyo/article/details/50784030</link><guid>https://blog.youkuaiyun.com/wkkyo/article/details/50784030</guid><author>wkkyo</author><pubDate>Wed, 02 Mar 2016 22:58:41 +0800</pubDate><description><![CDATA[自己写了个MySQL数据备份小工具，放出来跟大家分享一下，欢迎拍砖。因为数据库中有blob类型的字段，用SQLyog等工具备份出的脚本都是乱码，没办法导入，可是又经常要备份MySQL数据库，以前一直用bat脚本，但是每次都去改脚本总觉得很麻烦。就学习SWING写了个小程序，功能相当简单，能备份就足矣。暂时只支持MySQL 5.1。
  

  
  
    
      
        
]]></description><category></category></item></channel></rss>