1.SVN中的代码,必须首先先充分自测,达到stable状态才能提交。
2.提交svn代码的时间,只放到提测前和晚上。提交svn的文件必须检查有更改的所有行。
3.使用一些工具保证代码不会出错。
4.不断总结经验。
5.使用svn和git的ignore list 功能,确保代码安全性。
月度归档:2013年05月
产品开发过程中的经验
-
对于文本的处理,要考虑到文本可能的来源,对于文件中文本,不仅要用trim加工,还要将原有格式去掉。比如从excel专成csv文件,会多出引号。
- 对于业务中的一些需求和情况,在系统中的逻辑可有可无,最好的是把逻辑加上。比如银行加密箱号是unique,在数据库中最好将加密箱号设为unique
svn 使用经验总结
都是经验,甚至教训!
移动svn目录 最好的方法是使用svn move;
中间好的方法是先svn copy 原路径 新路径,再svn delete 原路径;
最坏的方法是将本地目录移动一下,然后在svn delete 原路径 和 svn add 新路径,先不说这种方法比较麻烦,其实还存在错误,因为本地移动目录,目录中的.svn隐藏文件夹也被移动;
参考:http://www.subversion.org.cn/svnbook/nightly/svn.ref.svn.c.move.html
apache nginx 配置多端口监听,浏览器自动跳转到80端口
最近两天在分别在配置apache 和 nginx 时,都遇到了一个相同的问题:
为apache和nginx开启监听多个端口(比如监听80和8080端口)时,改好配置,重启服务。
在浏览器端访问8080端口,url自动跳转到80端口,例如url输入http://**.**.**.**:8080, 则浏览器自动跳转到http://**.**.**.**。
而如果如果在url中的8080端口的后面添加访问文件,则正常展示8080端口下的目录或文件。
离奇的是,过一段时间,大约1个小时后,再访问http://**.**.**.**:8080,就不会跳转到http://**.**.**.**了。
网上搜索,记录此问题的网文不多。 然后自己分析了一下,大概有2种可能性。
1.浏览器端的缓存造成。但是,我换了浏览器,清空了缓存,依然如上。
2.服务器端缓存,1小时后才能恢复正常。 第2种情况比较靠谱些,顺着这个思路,最终找到了答案: 是因为开启了RPCBind服务造成。
解决方法是,将RPCBind的缓存清空。
BAE Website 配置 app.conf 实现单入口
Baidu Application Engin 中搭建网站时,如果要使用MVC框架,往往需要设置单入口。然而BAE的web服务程序(apache或者lighthttp)对用户是透明的。开发者不能通过修改配置文件,也不能通过修改.htaccess文件来实现单入口。但BAE在应用的根目录提供了app.conf这个配置文件,通过修改它可以实现重写、设置缓存时间的功能。 下面的这个app.conf,将所有,除文本文件和图片、视频文件等所有请求,都重定向到index.php。 欢迎大家补充~
handlers:
expire : .jpg modify 10 years
expire : .swf modify 10 years
expire : .png modify 10 years
expire : .gif modify 10 years
expire : .JPG modify 10 years
expire : .ico modify 10 years
url : ^(.*\.js)$
script : /$1
url : ^(.*\.css)$
script : /$1
url : ^(.*\.jpg)$
script : /$1
url : ^(.*\.gif)$
script : /$1
url : ^(.*\.jpeg)$
script : /$1
url : ^(.*\.png)$
script : /$1
url : ^(.*\.bmp)$
script : /$1
url : ^(.*\.swf)$
script : /$1
url : ^(.*\.ico)$
script : /$1
url : ^(.*\.JPG)$
script : /$1
url : ^(.*\.txt)$
script : /$1
url : ^(.*)$
script : /index.php
LNMP启停控制自动脚本
常常在更改LNMP配置之后,需要重启LNMP,在此写了一个自动化脚本,方便重启LNMP。 除了方便重新启动,还增加了关闭与开启功能。 Operating System: Ubuntu Server 代码
# !/bin/bash
function start(){ sudo service nginx start sudo service php5-fpm start }
function startall(){ start sudo service mysql start }
function stop(){ sudo service nginx stop sudo service php5-fpm stop }
function stopall(){ stop sudo service mysql start }
function restart(){ sudo service nginx restart sudo service php5-fpm restart }
function restartall(){ restart sudo service mysql restart }
## main()
case "$1" in
"start") start ;;
"startall") startall ;;
"stop") stop ;;
"stopall") stopall ;;
"restart") restart ;;
"restartall") restartall ;;
"configtest") configtest ;;
*) echo "Usage: $0 {start|stop|restart|startall|stopall|restartall}"
esac exit 0
webserver restart //重启nginx 和 php-fpm