给同事做了一个小分享,主要是简单介绍一下python这门语言,ppt贴上,期待python能够成为主流!!!
一个vpn越墙用的路由表修改工具
四月 14th, 2011
刚换到mac,昨天搞定翻墙这事,自己有个vpn,但是几乎没用,因为开了vpn所有连接就都走vpn了,与内网测试机无缘。不过直到昨天发现,路由表可以搞定这事。。
原理是:默认网关不选vpn,把需要访问网站的ip添加到路由表,路由到vpn网关即可~
工具:autovpnconf
下载之后用文本编辑器修改一下里面需要使用vpn的网站列表,我只加了几个
前提:连接vpn,并且vpn不是默认网关
mac下只要不选“通过vpn连接发送所有通信”即可
ubuntu下,连接vpn之后就成默认网关了,可以手动改回来
sudo route del default #xx.xx.xx.xx是网关ip eth0是有线网卡设备名,如果用无线就是 wlan0 sudo route add default gw xx.xx.xx.xx dev eth0
之后执行:
sudo ./autovpnconf
OK了,这样以来只有指定的网站才会走vpn。
!!!每次连接vpn都需要执行一下~~!
一段指定附件下载名的apache配置
三月 21st, 2011
继续优化
SetEnvIf Request_URI "\/SAVE\/(.*)$" save_file_name="$1"
SetEnvIf Request_URI "\.(jpg|jpeg|png|gif|bmp)$" is_image_file
#除了图片,其他文件直接访问均提示下载,防止上传了js,css,html等不应该被浏览器加载的文件
Header set Content-Disposition attachment env=!is_image_file
Header set Content-Disposition "attachment; filename=%{save_file_name}e" env=save_file_name
RewriteEngine On
RewriteRule ^/(.*)\/SAVE\/.*$ /$1 [L]——————————————————-
优化一下~
SetEnvIf Request_URI "\/SAVE\/(.*)$" save_file_name="$1"
Header set Content-Disposition "attachment; filename=%{save_file_name}e" env=save_file_name
RewriteEngine On
RewriteRule ^/(.*)\/SAVE\/.*$ /$1 [L]只需要访问 : ….5_1300238850.jpg/SAVE/我的图片.jpg 就可以了,ie下文件名后面竟然也不会出现“[1]”了~
—————————————-
SetEnvIf Request_URI "_DOWN_NAME_(.*)_DOWN_EXT_(.*)$" save_file_name="$1.$2"
#下面这种ie下有问题
#SetEnvIf Request_URI "_DOWN_NAME_(.*)$" save_file_name="$1"
Header set Content-Disposition "attachment; filename=%{save_file_name}e" env=save_file_name
RewriteEngine On
RewriteRule ^/(.*)\._DOWN_NAME_.*$ /$1 [L]实现的效果:
假设一个附件上传后的地址是:
http://foo.com/03/21/1bc5b77f3e50b7fbe12c792ee438da45_1300688708.jpg
如果想要指定下载名,则访问:
http://foo.com/03/21/1bc5b77f3e50b7fbe12c792ee438da45_1300688708.jpg._DOWN_NAME_我的图片_DOWN_EXT_jpg
———–
vim->email->wordpress
升级了一下wordpress,貌似出bug了
二月 28th, 2011
WordPress升级到3.1发现用来排除某些目录feed输出的代码不好用了,bug?,有空再整。。
function blue_feed_cat_exclude($query) { if ($query->is_feed) { $query->set('cat','-48,-179'); } return $query; } add_filter('pre_get_posts','blue_feed_cat_exclude');
———–
vim->email->wordpress
twisted保持http长连
二月 15th, 2011
twisted实在是太方便了~
#下面是示例代码,未经测试。。 from twisted.internet import reactor from twisted.web import server, resource clients = [] class Simple(resource.Resource): isLeaf = True def render_GET(self, req): #保存request clients.append(req) #客户端主动终止时删除 req.notifyFinish().addErrback(lambda _:clients.remove(req)) #保持长连 return server.NOT_DONE_YET #之后可以异步的用类似下面的方法回写数据,关闭连接 #for req in clients: # req.write('xxx') # req.finish() #clients = [] site = server.Site(Simple()) reactor.listenTCP(8888, site) reactor.run()
中间调试的时候有个问题,就是用FF同时发起两个长连请求同一个URL,第一请求返回前第二个请求会被阻塞,一开始还以为是twisted的问题,但后来试了下同时开FF和chrome没有问题。
———–
vim->email->wordpress


