编辑器之神-vim的使用技巧 vim VS. emacsvim被誉为编辑器之神,而emacs被誉为神之编辑器。中国文化博大精深,他们究竟有什么区别呢?作为emacs小白的我来说不想在这里献丑,直接贴上一篇博客,有兴趣的同学可以深入研究或者自行百度https://www.v2ex.com/t/332566。总之我对这两句话的简单理解是:vim是编辑器里面最优秀的;而emacs则常常是大神所钟爱的编辑器。貌似这个解释有些牵...
计算广告资料汇总 papers计算广告论文、学习资料、业界分享 - 王喆Paper Collection of Real-Time Bidding - Weinan Zhang计算广告干货整理 - 雪伦在线课程Introduction to Computational Advertising - Stanford计算广告学 - 刘鹏计算广告2.0 - 刘鹏计算广告学概论 - 百度计算广告学之搜索引擎
学习AOP之透过Spring的Ioc理解Advisor 本文转自:点击打开链接花了几天时间来学习Spring,突然明白一个问题,就是看书不能让人理解Spring,一方面要结合使用场景,另一方面要阅读源代码,这种方式理解起来事半功倍。那看书有什么用呢?主要还是扩展视野,毕竟书是别人总结出来的东西,看一遍可以发现自己的理解偏差,而且还可以看到一些平时不太关注的内容,当然看也可以是一种学习技术的方式。最开始只是想了解一下A
容器扩展点:后置处理器BeanPostProcessor 本文转自点击打开链接综述先回顾bean生命周期的这张图,看看BeanPostProcessor调用位置 通过上图看到BeanPostProcessor(Bean后置处理器)两个方法在bean生命周期的位置,即:在Spring容器完成Bean实例化和属性设置后,并且在bean调用初始化方法之前或之后。因此BeanPostProcessor(Bean后置处理
spring中MessageSource的配置使用方法 本文转自:点击打开链接ApplicationContext接口扩展了MessageSource接口,因而提供了消息处理的功能(i18n或者国际化)。与HierarchicalMessageSource一起使用,它还能够处理嵌套的消息,这些是Spring提供的处理消息的基本接口。让我们快速浏览一下它所定义的方法:String getMessag
JAVA 单例双重检查(double check)为什么不好用 本文转自:点击打开链接JAVA 单例双重检查(double check)为什么不好用在阅读之前,请先了解下线程并发涉及到的三个概念:原子性、可见性、有序性,可以看下这篇文章:http://www.cnblogs.com/dolphin0520/p/3920373.html我假设你已经看过几篇double check的文章,但还是一知半解。
spring-boot项目在外部tomcat环境下部署 本文转自:点击打开链接spring-boot默认提供内嵌的tomcat,所以打包直接生成jar包,用Java -jar命令就可以启动。但是,有时候我们更希望一个tomcat来管理多个项目,这种情况下就需要项目是war格式的包而不是jar格式的包。spring-boot同样提供了解决方案,只需要简单的几步更改就可以了,这里提供maven项目的解决方法:
Quartz源码分析 本文转自:点击打开链接Quartz是运用最广的任务调度框架,它最核心的组成部分是Scheduler、Trigger、JobDetail,然后给Scheduler配置个线程QuartzSchedulerThread,此线程在Scheduler初始化时启动,等待Scheduler start,然后从JobStore里拿到最近要触发的Trigger,以线程等待的方式等到trigg
浅谈CSRF攻击方式 本文转自:点击打开链接一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。二.CSRF可以做什么? 你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事
Class.getResource VS ClassLoader.getResource 今天在写代码的时候遇到了一个坑,内容如标题,特此记录一下,废话不多说,先看代码。 首先看看Class.getResource方法: public java.net.URL getResource(String name) { name = resolveName(name); ClassLoader cl = getClassLoader0();
免费的编程中文书籍索引 本文转自:点击打开链接目录语言无关类操作系统智能系统分布式系统编译原理函数式概念计算机图形学WEB服务器版本控制编辑器NoSQLPostgreSQLMySQL管理和监控项目相关设计模式Web大数据编程艺术其它语言相关类AndroidAPPAWKC/C++C#ClojureCSS/HTMLDartElixirErlangFortra
单点登录原理与简单实现 本文转自:点击打开链接一、单系统登录机制1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系 但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的
CDN的原理以及其中的一些技术 本文转自:点击打开链接需求CDN,全称Content Delivery Network,主要作用是为源站减少访问压力的同时,为客户端提供更快速的内容响应。除此之外,CDN还能对源站进行安全防护。其实真正为CDN付费的是源站,所以CDN的用户其实是源站,例如新浪微博,youku视频,淘宝网啊之类的。而客户端,是CDN的用户的用户。所以CDN是夹在源站和源站的用户之间的,以下称
mybatis处理集合、循环、数组和in查询等语句的使用 本文转自:点击打开链接在Mybatis的xml配置中使用集合,主要是用到了foreach动态语句。foreach的参数:foreach元素的属性主要有 item,index,collection,open,separator,close。item表示集合中每一个元素进行迭代时的别名.index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置.open表
Intellij Idea 工具在java文件中怎么避免 import .*包,以及import包顺序的问题 本文转自:点击打开链接Intellij Idea 工具在java文件中怎么避免 import java.utils.* 这样的导入方式,不推崇导入 *这样的做法 settings 》Code Style 》Java class count to use import with '*' 设置500 Names
Git-远程分支,远程跟踪分支,跟踪分支的区别 本文转自:点击打开链接最近在看git pro 3.5远程分支一节,结果被其中的远程分支,远程跟踪分支,跟踪分支这三个概念搞得有点困惑,看了几遍又结合英文版看了看,才明白其的区别以及其与本地分支的关系,在此说明一下。远程分支远程分支对应的英文为remote branch,其就是在远程仓库的普通分支,比如远程仓库上的master,自己在远程仓库创建的分支,以及自己推送到远程仓库
maven国内镜像配置 本文转自:点击打开链接maven在apache的官方镜像非常慢,严重影响速度,建议使用国内的镜像。目前国内的镜像较少,可以使用oschina的镜像,具体配置过程参考:http://maven.oschina.NET/static/help.html上述安装过程基于Windows环境,以下过程在Ubuntu 12.04下执行。maven安装Ubuntu
gradle项目与maven项目相互转化 本文转自:点击打开链接gradle这几年发展迅猛,github越来越多的项目都开始采用gradle来构建了,但是并不是所有人都对gradle很熟悉,下面的方法可以把gradle转成maven项目,前提gradle项目目录结构保持跟maven一样的约定,即/src/main/java这一套。 一、gradle --> maven在build.gradle中增加以下