- 浏览: 139171 次
- 性别:
- 来自: 北京
-
最新评论
-
h416373073:
正遇到了此问题不知如何解决, 多谢分享
solr + Tomcat安装 -
jack_boy:
blackproof 写道原来也用过es,超费内存,不如sol ...
ElasticSearch中文分词ik安装 -
blackproof:
原来也用过es,超费内存,不如solar好用
ElasticSearch中文分词ik安装
文章列表
由于
go get code.google.com/p/go-tour/gotour
报错:
# cd .; hg clone -U https://code.google.com/p/go-tour /usr/home/huaying/go/src/pkg/code.google.com/p/go-tour
abort: error: EOF occurred in violation of protocol
package code.google.com/p/go-tour/gotour: exit status 255
还有其它各种错误,总之无法使用go get 安装
只能手动下载安装 ...
意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类
结构:
AbstractFactory声明一个创建抽象产品的操作接口
ConcreteFactory实现创建具体产品对象的操作
AbstractProduct为一类产品对象声明一个接口
ConcreteProduct定义一个将被相应的具体工厂创建的产品对象,并且要实现AbstractProduct接口
实现示例:
public abstract class ProductA {
abstract void operationA();
}
public abstract class ProductB {
a ...
意图:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态发生改变时,会通知所有观察者对象,是他们能够自动更新自己。
别名:Publish/Subscribe模式
结构图:
Subject:主题
Observer:观察者
观察者可以定义他感兴趣的主题,一个主题可以呗多个观察者所订阅,当主题(Subject)的状态发生改变时会通知它所有订阅它的观察者。
Subject类中的Notify方法,是在其状态改变时调用,Notify方法会调用所有Observer中的update方法。Observer类中的update方法在其子类中实现,所 ...
本文只记录配置本地subversion,没有认证,http,ssh等配置
1. 安装subversion服务端
yum install subversion
或源码编译安装
2. 创建svn用户组
root用户
# groupadd developers //增加组developers
# usermod -a -G developers username //将用户username添加到developers中
# id username //查看username ...
int scanf(const char *format, ...);
int fscanf(FILE *stream, const char *format, ...);
int sscanf(const char *str, const char *format, ...);
其中的format可以是一个或多个 {% [width] [{h | l | I64 | L}]type | ' ' | '\t' | '\n' | 非%符号}
注:
1、 * 亦可用于格式中, (即 %*d 和 %*s) 加了星号 (*) 表示跳过此数据不读入. ( ...
系统:
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境 ...
意图:定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个类的实例化延迟到其子类。
别名:虚构造器(Virtual Constructor)
结构:
Product类或接口,定义工厂方法所创建的对象的接口
ConcreteProduct类,实现Product接口
Creator类,声明工厂方法factoryMethod,该方法返回一个Product类型的对象。Creator也可以定义一个工厂方法的缺省实现,返回一个缺省的ConcreteProduct对象;可以调用工厂方法创建一个Product对象。
ConcreteCreator类,重定义工厂方法以放回一个 ...
意图:为其它对象提供一种代理以控制对这个对象的访问。
结构图如下:
示例代码:
public abstract class Subject {
public abstract void request();
}
抽象类Subject定义了RealSubject与Proxy的公共接口,使得Proxy可以代替Subject
public class RealSubject extends Subject {
@Override
public void request() {
System.out.println("RealSubject");
} ...
意图:动态的给一个对象添加一些额外的职责,就增加的功能来说,Decorator模式相比生成子类更为灵活。
别名:Wrapper
结构图如下:
Decorator维持一个指向Component对象的引用,并定义一个与Component接口一致的接口。
ConcreteDecorator则是负责向ConcreteComponent添加职责的类
Decorator将Operation()请求转发给它的Component对象,并有可能在转发请求前后执行一些附加的操作。
示例代码如下
public abstract class Component {
public abstract void ...
抽象类:一种聚集相关实体的方式,其关注点是“如何设计具体的派生类/实现,从而可以以相同的方式使用他们”
接口:关注点是“要使用派生类/实现的对象”
定义:策略模式封装了一系列的算法,所有算法完成相同的工作,但实现不同,可以以相同的方法调用所有的算法,减少各种算法类与使用算法类之间的耦合。
结构图如下
Context类维护一个Strategy类的引用,由ContextInterface接口操作Strategy子类,这样客户端就只要知道Context类就可以了。
一个简单的例子,目的只在说明Strategy模式的类关系。
Strategy抽象类
class Strategy
end
Strategy子类
class ConcreteStrategyA < Strategy
def algorithmInterfa ...
简单工厂方法将变化放到工厂类中,让子类能够独立的变化,相互之间不影响
比如有一个普通的netIO流,它有open,close,read,write操作,而SLL io也有同样的操作,但是操作的方法不同。如果在程序主体中用条件语句来区分,会让程序分支很多,要做修改时,不得不检查所有的代码,如果将IO流抽象为一个stream类,有open,close,read,write操作
class Stream {
size_t read(size_t len);
size_t write(size_t len);
void open(char *remote);
void cl ...
Centos6.0
yum install php
php -i | grep cgi
有--enable-fastcgi --enable-force-cgi-redirect选项,安装的是php fastcgi版本
按照wiki.nginx上的说明添加yum repo
/etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
yum install nginx
修 ...