Intelligence without ambition is a bird without wings.

2015-06-06
搭建git服务器

环境

  • CentOS-7.0.1

前提

  • 安装启动sshd

步骤

  1. 安装git

    yum install git
    
  2. 创建git目录

    mkdir /data/git
    
  3. 添加git用户

    adduser git
    
  4. 设置登录shell

    vi /etc/passwd
    
    git:x:1008:1009::/home/git:/user/sbin/nologin
    
  1. 用户认证

    • 密码方式

      passwd git
      
    • 将需要登录git的用户公钥添加进来(一个一行)

      vi /home/git/.ssh/authorized_keys
      

创建仓库

  • 初始化仓库

    cd /data/git
    git init --bare sample.git
    
  • 设置权限

    chown -R git:git sample.git
    

客户端配置

  • 添加远程仓库

    git remote add web git@hostname:/data/sample.git
    
  • 提交到远程仓库

    git push origin master
    

参考

  1. http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000
阅读此文

2015-06-06
centos-搭建SVN服务器

安装svn

yum install svn

配置

  1. 建立svn目录

    mkdir /data/svn
    
  2. 创建仓库

    svnadmin create /data/svn/xianji-server
    
  3. 进入配置目录

    cd /data/svn/conf
    
  4. 配置权限

    vi authz
    
    [/]
    admin = rw
    
  5. 配置账号密码(添加admin用户,密码admin)

    vi passwd
    
    [users]
    admin = admin
    
  6. svn服务配置

    vi svnserve.conf
    
    anon-access = read #匿名用户可读
    auth-access = write #授权用户可写
    password-db = passwd #使用哪个文件作为账号文件
    authz-db = authz #使用哪个文件作为权限文件
    realm = /var/svn/test # 认证空间名,版本库所在目录
    

启动SVN版本库

svnserve -d -r /var/svn

访问

svn checkout svn://127.0.0.1/xianji-server
阅读此文

2015-06-06
启动盘制作工具

阅读此文

2015-06-06
poweriso制作U盘启动

  • 使用poweriso打开镜像文件

  • 【工具】 => 【制作可启动U盘】

  • U盘使用完毕后,重新写入一个较小的ISO文件

  • 使用win磁盘管理工具(diskmgmt.msc),重新格式化即可

阅读此文

2015-06-05

使用override强制说明该函数为重写版本

  • 增强可读性

  • 确保该函数是重写父类的虚函数,避免拼写错误,类型不匹配,导致没有形成多态!

  • 可以更加清楚地表明该函数的用途,假设子类函数与父类函数完全一样,没有override
    辅助说明,则使用者很可能误用!

  • 定义和派生抽象类的利器,可在编译时发现诸如:修改了基类中某虚方法的参数列表后,忘记在其派生类中做出相应修改等各类相关错误。

改进的大于号解析

定义模板实例时,不再需要小心地在多个连续的大于号之间添加空格了。
优点

不必再担心模板定义中的“>>”被解析为右移操作。

阅读此文

2015-06-05
mysql-触发器

  • 查看触发器

    show triggers;
    
  • 删除触发器

    drop <trigger-name>;
    
阅读此文

2015-06-05
mysql-远程连接

环境

  • centos7.0.1-64

  • 5.5.41-MariaDB MariaDB Server

步骤

  1. 确保mysql配置文件/etc/my.cnf中没有bind本地地址

  2. 授权允许用户远程登录

    grant all PRIVILEGES on 数据库名.表名 to 用户名@'IP' identified by '密码';
    flush privileges;
    
  3. 放行mysql端口

    firewall-cmd --permanent --add-port=3306/tcp
    firewall-cmd --reload
    
阅读此文

2015-06-03
rsync常见错误

错误信息

@ERROR: chroot failed
rsync error: error starting client-server protocol (code 5) at main.c(1635) [Receiver=3.1.1]

原因:

rsyncd.conf中的path路径所设的那个目录并不存在所致.
阅读此文

2015-06-03

  • apt-get intall rsync

  • vi /etc/rsyncd.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#motd file = /etc/rsyncd.motd
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock

[server]
path = /home/wallace/server
comment = gupiaoxianji server code
uid = wallace
gid = wallace
read only = no
list = yes
#hosts allow = 10.0.0.1/0
auth users = wallace
secrets file = /etc/rsyncd.scrt
strict modes = false
  • vi /etc/rsyncd.scrt

    wallace:wallacework
    
  • vi /etc/default/rsync

    RSYNC_ENABLE=true
    
  • /etc/init.d/rsync restart

参考

  1. http://ubuntuforums.org/showthread.php?t=1252720
阅读此文

2015-06-02

在C++中,是指在一个类定义中,成员函数引用成员变量的位置先于成员变量定义的位置。

1
2
3
4
5
6
7
class C {
public:
void mutator(int x) { myValue = x; }
int accessor() { return myValue; }
private:
int myValue;
};

允许前向引用大大增加了编译器的复杂度与内存需求,并且使它不能成为一次通过型的编译器。

参考

  1. 维基-前向声明
阅读此文