首先,CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者。
RelativeLayout子控件之填满布局
已知三个控件上下排列,第一个与第三个控件高度确定,中间第二个控件高度要填满剩下的空间
实现PHP执行每个静态方法前,先执行一段公共代码
最近在封装Redis的操作类,想要实现Redis::setHash()这样的调用,但是在调用这个静态方法前,要先连接Redis:$redis->connect('127.0.0.1', 6379);,本来想把这个代码写在构造方法里,但是一想不对,调用PHP的静态方法时没有实例化对象,是不走构造方法的。最终使用了__callStatic和call_user_func_array这两个函数实现。
Ubuntu下用shadowsocks和Privoxy实现终端代理
安装Shadowsocks
Debian / Ubuntu:
1 | apt-get install python-pip |
编辑文件/etc/shadowsocks.json,填写代理信息:
1 | { |
其中local_address是本地绑定的IP。