<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Julyraining的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Julyraining</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Julyraining]]></copyright><item><title><![CDATA[springboot 缓存 Cacheable 序列化: java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to]]></title><link>https://blog.youkuaiyun.com/Julyraining/article/details/108408639</link><guid>https://blog.youkuaiyun.com/Julyraining/article/details/108408639</guid><author>Julyraining</author><pubDate>Fri, 04 Sep 2020 17:37:51 +0800</pubDate><description><![CDATA[springboot 缓存反序列化失败:
项目使用 redis 来做缓存，使用 springboot 的 @Cacheable 缓存数据时，可以成功存入 redis， 但是在第二次请求命中缓存时，就会出现一下错误：
java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to ...
经定位，确定了错误原因：

原因：springboot 的缓存使用 jackson 来做数据的序列化与反序列化，如果默认使用 Object 作为]]></description><category></category></item><item><title><![CDATA[springboot 控制白名单]]></title><link>https://blog.youkuaiyun.com/Julyraining/article/details/108154389</link><guid>https://blog.youkuaiyun.com/Julyraining/article/details/108154389</guid><author>Julyraining</author><pubDate>Fri, 21 Aug 2020 19:23:22 +0800</pubDate><description><![CDATA[在正常情况下，可以用 security 的hasIpAddress直接控制
http
     .authorizeRequests()
     .antMatchers("/", "/home")
     .hasIpAddress("127.0.0.1")

如果有多个ip， 则可以用表达式完成：
http
     .authorizeRequests()
     .antMatchers("/", "/home")
     .access("hasIpAddress('127.0.0.1')]]></description><category></category></item><item><title><![CDATA[nginx 使用]]></title><link>https://blog.youkuaiyun.com/Julyraining/article/details/108142947</link><guid>https://blog.youkuaiyun.com/Julyraining/article/details/108142947</guid><author>Julyraining</author><pubDate>Fri, 21 Aug 2020 11:06:23 +0800</pubDate><description><![CDATA[server {                                                                                      
        listen       8080 default_server;                                                         
        listen       [::]:8080 default_server;            ...]]></description><category></category></item><item><title><![CDATA[Flask+Apache2+Python配置]]></title><link>https://blog.youkuaiyun.com/Julyraining/article/details/52385463</link><guid>https://blog.youkuaiyun.com/Julyraining/article/details/52385463</guid><author>Julyraining</author><pubDate>Wed, 07 Dec 2016 16:22:04 +0800</pubDate><description><![CDATA[用Flask来进行python web开发是比较简洁的，它采用装饰器来映射url与方法，可以比较方便的构建简单的web程序
一个简单的例子：
hello.py:
from flask import Flask
app = Flask('__name__')
@app.route('/first')
def first_page():
    return 'this is the f]]></description><category></category></item><item><title><![CDATA[Python Scrapy安装(python 版本手动更新)]]></title><link>https://blog.youkuaiyun.com/Julyraining/article/details/52401775</link><guid>https://blog.youkuaiyun.com/Julyraining/article/details/52401775</guid><author>Julyraining</author><pubDate>Wed, 07 Dec 2016 16:20:07 +0800</pubDate><description><![CDATA[Scrapy安装需要python2.7以上
若python版本为2.6，则需要更新




#下载python2.7




#wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2 

 

#解压 




#tar -jxvf Python-2.7.3.tar.bz2]]></description><category></category></item><item><title><![CDATA[回调与观察者模式]]></title><link>https://blog.youkuaiyun.com/Julyraining/article/details/52944578</link><guid>https://blog.youkuaiyun.com/Julyraining/article/details/52944578</guid><author>Julyraining</author><pubDate>Thu, 27 Oct 2016 12:00:29 +0800</pubDate><description><![CDATA[观察者模式是为了满足监听的需求。也就是说当某件事情发生的时候， 一个或多个观察者需要获知此事件的发生， 如果每个观察者都采用轮询的方式判断事件是否发生，则会耗费较多的资源。所以这个任务就应该由被观察者来完成， 即被观察者持有多个观察者对象， 当自身某事件发生的时候， 去通知所有观察者。这样一种机制就是观察者模式。但是这其中会有一些安全问题，比如说被观察者持有观察者对象，这时观察者就完全暴露]]></description><category></category></item><item><title><![CDATA[Python3中关于中文编码的问题]]></title><link>https://blog.youkuaiyun.com/Julyraining/article/details/52759051</link><guid>https://blog.youkuaiyun.com/Julyraining/article/details/52759051</guid><author>Julyraining</author><pubDate>Sat, 08 Oct 2016 17:36:01 +0800</pubDate><description><![CDATA[在urllib.request使用中传递中文参数的时候，需要对其进行处理：urllib.parse.quote("中文字符串")
处理后变为%E6%E3...这样的形式
而urllib.request.urlopen的中文返回值为b'\xe6\xac\xa2\xe8\xbf\x8e'这样的格式
再进行解码就可以转为中文
 result.decode();]]></description><category></category></item><item><title><![CDATA[小程序]]></title><link>https://blog.youkuaiyun.com/Julyraining/article/details/52654612</link><guid>https://blog.youkuaiyun.com/Julyraining/article/details/52654612</guid><author>Julyraining</author><pubDate>Sat, 24 Sep 2016 23:13:04 +0800</pubDate><description><![CDATA[Page({
  data: {
    obj:{a:0,b:1,c:2}
  }
})




data = {{...obj}}
data = {{a:0,b:1,c:2}}]]></description><category></category></item><item><title><![CDATA[JS正则表达式替换数字]]></title><link>https://blog.youkuaiyun.com/Julyraining/article/details/52638963</link><guid>https://blog.youkuaiyun.com/Julyraining/article/details/52638963</guid><author>Julyraining</author><pubDate>Fri, 23 Sep 2016 15:42:19 +0800</pubDate><description><![CDATA[替换数字为空字符
var obj  =  document.getElementById('_id')
obj.value.replace(\[0-9]\g, '');]]></description><category></category></item><item><title><![CDATA[MongoDB使用]]></title><link>https://blog.youkuaiyun.com/Julyraining/article/details/52536939</link><guid>https://blog.youkuaiyun.com/Julyraining/article/details/52536939</guid><author>Julyraining</author><pubDate>Wed, 14 Sep 2016 12:24:44 +0800</pubDate><description><![CDATA[1.下载安装mongodb-win32-x86_64-2008plus-ssl-3.2.9-signed.msi
2.下载安装mongodb-compass-1.3.0-win32-x64.exe
在mongodb安装目录下的bin目录下，运行命令行，创建数据库:mongod --dbpath d:/mongodb/db
这样就可以用compass来连接管理mongodb数据库了]]></description><category></category></item><item><title><![CDATA[input输入限制（正则匹配）]]></title><link>https://blog.youkuaiyun.com/Julyraining/article/details/52240609</link><guid>https://blog.youkuaiyun.com/Julyraining/article/details/52240609</guid><author>Julyraining</author><pubDate>Thu, 18 Aug 2016 14:23:21 +0800</pubDate><description><![CDATA[限制input只能输入数字且最大为6位：
maxlength = "6"  onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"]]></description><category></category></item><item><title><![CDATA[Python安装Pip出现的问题]]></title><link>https://blog.youkuaiyun.com/Julyraining/article/details/51834964</link><guid>https://blog.youkuaiyun.com/Julyraining/article/details/51834964</guid><author>Julyraining</author><pubDate>Tue, 05 Jul 2016 22:14:54 +0800</pubDate><description><![CDATA[采用Pip安装Python第三方包是比较方便的，下面介绍一下Pip的安装：
1.下载地址：https://pypi.python.org/pypi/pip#downloads
2.解压后，从命令行进入解压目录，运行:python setup.py install
3.在这一步可能会出现“ImportError:
 No module named setuptools”的错误，是由于pyth]]></description><category></category></item><item><title><![CDATA[Git版本控制工具在Android Studio中的使用]]></title><link>https://blog.youkuaiyun.com/Julyraining/article/details/51815035</link><guid>https://blog.youkuaiyun.com/Julyraining/article/details/51815035</guid><author>Julyraining</author><pubDate>Sun, 03 Jul 2016 19:47:04 +0800</pubDate><description><![CDATA[之前一直在用SVN,但是最近在写Android，发现很多开源项目都托管在Github上，每次都只能下载源码再导入项目，所以决定开始学习Git，Github是以命令行来进行操作的，这一点和Linux是相似的，所以比较熟悉。
它的基本操作主要有以下几个：
1.创建新的Git仓库:
	$mkdir repo   
	$git init
2.clone一个项目到本地
	$ git clone git@]]></description><category></category></item><item><title><![CDATA[Mysql修改编码为utf8]]></title><link>https://blog.youkuaiyun.com/Julyraining/article/details/51789710</link><guid>https://blog.youkuaiyun.com/Julyraining/article/details/51789710</guid><author>Julyraining</author><pubDate>Thu, 30 Jun 2016 13:50:34 +0800</pubDate><description><![CDATA[默认情况下，mysql的编码格式为latin1，在这种情况下插入中文的时候，会出现UnSupportEncodingException异常。这时就需要我们修改mysql的默认编码，在Linux环境下，mysql的配置文件是放在/etc/mysql/my.cnf文件中的。要修改编码方式，需要做以下修改：


1.打开配置文件：vi /etc/mysql/my.cnf

2.在[client]]></description><category></category></item><item><title><![CDATA[Linux环境下，部署web项目]]></title><link>https://blog.youkuaiyun.com/Julyraining/article/details/51775740</link><guid>https://blog.youkuaiyun.com/Julyraining/article/details/51775740</guid><author>Julyraining</author><pubDate>Tue, 28 Jun 2016 14:34:44 +0800</pubDate><description><![CDATA[在Linux环境下，采用War文件来部署web项目是比较方便的，在上一篇文章中，我们已经实现了将war文件上传到远程linux中，接下来，就开始在tomcat中部署它。
1.安装tomcat：sudo apt-get insatll tomcat7
2.将war文件复制到tomcat的webapps目录下，具体目录（/）
3.启动tomcat服务：
                    ]]></description><category></category></item><item><title><![CDATA[Windows向Linux（ubuntu）传输文件]]></title><link>https://blog.youkuaiyun.com/Julyraining/article/details/51775399</link><guid>https://blog.youkuaiyun.com/Julyraining/article/details/51775399</guid><author>Julyraining</author><pubDate>Tue, 28 Jun 2016 13:56:11 +0800</pubDate><description><![CDATA[通过pscp与putty进行传输
下载putty：http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
下载pscp：http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
1.首先通过putty连接远程ubuntu
2.安装ssh并开启服务：s]]></description><category></category></item><item><title><![CDATA[SpringMVC注入Interceptor失败]]></title><link>https://blog.youkuaiyun.com/Julyraining/article/details/51590998</link><guid>https://blog.youkuaiyun.com/Julyraining/article/details/51590998</guid><author>Julyraining</author><pubDate>Sun, 05 Jun 2016 19:40:11 +0800</pubDate><description><![CDATA[有两种方法注入Interceptor
1.
  
        
            
            
        
    
2.

        
            
                RequestInterceptor">
            
           
    第二种也可以这样写：
	

	<bean id="annot]]></description><category></category></item><item><title><![CDATA[SpringMVC转发请求RedirectView用法]]></title><link>https://blog.youkuaiyun.com/Julyraining/article/details/51549864</link><guid>https://blog.youkuaiyun.com/Julyraining/article/details/51549864</guid><author>Julyraining</author><pubDate>Tue, 31 May 2016 22:37:27 +0800</pubDate><description><![CDATA[SpringMVC转发请求RedirectView用法项目实施过程中有这样的需求： 
    在当前页面提交某项操作后，需要刷新当前页面。 
本来以为是比较简单的，直接在window.open的时候加入_self参数，结果却出现空白页。经查阅资料，找到了比较满意的解决方案。： 
假设在Controller中有两个方法:        @RequestMapping("getAll")]]></description><category></category></item><item><title><![CDATA[Python学习（一）]]></title><link>https://blog.youkuaiyun.com/Julyraining/article/details/51039267</link><guid>https://blog.youkuaiyun.com/Julyraining/article/details/51039267</guid><author>Julyraining</author><pubDate>Fri, 01 Apr 2016 20:06:29 +0800</pubDate><description><![CDATA[文章讲的比较笼统，也算是我的学习笔记，目的只是希望看到此文的读者能大致了解python的基础语法，若想深入学习，建议你找一本python的入门书籍，书上会由浅入深的讲解python的一整套体系，对你的帮助不会比网上的一些博客差。]]></description><category></category></item><item><title><![CDATA[SpringMVC上传文件错误]]></title><link>https://blog.youkuaiyun.com/Julyraining/article/details/50969591</link><guid>https://blog.youkuaiyun.com/Julyraining/article/details/50969591</guid><author>Julyraining</author><pubDate>Thu, 24 Mar 2016 10:43:23 +0800</pubDate><description><![CDATA[the current request is not a miltipart request
1.检查form 的属性中是否加入了 enctype = "multipart/data"： 

2.检查spring.xml中是否加入了id为multipartResolver的bean ，这是用来解析文件的解析器：]]></description><category></category></item></channel></rss>