Docker基础命令
运行容器:
docker run -i -t ubuntu /bin/bash
docker run -i -t ubuntu:12.04 /bin/bash 运行特定tag标定的容器
-i:开启STDIN
-t:分配一个伪终端
docker run –rm ….
–rm:运行结束后删除容器并清理,等价于容器退出后执行docker rm -v
为什么要从svn迁移到git?
svn适合项目管理,将项目产出(包括交付代码)在svn上进行管理,有细粒度的权限控制,但不适合代码管理,svn分支和tag太重,使用svn不容易做到开发流程管控,而且极容易出现代码相互覆盖,git配合git flow可以很容易做到代码开发流程管控。
CentOS:
yum install -y git-svn
MacOSX:
brew install git subversion
其他操作系统自理。
Spring Security通过一系列的Fliter来进行认证授权。
通过SecurityFilterAutoConfiguration注册一系列的SecurityFilter到FilterChainProxy,对请求进行一层层过滤。
Spring Security内置的Fliter,按照顺序如下:
其中,通常需要扩展的地方在4这个位置。可以通过AbstractConfiguredSecurityBuilder的addFilter方法进行添加,addFilter方法可指定添加位置,自定义的Filter要添加到FilterSecurityInterceptor之前ConcurrentSessionFilter之后。
斐波那契数列的数学公式:
后一个数等于它前两个数的和。
前13个为:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233
1 | /** |
1 | public interface Map<K, V> { |
1 | //使用接口的默认实现 |
1 | public class ListBaseMap<K, V> implements Map<K, V> { |
将数列不停的拆分,直到只剩下一个元素,此时必然有序,然后将拆分的部分两两合并,最后成为一个有序数列。
1 | import java.util.Comparator; |
1 | import java.util.Arrays; |
新版kryo提供了工厂类和序列化池,不用自己实现序列化池了。
1 | import com.esotericsoftware.kryo.Kryo; |
使用Eureka的第一步是进行Eureka client的初始化。如果你是在AWS中使用,可以使用以下方式进行初始化:
使用1.1.153版本时,客户端可以和governator/guice一其使用,详细请看示例。
在1.1.153版本之前,你可以使用以下方式进行客户端初始化:
1 | DiscoveryManager.getInstance().initComponent( |
如果你是在其他数据中心使用,则使用以下方式:
1 | DiscoveryManager.getInstance().initComponent( |
Eureka Client查找并使用eureka-client.properties,相关信息看第二章客户端配置。