这篇文章的东西可能比较杂,因为每个特性都不那么大,所以就揉在一起,倒是显得庞大了许多。
一.svn命令行在windows下面的安装使用
一直以来都使用svn管理源码,但是在windows下一直使用TortoiseSVN的界面进行管理,但是对于我这种键盘控(vim后遗症)来说,简直是无法忍受的!
搜啊搜啊搜啊,终于发现了-----CollabNetSubversion
下载页面:http://www.collab.net/downloads/subversion/
如果象我一样只需要命令行的话,下载CollabNet Subversion Command-Line Client v1.6.12 (for Windows)即可,网站需要先注册一下。
基本上安装完了,svn up、svn add就可以用了,但是svn ci的时候,你会发现如下提示:
svn: Commit failed (details follow):
svn: Could not use external editor to fetch log message; consider setting the $S
VN_EDITOR environment variable or using the --message (-m) or --file (-F) option
s
svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and
no 'editor-cmd' run-time configuration option was found
所以还需要在环境变量里设置一下:
SVN_EDITOR
C:\Vim\vim72\vim.exe
因为机器上本来就有vim,所以直接这样设置了,对于别的编辑器可不可以就不知道啦,截图如下:
二.django中autofield无法设置自增字段初始值的问题
众所周知,在mysql中,创建自增字段并设置初始值是采用如下的方法:
AUTO_INCREMENT=初始值
但是django的autofield字段是不支持设置初始值的,解决方案无非3种:
1.在创建库表之后,手动alert table 表明 AUTO_INCREMENT=初始值
2.在创建库表之后,手动插入一条记录,该记录的ID是你想要其实的最小ID
3.重写Model的save方法,设置起始ID
第二种应该是最差劲的,第一种会让部署时出现多余的步骤,还是第三种最为简单,实现代码如下:
class MManDevMedia(models.Model):
def save(self, force_insert=False, force_update=False, using=None):
if not MManDevMedia.objects.all():
self.id = 500000000
super(MManDevMedia,self).save(force_insert,force_update,using)
三.python中获取类的所有方法和字段列表
代码如下:
def GetProperties(obj):
propList = [prop for prop in dir(obj) if (not prop.startswith('_') and not callable(getattr(obj, prop))) ]
return propList
def GetMethods(obj):
methodList = [method for method in dir(obj) if (not method.startswith('_') and callable(getattr(obj, method))) ]
return methodList
对应getattr的函数还有hasattr和setattr,都是动态设置字段值的重要函数。
四.Vim中的CTRL+R =
其实是个简单的小功能,就是实现简单的数值计算,不过却可以省去你离开Vim去打开计算器的时间。
操作方式如下:
插入模式下输入ctrl+r,然后输入=,输入任意算数式,比如333*2,回车,即可看到结果。
五.fiddler模拟post请求
在公司经常有测试CGI(在遇到python之前写CGI测试代码那叫一个痛苦),但是post方法不像get方法那样可以直接在浏览器里面输入就行,所以有时候还是挺痛苦的,还好我们有fiddler(据说fiddler刚出的时候,可是引起一群前台开发的欢呼呢。。)
方法如下,直接上图:
以自测的一个url为例:http://172.16.56.103/cgi-bin/xyoapp/xyoapp_get_userinfo.cgi?openid=0000000000000000000000000039811C
1.打开fiddler,在浏览器中输入你的url,会看到fiddler抓包如下,注意有个Request Builder标签页.
2.打开那个Request Builder标签页,把选中的那个url拖到框里去,注意红框的部分:
3.把红框的部分改成如下,并填写对应的post参数,执行Excute:
4.左边多了一个请求,成功:
OK,就这样吧~~
怎么样 on #
快快回来,很多人在想你呐
Reply
Dante on #
汗呢。。。居然被过滤到垃圾评论里面去了。。。
Reply
nsdy on #
很想知道 既然选择了vim 那为什么还要在win下呢?
Reply
Dante on #
呵呵,公司用的是windows的系统,也是没有办法的呀~~
Reply
Dante on #
而且我觉得选了vim也并不妨碍使用windows呀,windows下也有vim呀~
Reply
nsdy on #
vim 毕竟原产于unix/linux。。。在win下使用 别扭阿...
Reply
Dante on #
嗯,确实有些不方便的地方,不过有些事情自己也是决定不了的啦~~
Reply
神奇 on #
插入模式下输入ctrl+r,然后输入=,输入任意算数式,比如333*2,回车,即可看到结果。
嘿嘿,,,很神奇啊...
Reply
zach on #
vim的那条有意思
Reply
Dante on #
哈,Vim的小技巧还有很多~~ 我现在每天还是能发现Vim的一些新东西~~
Reply
依云 on #
想起昨天在The TeXbook里看到的——
That’s the way it is with any powerful
tool: There’s always more to learn, and there are always better ways to do what
you’ve done before.
Reply
Dante on #
哈,说的不错~ 永无止境~
Reply
吴叔 on #
https://addons.mozilla.org/en-US/firefox/addon/3829/这个firefox扩展也可以Live HTTP Headers
Reply