自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 资源 (1)
  • 收藏
  • 关注

原创 Python学习(一)

文章讲的比较笼统,也算是我的学习笔记,目的只是希望看到此文的读者能大致了解python的基础语法,若想深入学习,建议你找一本python的入门书籍,书上会由浅入深的讲解python的一整套体系,对你的帮助不会比网上的一些博客差。

2016-04-01 20:06:29 475

原创 springboot 缓存 Cacheable 序列化: java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to

springboot 缓存反序列化失败:项目使用 redis 来做缓存,使用 springboot 的 @Cacheable 缓存数据时,可以成功存入 redis, 但是在第二次请求命中缓存时,就会出现一下错误:java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to ...经定位,确定了错误原因:原因:springboot 的缓存使用 jackson 来做数据的序列化与反序列化,如果默认使用 Object 作为

2020-09-04 17:37:51 4247 1

原创 springboot 控制白名单

在正常情况下,可以用 security 的hasIpAddress直接控制http .authorizeRequests() .antMatchers("/", "/home") .hasIpAddress("127.0.0.1")如果有多个ip, 则可以用表达式完成:http .authorizeRequests() .antMatchers("/", "/home") .access("hasIpAddress('127.0.0.1')

2020-08-21 19:23:22 3041

原创 nginx 使用

server { listen 8080 default_server; listen [::]:8080 default_server; ...

2020-08-21 11:06:23 220

原创 Flask+Apache2+Python配置

用Flask来进行python web开发是比较简洁的,它采用装饰器来映射url与方法,可以比较方便的构建简单的web程序一个简单的例子:hello.py:from flask import Flaskapp = Flask('__name__')@app.route('/first')def first_page():    return 'this is the f

2016-12-07 16:22:04 4620

原创 Python Scrapy安装(python 版本手动更新)

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

2016-12-07 16:20:07 1675

原创 回调与观察者模式

观察者模式是为了满足监听的需求。也就是说当某件事情发生的时候, 一个或多个观察者需要获知此事件的发生, 如果每个观察者都采用轮询的方式判断事件是否发生,则会耗费较多的资源。所以这个任务就应该由被观察者来完成, 即被观察者持有多个观察者对象, 当自身某事件发生的时候, 去通知所有观察者。这样一种机制就是观察者模式。但是这其中会有一些安全问题,比如说被观察者持有观察者对象,这时观察者就完全暴露

2016-10-27 12:00:29 1004

原创 Python3中关于中文编码的问题

在urllib.request使用中传递中文参数的时候,需要对其进行处理:urllib.parse.quote("中文字符串")处理后变为%E6%E3...这样的形式而urllib.request.urlopen的中文返回值为b'\xe6\xac\xa2\xe8\xbf\x8e'这样的格式再进行解码就可以转为中文 result.decode();

2016-10-08 17:36:01 864

原创 小程序

Page({ data: { obj:{a:0,b:1,c:2} }})data = {{...obj}}data = {{a:0,b:1,c:2}}

2016-09-24 23:13:04 357

原创 JS正则表达式替换数字

替换数字为空字符var obj  =  document.getElementById('_id')obj.value.replace(\[0-9]\g, '');

2016-09-23 15:42:19 7960

原创 MongoDB使用

1.下载安装mongodb-win32-x86_64-2008plus-ssl-3.2.9-signed.msi2.下载安装mongodb-compass-1.3.0-win32-x64.exe在mongodb安装目录下的bin目录下,运行命令行,创建数据库:mongod --dbpath d:/mongodb/db这样就可以用compass来连接管理mongodb数据库了

2016-09-14 12:24:44 826

原创 input输入限制(正则匹配)

限制input只能输入数字且最大为6位:maxlength = "6"  onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"

2016-08-18 14:23:21 724

原创 Python安装Pip出现的问题

采用Pip安装Python第三方包是比较方便的,下面介绍一下Pip的安装:1.下载地址:https://pypi.python.org/pypi/pip#downloads2.解压后,从命令行进入解压目录,运行:python setup.py install3.在这一步可能会出现“ImportError: No module named setuptools”的错误,是由于pyth

2016-07-05 22:14:54 7958 2

原创 Git版本控制工具在Android Studio中的使用

之前一直在用SVN,但是最近在写Android,发现很多开源项目都托管在Github上,每次都只能下载源码再导入项目,所以决定开始学习Git,Github是以命令行来进行操作的,这一点和Linux是相似的,所以比较熟悉。它的基本操作主要有以下几个:1.创建新的Git仓库: $mkdir repo $git init2.clone一个项目到本地 $ git clone git@

2016-07-03 19:47:04 697

原创 Mysql修改编码为utf8

默认情况下,mysql的编码格式为latin1,在这种情况下插入中文的时候,会出现UnSupportEncodingException异常。这时就需要我们修改mysql的默认编码,在Linux环境下,mysql的配置文件是放在/etc/mysql/my.cnf文件中的。要修改编码方式,需要做以下修改:1.打开配置文件:vi /etc/mysql/my.cnf2.在[client

2016-06-30 13:50:34 497

原创 Linux环境下,部署web项目

在Linux环境下,采用War文件来部署web项目是比较方便的,在上一篇文章中,我们已经实现了将war文件上传到远程linux中,接下来,就开始在tomcat中部署它。1.安装tomcat:sudo apt-get insatll tomcat72.将war文件复制到tomcat的webapps目录下,具体目录(/)3.启动tomcat服务:                   

2016-06-28 14:34:44 566

原创 Windows向Linux(ubuntu)传输文件

通过pscp与putty进行传输下载putty:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html下载pscp:http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html1.首先通过putty连接远程ubuntu2.安装ssh并开启服务:s

2016-06-28 13:56:11 1962

原创 SpringMVC注入Interceptor失败

有两种方法注入Interceptor1. 2. RequestInterceptor"> 第二种也可以这样写: <bean id="annot

2016-06-05 19:40:11 1779

原创 SpringMVC转发请求RedirectView用法

SpringMVC转发请求RedirectView用法项目实施过程中有这样的需求: 在当前页面提交某项操作后,需要刷新当前页面。 本来以为是比较简单的,直接在window.open的时候加入_self参数,结果却出现空白页。经查阅资料,找到了比较满意的解决方案。: 假设在Controller中有两个方法: @RequestMapping("getAll")

2016-05-31 22:37:27 2972

原创 SpringMVC上传文件错误

the current request is not a miltipart request1.检查form 的属性中是否加入了 enctype = "multipart/data": 2.检查spring.xml中是否加入了id为multipartResolver的bean ,这是用来解析文件的解析器:

2016-03-24 10:43:23 421

原创 Submime Text2 安装

Sublime Text2subime Text 2 是一个轻便的文本编辑器,用来写html很方便,里面也有很多插件可以方便我们写各种标签,比如emmet 。 在subime Text 2中安装插件很简单,只需要几步: 1.View->show Console 将下面这段复制到文本框,然后回车 import urllib2,os,hashlib; h = '2deb499853c43

2016-03-12 17:06:29 844

原创 Submime Text2 安装

Sublime Text2subime Text 2 是一个轻便的文本编辑器,用来写html很方便,里面也有很多插件可以方便我们写各种标签,比如emmet 。 在subime Text 2中安装插件很简单,只需要几步: 1.View->show Console 将下面这段复制到文本框,然后回车 import urllib2,os,hashlib; h = '2deb499853c43

2016-03-12 17:05:19 595

原创 JAVA Swing

最近在写一个桌面应用,本来打算用c#的WinForm,但是考虑到以后可能会较多的接触非可视化界面编程,而且不想再去写那么多的sql语句,Hibernate也很好用,所以就采用swing来做一个简单的界面。 用swing来开发界面完全是由代码来拼装界面,将每一个元控件放入更大的容器中,最后将最外层的容器显示出来,就实现了最终的效果。 这里就不再详写swing的语法格式,而是将我遇到的问题分享给大家。

2016-03-07 19:48:18 1753

原创 Android使用xUtils3上传文件

xUtils3使用HttpUrlConnection来发送http请求,可以实现最大2G的大文件上传。1.首先还是在application中初始化:x.Ext.init(this);2.然后使用org.xutils.http包下的RequestParams来构造参数。params = new RequestParams(url);params.addBodyParameter(

2016-02-11 15:50:51 12507 4

原创 Tomcat的安装与部署

Tomcat是一个开源的web应用服务器,被用来响应web请求。tomcat是免安装的,解压后配置环境变量即可运行。安装步骤:http://tomcat.apache.org/download-70.cgi在此网站下载相应版本的tomcat并解压到相应目录。在环境变量中配置CATALINA_HOME, 值为目录名,如:E:\Tomcat.这样就完成了tomcat的配置在

2016-02-09 21:50:09 382

原创 HttpURLConnetion的使用

HttpURLConnection是用来发送Http请求的类,用法如下: String urlStr = "http://www.xx.com"; URL url = new URL(urlStr); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setDoInpu

2016-01-28 23:04:05 1541

原创 RecyclerView+SwiptRefreshLayout异常

出现错误如下: java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHolder{43089310 position=5 id=-1, oldPos=4, pLpos:4 scrap [attachedScrap] tmpDetached n

2016-01-26 17:31:04 462

原创 Volley解析中文字符

在使用Volley的时候,一般使用的是继承自Request的StringRequest,而StringRequest中重写了两个方法:praseNetworkResponse和diliverResponse,可能还会有getParams方法,用于获取参数。在praseNetworkResponse(NetworkResponse networkResponse)中,对networkRespon

2016-01-26 16:26:26 802

原创 Hibernate的addEntity

使用Hibernate的时候,一般是使用hql语句来实现查询操作,但有时候由于效率的原因,可能需要直接使用sql语句来进行查询,这时候使用query.list();方法得到的List一般是属于Object类型,需要在createSQLQuery之后添加一个方法addEntity(Type),这样Hibernate会将其转化为Type类型的对象。如Query query = session.cr

2016-01-26 16:09:35 782

原创 drawable文件夹的问题+使用drowable定义动画

1.在Android Studio中,有一个drawable文件夹,但是它里面是又多了一个v21文件夹,这个v21文件夹里存放的是api21以上用到的资源,而api21一下则不会调用这里的资源。今天出现的情况就是这样,将图片复制到项目内的时候,忽略了这个问题,它被放在了v21文件夹内,编译的时候没有任何问题,但是运行之后,出现Resources$NotFoundException的错误。由于是

2016-01-24 23:57:41 950

原创 Android ActionBar中CustomView的显示

ActionBar中如果需要显示一些用于导航的视图,则可以用setCustomView来设置:actionBar.setCustomView(R.layout.customView);但是使用之前必须显式的将它开启:actionBar.setDisplayShowCustomEnabled(true);否则会出现NullPointerException

2016-01-24 16:16:57 776

原创 Android模拟文件上传---------------找不到错误

上传文件的时候,出现问题,却找不到错误,之前测试的是可以的,但就是有问题。后来把测试类粘贴过来就可以了,但我实在是找不到二者间有什么区别,暂且放在这里,待以后再来分析。出问题的类文件:package com.md.util.request;import android.content.Context;import android.content.SharedPreferences;

2016-01-24 12:03:54 491

原创 SwipeRefreshLayout+RecyclerView实现上拉刷新

点击打开链接这篇文章是接着上篇文章的,上篇文章已经实现了下拉刷新,而要实现RecyclerView的上拉刷新,只要为RecyclerView添加滚动监听事件就可以了,判断RecyclerView的最后一项是否已经显示,并判断用户手势,由这两项决定是否刷新:recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener()

2016-01-22 17:35:00 401

原创 SwipeRefreshLayout+RecyclerView下拉刷新

RecyclerView与SwipeRefreshLayout结合可以实现下拉刷新。布局文件:<android.support.v4.widget.SwipeRefreshLayout android:id="@+id/id_swipe" android:layout_width="wrap_content" android:layout_h

2016-01-22 17:25:13 454

原创 layout_graviry和gravity的区别及需要注意的问题

gravity决定该控件内部元素的位置,如TextView中文字的靠左还是靠右layout_gravity决定该控件相对于父控件的位置,如textview位于layout的左边还是右边。在LinearLayout内使用gravity属性时,好像不起作用,因为LinearLayout内的控件默认是依次排列摆放的。

2016-01-22 17:06:55 529

原创 Android BroadcastReceiver的使用

BroadcastReceiver广播消息接收,被用来在一个应用中传递或监听信息,好处在于它一旦被注册,就可以持续的进行监听,一般被用作异步线程完成后的ui更新操作。用法:声明一个BroadcastReceiverpublic class MyBroadcastReceiver extends BroadcastReceiver { @Override

2016-01-21 21:48:12 293

转载 正则表达式

public static boolean isEmail(String email){ String str="^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\\.([a-zA-Z0-9_-])+)+$"; Pattern p = Pattern.compile(str); Matcher m = p.matcher(ema

2016-01-19 16:59:57 264

原创 Android Support Library学习(一)

1.使用Android Support Library的时候,一般都会用Toolbar将ActionBar替换掉,具体做法如下:Toolbar toolbar = (Toolbar) findViewById(R.id.id_register_toolbar);//绑定控件 toolbar.setTitle("Title");//设置标题 setSupportA

2016-01-19 16:46:50 314

原创 Hibernate生成数据库

写完实体类与映射文件后,运行一次测试就可以生成数据库表了,但之前需要在数据库建立一个已命名的空表。

2016-01-17 16:22:18 367

原创 SpringMVC返回文件流

@RequestMapping("message/get") @ResponseBody public ResponseEntity getMessageImage(@RequestParam(ImageRequestParam) String fileName) throws IOException { String filePath = FinalString.ImagePat

2016-01-16 12:25:03 8027

apktool android工具

android工具,可以用来学习别人的优秀算法,不过这只是初步的东西

2015-01-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除