产品开发过程中的经验

  1. 对于文本的处理,要考虑到文本可能的来源,对于文件中文本,不仅要用trim加工,还要将原有格式去掉。比如从excel专成csv文件,会多出引号。

    1. 对于业务中的一些需求和情况,在系统中的逻辑可有可无,最好的是把逻辑加上。比如银行加密箱号是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