技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 发现 --> 最近总结的一些技巧(vim,python,svn,fiddler等)

最近总结的一些技巧(vim,python,svn,fiddler等)

浏览:7030次  出处信息

这篇文章的东西可能比较杂,因为每个特性都不那么大,所以就揉在一起,倒是显得庞大了许多。

一.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,所以直接这样设置了,对于别的编辑器可不可以就不知道啦,截图如下:

1

二.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   

2.打开那个Request Builder标签页,把选中的那个url拖到框里去,注意红框的部分:3

3.把红框的部分改成如下,并填写对应的post参数,执行Excute:4

4.左边多了一个请求,成功:

5

OK,就这样吧~~

建议继续学习:

  1. 配置Nginx+uwsgi更方便地部署python应用    (阅读:105382)
  2. 如何成为Python高手    (阅读:53378)
  3. vim几个小技巧(批量替换,列编辑)    (阅读:35894)
  4. python实现自动登录discuz论坛    (阅读:31575)
  5. 简明Vim练级攻略    (阅读:20698)
  6. python编程细节──遍历dict的两种方法比较    (阅读:18983)
  7. 每个程序员都应该学习使用Python或Ruby    (阅读:16250)
  8. Vim下的代码自动补全和代码跳转阅读    (阅读:14335)
  9. 为什么要用 Emacs/Vim,而不是任何其他编辑器    (阅读:12129)
  10. 使用python爬虫抓站的一些技巧总结:进阶篇    (阅读:12094)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1