[转载]svn 开启修改备注

有些时候提交了内容后,对于备注感觉不是写得太好.需要修改备注.但系Svn 的服务默认没有开启该功能.如果使用TortoiseSVN 尝试修改备注(在show log的备注栏中右键就可以看到编辑的功能)可能会出现以下错误:

Repository has not been enabled to accept revision propchanges;
ask the administrator to create a pre-revprop-change hook

解决的方法如下:

在Unix/Linux平台上,在库的hooks目录下,复制pre-revprop-change.tmpl成pre-revprop-change。

cp pre-revprop-change.tmpl pre-revprop-change


在Windows平台上,复制以下内容保存为文件hooks/pre-revprop-change.bat
(没有测试过,参考地址)

@ECHO OFF
:: Set all parameters. Even though most are not used, in case you want to add
:: changes that allow, for example, editing of the author or addition of log messages.
set repository=%1
set revision=%2
set userName=%3
set propertyName=%4
set action=%5

:: Only allow the log message to be changed, but not author, etc.
if /I not “%propertyName%” == “svn:log” goto ERROR_PROPNAME

:: Only allow modification of a log message, not addition or deletion.
if /I not “%action%” == “M” goto ERROR_ACTION

:: Make sure that the new svn:log message is not empty.
set bIsEmpty=true
for /f “tokens=*” %%g in (‘find /V “”‘) do (
set bIsEmpty=false
)
if “%bIsEmpty%” == “true” goto ERROR_EMPTY

goto :eof

:ERROR_EMPTY
echo Empty svn:log messages are not allowed. >&2
goto ERROR_EXIT

:ERROR_PROPNAME
echo Only changes to svn:log messages are allowed. >&2
goto ERROR_EXIT

:ERROR_ACTION
echo Only modifications to svn:log revision properties are allowed. >&2
goto ERROR_EXIT

:ERROR_EXIT
exit /b 1

OS X 自带的PHP 环境GD库没法用的解决方法

这玩意很蛋疼。毕竟OS X 的php鬼知道是怎么搞的。

所以,如果单独编译,可能会出点问题。那么,只能找其他方法了。

索性阿福招到了。

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5

这个命令跑一下就OK了。如果你的OS X 是最新版的话,那么你应该看一下你的php版本,使用php -v来查看,然后把后面的数字替换掉。

另外提醒一下,这个URL需要挂代理才行,否则下载速度渣渣,可能会导致超时。。毕竟curl也不是很智能的。

等他跑完,预计你就能够用上gd库了。也能生成验证码了。当然,你单独安装xampp就当我没说。

Python 3 安装mysqlcliet遇到的各种问题

python 2 安装MySQLdb的时候只需要装一个vc9的编译器就OK了。

但是Python 3 安装mysqlclient(MySQLdb的py3 fork)的时候却遇到了各种问题

首先,你得装微软的virtual studio 这个你可以装2015版的community 版本 也就是传说中的社区版,这玩意不收钱,也很强大。

在装的时候如果你不开发其他的话,只要选择c/c++就OK了。在各个选项都搜索一下。勾上C/C++

再然后,你安装的时候会遇到找不到my_config.h的情况。

然后你得去mysql官网,安装一个叫MySQL Connector的东西,当然是C版本的,地址如下

http://dev.mysql.com/downloads/connector/c/

然后那玩意就有了。不过,你还会遇到一个问题,就是找不到mysqlclient.lib

这玩意在connector的安装目录下的lib目录了。由于python3.5使用了vs14版本的编译器,而connector 没有vs14版本的mysqlclient.lib所以还是会出错。这个么,我没看他的代码是怎么写的,所以最简单的办法就是换版本。从3.5换成3.4,但是你还是TMD没有解决方案,还是有问题。

所以我看了vccompiler这个代码 发现get_build_version 这个函数是获取studio 的版本的。所以我直接给他指定了版本 return ‘12.0’。当时我已经从vs 2015换回到了vs2013(MySQL的connector 这玩意最高支持vs2013)所以蛋疼的事情发生了。各种错误!!!

然后我终于没办法了。

只能用pip 安装已经编译好的wheel

所以。只能用这条路了。

找到了这个学校的FTP

http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient

去下载了一发。

然后pip install wheel

pip install pathofmysqlclient

成了。

OS X EI php环境搭建一键脚本

写脚本的初衷:OS X 本身自带了PHP 环境了的,只要再多下一个MySQL就搞定了,不必要再去下个集成包MAMP。

脚本下载地址:http://www.rffan.info/scripts/python/setphpenv.py 

使用方法是:

curl -O http://www.rffan.info/scripts/python/setphpenv.py

sudo python setphpenv.py

 

在我自己的OS X 上是测试通过的,就是不知道你们的合用不。

 

有使用过不合用的,可以留言吱声,我会更新的。

KVM的新建虚拟机无法上网

KVM是各大Linux,尤其是2.6版本以后内核中内置的虚拟化,事实上,小鸡的虚拟化的性能还不如VMWARE不过,鉴于KVM的母鸡也可以做生产环境,这点就比vmware好很多(应该没有人傻到用母鸡做生产环境把?)

最近在家里做实验,需要用到很多小鸡,无法不想买杜甫,而且国外的杜甫贼贵。只能在家里跑。

用一台I3 16G 3T的鸡鸡跑。

bridge都已经弄好了

新建小鸡发现

小鸡无法上网。只能查看自己在公司弄的测试服的kvm

看到了interface 里公司的是bridge

而我的小鸡是network

好吧,在看看/etc/libvirt/qemu/network里面的配置文件,好吧,是NAT转发的配置,我在内网,IP随便我搞,我还用得着NAT?

果断修改小鸡的配置

virsh destroy xiaoji

virsh edit xiaoji

把interface里面改成bridge

source也改成bridge=’br0′

搞定能上网了。欢快的做实验去咯。

unknown url type: https — Some packages may not be found!

Python 编译安装之后出现安装其他包的时候:  unknown url type: https — Some packages may not be found!

这个错误是因为你编译之前没有安装Openssl-devel包

所以提醒广大盆友编译Python前先装一个yum install -y openssl*

当然如果你觉得装的包太多了的话也可以直接

yum install openssl-devel

或者

apt-get install openssl-dev

Compression requires the (missing) zlib module

Compression requires the (missing) zlib module

 

这个问题是出在python编译安装的时候。

为何会有编译安装

1、你想用不同版本的python

2、你的版本太老了。

 

所以,解决方法是

yum install zlib

yum install zlib-devel

 

debian -based系统

应该是apt-get install zlib

apt-get install zlib-dev

WIN 8 密钥,先收藏着

  win8.1产品密钥:

核心版安装密钥:334NH-RXG76-64THK-C7CKG-D3VPT

专业版安装密钥:XHQ8N-C3MCJ-RQXB6-WCHYG-C9WKB

单语言版安装密钥:Y9NXP-XT8MV-PT9TG-97CT3-9D6TC

中文版安装密钥:TNH8J-KG84C-TRMG4-FFD7J-VH4WX

win8.1 专业版 key(可电话激活):

GMDYM-NCKGV-V44HG-XJRK3-C36VD

GMDYM-NCKGV-V44HG-XJRK3-C36VD

win8 pro9PG6N-PGWCG-WTFXK-79MVT-68XT7

R2V2G-N378F-VG3YY-W8BB7-94PKV

7WXNJ-XG8BK-W29VG-MYYJT-Y949V

PDQJ3-MQNRP-V4BTT-27HCD-G8XT7

QDN3G-P4JXV-J32VJ-KVY47-3JXT7

win8 ent

NBMD4-R2X34-3VX3J-246WF-DJXVC

win8

YKTCC-7NTMT-2XT3C-7W7C6-PDG63

354d964a-56e7-43c5-a93f-287a7a750bd4

核心版(multiple editions): 334NH-RXG76-64THK-C7CKG-D3VPT

专业版(Professional): XHQ8N-C3MCJ-RQXB6-WCHYG-C9WKB

Windows 8.1 简体中文专业版+核心版 MSDN 正式版(64位)

Windows 8.1 (multiple editions) (x64) – DVD (Chinese-Simplified)

文件名: cn_windows_8_1_x64_dvd_2707237.iso

SHA1:F79E0093DDEDD488F40D4AE6B6F0FA3C529051E1

Windows 8.1 简体中文专业版+核心版 MSDN 正式版(32位)

Windows 8.1 (multiple editions) (x86) – DVD (Chinese-Simplified)

文件名: cn_windows_8_1_x86_dvd_2707405.iso

SHA1:D07E7CA99B455FFC0B58BE96333D1F554FE83D8A

python 2 安装某些包出现的致命错误: libxml/xmlversion.h:没有那个文件或目录

致命错误: libxml/xmlversion.h:没有那个文件或目录

debian based(debian ubuntu)
apt-get install libxml2-dev
sudo ln -s /usr/include/libxml2/libxml   /usr/include/libxml

 

red-hat based(centos,fedora)

yum install libxml2-devel

sudo ln -s /usr/include/libxml2/libxml   /usr/include/libxml

 

出现

libxslt/xsltconfig.h: No such file or directory

 

debian based(debian ubuntu)

apt-get install libxslt-dev

 

red-hat based(centos,fedora)

yum install libxslt-devel

Python 使用QQ邮箱发邮件

QQ邮箱太恶心了。经常改验证方式

阿福最近的脚本不能用了,研究了一上午。

终于研究出来了。

def sendmail(data):
    content = data['content']
    msg = MIMEText(content,_subtype='plain',_charset='utf8')
    msg['Subject'] = data['Subject']
    msg['From']= data['From']
    msg['To'] = ';'.join(data['mail_list'])
    try:
        server = smtplib.SMTP()
        server.connect(mail_host)
        server.starttls()
        server.login(email,auth_key)
        server.sendmail(data['From'],data['mail_list'],msg.as_string())
        server.close()
        return True
    except Exception,e:
        for x in e:
            print x
        return False
sendmail(data)

代码如上

需要的变量有
email string 用户名
auth_key string 授权码(非邮箱密码)
data dict 数据字典

构造好之后就能够登录发邮件了。效果非常好

 

Windows 下部署MongoDB

第一步当然是你去MongoDB官网下载MongoDB Windows版本咯。

下载下来后是一个安装包

第二部,安装这个安装包(其实不叫安装,叫解压更贴切一些。因为写Windows 安装包的那些货根本就没把这个安装包写好,纯粹就是解压。)

第三部,找个地方放你的MongoDB的数据库和log的地方,一般我就放在安装目录的data下和logs目录下

例如我的MongoDB是安装在H:\mongodb下,那么我一般会在该目录下新建三个文件夹分别是data文件夹,log文件夹和etc文件夹

data文件夹,顾名思义就是放数据的,log文件夹就是放文件的,而etc文件夹就是放配置文件的。

第四部,我们来到etc文件夹,新建一个mongo.conf 名字随便你取,反正要MongoDB能访问到。

内容如下

dbpath=H:\mongodb\data
logpath=H:\mongodb\logs\mongo.log

然后打开CMD 测试一下是否正常H:\mongodb\bin\mongod.exe –config H:\mongodb\etc\mongo.conf

正常则说明我们可以给他建立服务了。

命令如下

sc create MongoDB binPath=”H:\mongodb\bin\mongod.exe –config H:\mongodb\etc\mongo.conf –service” displayname=”MongoDB Standard Server” start= auto

(等号前后请勿加空格!!!会很坑爹的。windows 居然也有不智能的时候。!!!)

当然这个CMD是在以管理员权限下运行的,否则会出现 Access Dined

ok 至此完成

使用 命令 net start MongoDB 来启动他。

如果要删除,也请在管理员权限下运行sc delete MongoDB来删除。

如何让你的CentOS 使用yum 安装nginx 或者Ubuntu使用apt-get安装Nginx

lnmpwithwordpress

nginx在CentOS 的新版本,例如CentOS 7 的yum中是不存在 或者在老版本的CentOS中是很古老的版本。现在阿福写了个脚本,能让CentOS的各个版本都能高高兴兴的使用最新稳定版。

截至写脚本为止nginx最新稳定版为1.8.0 ,最新主线版为1.9.9(不过nginx官方编译版本仍然为1.8.0)。官方编译版本的模块很多,具体如下

nginx version: nginx/1.8.0
built by gcc 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: –prefix=/etc/nginx –sbin-path=/usr/sbin/nginx –conf-path=/etc/nginx/nginx.conf –error-log-path=/var/log/nginx/error.log –http-log-path=/var/log/nginx/access.log –pid-path=/var/run/nginx.pid –lock-path=/var/run/nginx.lock –http-client-body-temp-path=/var/cache/nginx/client_temp –http-proxy-temp-path=/var/cache/nginx/proxy_temp –http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp –http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp –http-scgi-temp-path=/var/cache/nginx/scgi_temp –user=nginx –group=nginx –with-http_ssl_module –with-http_realip_module –with-http_addition_module –with-http_sub_module –with-http_dav_module –with-http_flv_module –with-http_mp4_module –with-http_gunzip_module –with-http_gzip_static_module –with-http_random_index_module –with-http_secure_link_module –with-http_stub_status_module –with-http_auth_request_module –with-mail –with-mail_ssl_module –with-file-aio –with-ipv6 –with-http_spdy_module –with-cc-opt=’-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector –param=ssp-buffer-size=4 -m64 -mtune=generic’

 

包括但不限于uwsgi spdy http2等的支持。效果非常好。很适合那些懒癌发作的小伙伴们(当然严正提醒作为生产环境的小伙伴们,安装的软件越多,越容易出错。所以,并不建议作为生产环境的小伙伴们安装此版本的nginx)

 

使用方法如下:

wget -c http://rffan.info/scripts/setupnginxyum.sh

或者git clone https://github.com/rffanlab/Set-Up-yum-install-for-nginx-on-centos.git 解压后运行该shell

运行之后

直接使用yum install -y nginx

如果你是使用的是Debian系列(包括Ubuntu)

请wget -c http://rffan.info/scripts/setaptnginx.sh

获取之后使用 bash setaptnginx.sh运行。

就可以搞定了。

OS X 下安装mysql-python 包出现EnvironmentError: mysql_config not found 的快速解决方案

玩Python的人都是一个急性子的,或者说,能够一条命令解决的事情,为何要使用更复杂的步骤呢?

网上一群使用复杂步骤的教程。今天阿福来教你一条命令解决这个问题。

前提:

你的OS X 已经安装了mysql 如果没有的话,请自行去mysql官网下载一个安装包dmg或者.tag.gz(这个可能需要你自己去编译了。)的都可以。

使用:

使用命令

ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/

搞定。

接下来,你使用easy_install 或者是pip安装都可以直接而且顺利的安装了。

然后祝福大家使用Python愉快~

加载其他站点的rss害死人

最近,阿福的站点打开很慢,不过很奇怪啊,阿福的站点是放在阿里云的啊,怎么会慢了,在经过几经排查之后,发现,出了gravatar之外,还有主网页生成很慢,奇怪,其他的WordPress程序打开都很快啊,于是锁定主题,但是发现主题重新安装不加载任何小工具速度很快,终于发现有一个阿福的站点挂了,于是无法加载到rss于是乎阿福的速度也挂了。蛋疼。