- 浏览: 44319 次
- 性别:
- 来自: 杭州
最新评论
文章列表
之前在设置KVM桥连的时候碰到一个问题,记录下来供以后参考
[root@vane-server ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0 DEVICE=br0TYPE=BridgeBOOTPROTO=staticNM_CONTROLLED=noHWADDR=80:c1:6e:74:68:8aONBOOT=yesIPADDR=192.168.1.12NETMASK=255.255.255.0DNS2=202.101.172.35GATEWAY=192.168.1.1DNS1=192.168.1.1IPV6INIT=noUSERCTL ...
转自 http://hi.baidu.com/dd_taiyangxue/item/43ea0731c3fbabc72e8ec252
OpenVPN安装配置
一. OpenVPN 安装环境
Server 端的环境
redhat, kernel版本: 2.6.18.8-128.el5, IP 为 192.168.0.166
kernel 需要支持 tun 设备, 需要加载 iptables 模块. 检查 tun 是否安装: 代码:
[root@sever160 ~]# modinfo tun
如果没有 modinfo 命令, 直接找一下, 看看 kernel ...
转自 http://www.weste.net/2011/9-7/learn-vim.html
vim的学习曲线相当的大,所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。
你想以最快的速度学习人类史上最好的文本编辑器VIM吗?你先得懂得如何在VIM幸存下来,然后一点一点地学习各种戏法。
Vim the Six Billion Dollar editor
Better, Str ...
转自 http://huoding.com/2011/11/08/126
OAuth的改变
去年我写过一篇《OAuth那些事儿》,对OAuth做了一些简单扼要的介绍,今天我打算写一些细节,以阐明OAuth如何从1.0改变成1.0a,继而改变成2.0的。
OAuth1.0
在OAuth诞生前,Web安全方面的标准协议只有OpenID,不过它关注的是验证,即WHO的问题,而不是授权,即WHAT的问题。好在FlickrAuth和GoogleAuthSub等私有协议在授权方面做了不少有益的尝试,从而为OAuth的诞生奠定了基础。
OAuth1.0定义了三 种角色:User、Ser ...
转自 http://huoding.com/2010/10/10/8
OAuth那些事儿
英国诗人蒲柏在牛顿的墓志铭中写道:『自然和自然的法则在黑暗中隐藏,上帝说,让牛顿去吧,于是一切都被照亮!』,而在保护账号安全方面,OAuth起着如同牛顿般中流砥柱的作用,为什么这么说呢?
人人网提供了导入MSN联系人的功能,但前提是用户必须提供账号密码,如下图所示:
查找你的MSN联系人中有谁在人人网上
人人网信誓旦旦的宣称不会记录你的密码,它甚至提供了一个所谓保证账号安全的方法:先改密码再导入,成功后再改为原密码。不过这样做就安全了么?
什么是OAuth
如今很 ...
转自 http://hi.baidu.com/k_boy/item/0104f2f19932dbb530c19943
web 应用服务器集群系统,是由一群同时运行同一个 web 应用的服务器组成的集群系统,在外界看来,就像是一个服务器一样。为了均衡集群服务器的负载,达到优化系统性 ...
假定您的主机上已经安装了LAMP环境
1. 安装所需的依赖包
#yum install automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel ruby-devel php php-devel
2. 从http://thrift.apache.org/download/下载thrift源码包
3. 安装thrift
./configure –prefix=/usr/local/thrift
make && m ...
ThroughtWorks优秀软件设计9项原则
1. 方法只使用一级缩进。
2. 拒绝使用 else 关键字。
3. 封装所有的原生类型和字符串。
4. 一行代码只有一个“.”运算符。
5. 不要使用缩写。
6. 保持实体对象简单清晰。
7. 任何类中的实例变量都不要超过两个。
8. 使用一流的集合。
9. 不使用任何 Getter/Setter/Property。
在Cent OS操作系统下配置Hadoop集群
以下集群配置内容,以两台机器为例。其中一台是namenode1,另一台是datanode1,datanode2。
namenode1上运行name node, data node, task tracker, job tracker,secondary name node;
datanode1和datanode2上运行data node, task tracker。
1. 安装jdk
yum install java-1.6.0-openjdk java-1.6.0-openjdk-devel
2. 设置环 ...
转自酷壳网:
http://coolshell.cn/articles/7490.html
关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术
》中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方法。本文的东西是我的一些经验和知识,并不一定全对,希望大家指正和补充
。
在开始这篇文章之前,大家可以移步去看一下酷壳以前发表的《代码优化概要
》,这篇文章基本上告诉你——要进行优化,先得找到性能瓶颈
!
但是在讲如何定位系统性能瓶劲之前,请让我讲一下系统性能的定义和测试,因 ...
原型模式(Prototype Pattern)
, 一般用于经常变化的复杂产品结构构造,通常每个产品对象都会实现一个clone()方法,原型模式就是通过clone方法来达到构造对象的目的。
相比工厂模式,原型模式具有结构简单的特点,因为工厂模式需要有一个与产品结构相对应的产品工厂结构,而原型模式适合各种复杂的产品结构,只需要每一个产品对象实现clone方法即可。
interface Prototype extends Clonable{
public Object clone();
}
public class ConcretePrototype implements P ...
建造模式(Build Pattern)
, 是用来构造复杂对象的,通常应用于无法轻易构造完成一个完整对象的时候,而在不完整的状态之下,该对象是无法被有效使用的。
一个很容易理解的例子是电子邮件系统,一般包括收件人,发件人,主题,内容,附件等部分,在发件人被赋值之前,实际上该电子邮件系统是无法正常工作的,这就是建造模式最佳的使用场景。
建造模式通常有一个导演类,一个抽象建造类,一个具体实现类,一个产品类组成,代码示例如下:
class Direcot{
Builder builder;
public Product contruct(){
...
单例模式(Singleton)
,属于最常见的设计模式之一,大部分系统都会用到,目的是为了维护系统中唯一的一个实例。
可分为eager模式,示例代码如下:
class EagerSingleton{
private static final EagerSingleton m_instance = new EagerSingleton();
private EagerSingleton(){}
public static EagerSingleton getInstance(){
return m_instance;
} ...
工厂模式用于创建对象,根据不同的结构形式又可分为简单工厂模式,工厂方法模式和抽象工厂模式。
简单工厂模式(Simple Factory)
,又叫静态工厂模式。
顾名思义,就是提供一个静态方法来封装对象的实例化,目的是为了隐藏实例化过程而不让客户端直接掉调用构造函数或者无法通过构造函数来实现实例化(抽象类)。示例代码如下:
class FooSimpleFactory{
public static Foo createFoo(){
return new FooImpl();
}
}
abstract class Foo{
...
对于面向对象的软件系统设计来说,可维护和可重用是两大指标。
具体到设计原则上来,又可分为6项基本原则:
- 开闭原则
(Open Close Principle/OCP): 抽象化
- 里氏代换原则
(Liskov Substitution Principle/LSP):基类可以出现的地方,一定可以用子类来替换
- 依赖倒转原则
(Dependency Inversion Principle/DIP): 要依赖于抽象类,而不是具体类
- 接口隔离原则
(Interface Segregation Principle/ISP): 使用多个专门的接口比使用单一的总接口要好,基 ...