最近总结的一些技巧(vim,python,svn,fiddler等)
这篇文章的东西可能比较杂,因为每个特性都不那么大,所以就揉在一起,倒是显得庞大了许多。
一.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,就这样吧~~
建议继续学习:
- 配置Nginx+uwsgi更方便地部署python应用 (阅读:105405)
- 如何成为Python高手 (阅读:53411)
- vim几个小技巧(批量替换,列编辑) (阅读:35925)
- python实现自动登录discuz论坛 (阅读:31593)
- 简明Vim练级攻略 (阅读:20728)
- python编程细节──遍历dict的两种方法比较 (阅读:19003)
- 每个程序员都应该学习使用Python或Ruby (阅读:16274)
- Vim下的代码自动补全和代码跳转阅读 (阅读:14362)
- 为什么要用 Emacs/Vim,而不是任何其他编辑器 (阅读:12149)
- 使用python爬虫抓站的一些技巧总结:进阶篇 (阅读:12121)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:Dante 来源: Vimer
- 标签: fiddler python svn vim 技巧
- 发布时间:2010-08-13 09:48:46
- [52] IOS安全–浅谈关于IOS加固的几种方法
- [51] android 开发入门
- [50] 如何拿下简短的域名
- [48] 图书馆的世界纪录
- [48] Oracle MTS模式下 进程地址与会话信
- [47] 【社会化设计】自我(self)部分――欢迎区
- [46] Go Reflect 性能
- [43] 读书笔记-壹百度:百度十年千倍的29条法则
- [37] 视觉调整-设计师 vs. 逻辑
- [34] 程序员技术练级攻略