自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(187)
  • 问答 (1)
  • 收藏
  • 关注

原创 git设定例

写道[http] proxy = http://xxx.xxx.xxx.xxx:8080 sslverify = false[user] name = myname email = myemail@gmail.com[log] abbrevCommit = true decorate = short[core] autocrlf = false[alias] ci = commit co =...

2017-10-20 15:16:00 83

原创 查看关机时间

Get-EventLog -LogName System -After 2017-06-01 | where {($_.eventID -eq 12) -or($_.eventID -eq 13)} | format-table -property TimeGenerated

2017-06-29 16:06:38 123

原创 根据业务归类log文件

当业务比较复杂的时候,会希望按照业务来归类log文件,而不是放到一个文件里。比如说,我希望按照cotroller单位去划分log文件,并且设定每个log文件的size是10MB,那么可以做一下设置。<?xml version="1.0" encoding="UTF-8"?><configuration> <include resource="org/...

2017-06-19 10:11:10 208

原创 Spring MVC

关于WebMvc的配置1.最暴力的配置方法就是直接继承WebMvcConfigurationSupport2.比较温柔的做法就是使用注解@EnableWebMvc这个注解是引入了DelegatingWebMvcConfiguration这样一个代理配置类,它继承了WebMvcConfigurationSupport,然后通过注入WebMvcConfigurer来进行配置,所以,只...

2017-06-05 13:55:54 82

原创 关于java的lambda

先看一段代码public class Lambda { public static void main(String[] args) { System.setProperty("jdk.internal.lambda.dumpProxyClasses", "."); Function<Integer, String> fun1 = S...

2017-05-29 12:26:21 77

原创 说说并发

关于并发和并行的区别,这儿不做讨论,另外并发这个词是否准确,我也不想深究,我只想描述一个都有机会被cpu临幸的现象,不管是如何实现的。 os和语言演化的过程就是要榨干计算机性能的过程。 很久以前,计算机处理任务是串行的,一件事情处理完才能处理另外一件事,那时候好单纯。看起来还不错。 后来,发现计算机里的各个部件的速度并不一致,甚至差了好几个数量级,这中间尤其cpu最...

2017-05-18 10:18:21 106

原创 关于语言

自从入坑以来,七七八八的也用过了不少编程语言了。一直都是处于学语法,写代码的程度。从来没有认真想过编程语言是什么。也许是老了,有时候也不会闷头往前冲,而是停下来,静静的想一下,自己在写什么,为什么会这么写。 程序这种东西,最终的目的是让cpu来处理数据,只是因为过程太过复杂,慢慢的演变出来很多种语言。[处理数据],很简单的一句话,那么就包括了[数据]和[处理]两个概念。复杂的...

2017-05-17 14:34:13 54

原创 Spring boot中使用@SessionAttributes需要注意的地方

在Spring Boot中,如果想把数据保存在session里,当然可以使用原生Request直接保存session,有个更方便的方法,那就是使用注解@SessionAttributes。使用这个注解,需要搞清楚它的运行原理,也就是什么时候保存,什么时候取出,否则当得出非期望的结果时会很疑惑。尤其当和注解@ModelAttribute混用的时候,需要搞清楚优先级。 1.Sessi...

2017-04-21 11:50:57 1636

原创 将博客搬至CSDN

写道搬家了 

2017-04-19 21:06:59 50

原创 谈谈spring boot里的@import

使用spring boot时,如果想自己实现一些初始设置比较复杂的bean时,可以在类上用@Configuration注解,然后类内部在返回具体bean的方法上使用@Bean注解。那么如何让容器找到这个配置类呢? 1.最简单的方法,当然是把它放到程序可以扫描到的package里,也就是@ComponentScan注解所指定的package里。   平时自己创建的配置类通常用这种方...

2017-03-09 14:50:51 236

原创 Spring boot + doma2

已经有很多很多的数据访问层了,每种或多或少都有自己的特点。由于个人习惯,对这个功能有以下要求:1.必须能写原生SQL   对于那种能生成sql的库不是很喜欢,尤其是比较复杂的sql,每次还要打印出sql检查一下生成的对不对。   另外最好不要像mybatis那种要把sql写在xml文件里,看起来太乱。 2.对于单表简单的CRUD,可以自动生成sql   也就是说我可...

2017-03-01 14:03:05 1275

原创 java中对程序进行修改的时机。

1.编译期(预处理),用的是apt,通过编译器javac的-processor参数,指定注解预处理类,对程序进行修改。这个时期可以做的事情,可以通过解析原程序生成的抽象语法树(AST)来创建新的源程序。日本比较有名的orm框架doma2用的就是这种方法,比如自动实例化Dao interface生成实例化后的源文件。也可以对抽象语法数(AST)进行修改,编译成新的class。Lo...

2017-02-03 13:43:27 81

原创 laravel的自动注入

laravel里,当我们在controller 的构造方法,或者实例方法中用类型指定一个参数时,系统可以自动帮你把该参数的实例注入进去。那么内部是如何实现的呢?先列出几个技术点1.类ReflectionClass   该类用于对指定类进行反射,提取类信息。2.ReflectionClass.getConstructor   获取指定类的构造方法,返回ReflectionM...

2016-11-29 15:52:55 925

原创 微框架lumen的问题

如果你只是想架构一个api服务器,不想使用laravel,而希望用更加轻量的lumen 。当你啥也没做,只是把它发布到apache的一个sub domain下,打开主页后居然发现找不到路由?!Sorry, the page you are looking for could not be found.1/1NotFoundHttpException in RoutesReques...

2016-11-25 10:15:20 292

原创 WAMP手动安装

这儿说的当然不是那个有名的wamp安装包了。LAMP(linux,apache,mysql,php),这是个很古老的开发组合,古老的能让很多人想起他的青葱岁月。现在提起LAMP一点都不酷,还冒着一丝土气,谈MEAN(mongo,express,angular,nodejs)才时尚。但是很多时候人们还是比较务实不是,只要LAMP能解决问题的领域,为啥不用呢,况且陆陆续续冒出的php框架,...

2016-10-14 17:02:32 97

原创 有关用户登录

但凡在公众网中提供服务的网站,基本上都有个用户注册,登录的过程。所以,设计一套完善的注册登录功能是十分有必要的。1.注册   a.为了防止用户恶意注册,一般注册需要是用户的邮箱,或者手机号,这样便可以通过发送确认链接,或者发送手机验证码的形式来验证邮箱或者手机号是否真实且属于注册用户。   b.为了防止手握大量邮箱的用户采取机器注册方式,注册页面必须有手动输入验证的方式,比如各种...

2016-10-05 10:35:41 85

原创 Spring框架下的URL设计

 实际上不管用任何框架,只要是不考虑用ajax,那么URL都不可能完全遵循RESTful,但是这不妨碍设计一套尽量RESTful,然后也不失实用性的URL规范。 如果使用Spring的话,尽量让请求mapping到具体方法上,而不是在方法里写分支。这样的话,可以使用以下规范  请求方法动作项目指定动作 请求按钮指定动作 URL 类方法 备考G...

2016-09-05 16:10:07 101

原创 设计RESTful的API

 一般的简单操作,基本上都能简化为一下几种方法URL类方法备注GET/postsindex一覧GET/posts?key1=xxx&key2=xxxindex检索GET/posts/createcreate作成画面取得POST/postsstore作成GET/posts/{:...

2016-09-05 10:13:42 56

原创 @ExceptionHandler方法中redirect

在web开发中比较流行PRG(Post/Redirect/Get)做法,如果有数据输出的话,会放到session里。对于@RequestMapping注解的方法,直接通过参数注入,把RedirectAttributes实例注入进去就好了但是,对于@ExceptionHandler注解的方法,却不行。这是因为@ExceptionHandler注解处理类ExceptionHandlerMet...

2016-08-08 19:03:52 624

原创 关于采番表设计

对于业务表,基本上都会给主键一个编号,尤其是主从表的时候,从表往往是根据主表的主键关联的。在mysql里通常用一个自增字段做这个编号,但是自增字段有个问题就是不大好管理,尤其是数据库重启,或者迁移的时候。如果一个表的自增字段毫无业务意义,即使在维护数据库的时候,对这个字段进行重拍,都不会影响业务的话,那么就没啥问题。但像上面所说,还有其他表参照这个字段的话,那么这个字段最好是自己采番...

2016-07-28 13:03:52 814

原创 Spring 数据绑定时的类型转换错误

在Spring的数据绑定里,可以使用@ModelAttribute把表单绑定到JavaBean上。但是大家都知道从客户端传过来的数据实际上首先都是字符型的,如果绑定对象JavaBean上有别的类型,那么势必需要进行类型转换。在这点上Spring做的比较欠缺,在绑定之前并没有进行类型check,硬生生的进行转换。比如转换为数字或者日期类型时 public class Pers...

2016-07-21 16:13:44 346

原创 当apache shiro跟spring cache结合使用时

如果双方都用ehcache作为缓冲库的话,对于cachemanger的设定会产生冲突,因为如果没有给shiro的EhCacheManager设定cachemanager的话,会创建一个默认名称的cachemanager,而spring的cache自动配置也同样会创建一个默认名称的cachemanager,由于ehcache2.5以后,不允许同一个jvm上存在两个同样名字的cachemanager...

2016-07-15 22:41:24 195

原创 Apache Shiro和Spring boot的结合使用

实际上在Spring boot里用Spring Security最合适,毕竟是自家东西,最重要的一点是Spring Security里自带有csrf filter,防止csrf攻击,shiro里就没有。但是Spring Security有点太复杂,custmize起来比较费力,不如shiro来的简单。如果想要在Spring boot里使用shiro,需要进行以下配置,首先pom.xml里...

2016-06-28 22:19:48 938

原创 Spring batch的自动运行

一个最简单的spring batch的程序,照办官网的sample,如下一个配置程序 @Configuration@EnableBatchProcessing@EnableAutoConfigurationpublic class BatchConfiguration { @Autowired private JobBuilderFactory jobBu...

2016-06-24 17:25:48 1278

原创 Spring boot里datasource的配置

spring boot里,在包spring-boot-autoconfigure里有个datasource自动配置类写道org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration 在配置文件application.properties里,配置了spring.datasource.*后,将自动配置da...

2016-06-23 17:16:45 1351

原创 Spring boot传统部署

使用spring boot很方便,一个jar包就可以启动了,因为它里面内嵌了tomcat等服务器。但是spring boot也提供了部署到独立服务器的方法。如果你看文档的话,从jar转换为war包很简单,pom.xml的配置修改略去不讲。只看source的修改,很简单,只要一个配置类,继承自SpringBootServletInitializer, 并覆盖configure方法。...

2016-05-10 11:33:35 223

原创 Mysql的字符集设定

mysql默认的编码(character_set_server)是latin1。当创建DB时,若没指定编码,那么DB的编码和character_set_server一致。当创建Table时,若没指定编码,那么Table的编码和DB的编码一致。当创建Column时,若没指定编码,那么Column的编码和Table的编码一致。 对于版本大于等于4.1.0的mysql,通过设置ch...

2016-04-22 17:00:15 57

原创 Spring boot里类的扫描

spring boot里,扫描的class对象是用注解@ComponentScan(未指定的情况下默认是main函数所在package)来指定的。然后通过类ComponentScanAnnotationParser来读取这些packages,交给ClassPathScanningCandidateComponentProvider来扫描这些类,找到package下所有类的活默认是由Path...

2016-04-21 09:31:31 524

原创 Spring boot和mybatis结合时mapper的扫描

关于Spring boot和mybatis的结合使用,网上已经有很多介绍了。基本上就是写个配置文件,指定SqlSessionFactory和TransactionManager的bean定义,还有指定MapperScan的扫描路径。 实际上这个配置文件不写,也没啥问题,对于TransactionManager,有DataSourceTransactionManagerAutoCon...

2016-04-13 12:50:02 444

原创 一个Android程序的快速搭建

如今,android的各种库非常丰富,好多东西拿来就用。一个应用型的app,大概也就是把数据从网上或者本地加载表示到页面,另外提交极少的一些数据。1.选型   由于google已经发布了官方的databinding组件,使用MVVM模式开发应该是个趋势。 2.各种周边库   2.1 网络         使用retrofit 2.0 + OKHttp + Gson的...

2016-03-31 17:26:58 80

原创 简单描述应用的启动过程

1.android系统启动第一个进程是init。 2.init会fork出一个叫zygote的进程。(所有的应用进程都是由zygote fork出来的)   zygote进程实际上是个jvm上的进程,启动jvm,打开监听端口(registerZygoteSocket),预加载类和资源。 3.zygote启动过程中,会fork一个system_server,因为是完全复制的z...

2016-03-25 14:11:15 93

原创 关于position和float

 position有四种值:static, relative, absolute, fixed.其中staic是默认值,并且static和relative是在文档流里占据位置的。static无法设置top,left属性relative设置的top,left属性是相对于自己在文档流里的位置的偏移。 absolute和fixed并不占据文档流。absolute会在其祖先里找第...

2016-03-15 16:14:40 79

原创 再看SoftReference和WeakReference

java中的SoftReference和WeakReference已经出来很久了,但是到现在为止开发的程序里几乎都没有直接用到它们。用不到,那就说明还没有碰到需要用它们的场景,当然也有一个原因,就是不知道怎么用。 简单来说,java中的引用默认都是强引用,只要当引用存在(就是能从根引用遍历到),GC就不会回收。有时候,我们无法自己决定还要不要用一个实例,可能需要根据情况决定,那...

2016-02-26 14:52:32 67

原创 内存中动态compile,load,invoke

java 6以,jdk里提供了一套编译方法类,可以动态编译java source。下面这个例子是编译字符串形式的source,直接得到编译后的class的字节进行load。 package jp.co.wqf;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io....

2016-02-23 16:19:57 91

原创 关于classloader

jvm自带的三个classloader1.Bootstrap classloader,是jvm的一部分,由C写成,调用的是核心库。   sun java下,可以用以下语句查看调用类路径  URL[] urls = sun.misc.Launcher.getBootstrapClassPath().getURLs();  写道%JAVA_HOME%/jre/lib/r...

2016-02-23 10:22:28 57

原创 spring mvc启动过程简析(1)

上次大概讲了一下spring mvc的启动步骤,但是没有讲如何读取配置文件(servlet-context.xml)的,接下来着重讲一下这一步。先看一下servlet-context.xml的namespace xmlns="http://www.springframework.org/schema/mvc"xmlns:xsi="http://www.w3.org/2001/X...

2016-02-03 16:55:35 75

原创 spring mvc启动过程简析(1)

Spring已经有点历史了,不过从来没有认真的看过。最近比较闲,便瞄了两眼Spring,用一个东西工作,自然是要先看看这东西内部是怎么构成的,否则用的时候,踩在坑里,也不知道如何跳出来。了解Spring最快的方法,当然是从启动开始。Spring和Struts一样,是通过一个Servlet来接管web服务的,首先看一下web.xml的定义 <?xml version="...

2016-02-01 15:00:58 70

原创 这段程序是咋回事?

Laravel的一段程序 Illuminate\Foundation\Http\Middleware\VerifyCsrfToken  /** * Determine if the session and input CSRF tokens match. * * @param \Illuminate\Http\Request $re...

2016-01-14 18:56:01 71

原创 弹性IP(EIP)不够用的解决办法

aws一个账号默认只有5个弹性IP,当部署应用的EC2比较多的时候,弹性IP显然是不够用的。解决方案无非以下几种:1.申请追加弹性IP   由于IPv4是稀缺资源,你要有充分的理由才能申请到,并且需要额外花钱。 2.前台放置一台EC2进行后台转发   这个方法需要搭建转发服务器,并且当流量比较大的时候,对这台前置的EC2要求也比较高。 3.使用Route53...

2015-12-24 12:35:35 2007

原创 salesforce里的权限控制

salesforce里对于权限的控制非常详尽,能够根据设定,从各个方面对数据进行控制。1.对于Object本身的控制,这个控制是通过Profiles,Permission Sets,来做,可以控制用户是否可以对Object进行[读,写,修改,删除],以及控制Object里的每个项目的[非可见,只读,可写]。 2.对于Object里的Record来讲,是通过以下几种设定方法来控制。...

2015-12-09 12:41:27 1014

空空如也

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

TA关注的人

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