IT技术博客大学习 共学习 共进步
首页 / Vimer的程序世界
IT 2010-08-13 09:48:46 / 浏览 8,100

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

这篇文章的东西可能比较杂,因为每个特性都不那么大,所以就揉在一起,倒是显得庞大了许多。一.svn命令行在windows下面的安装使用 一直以来都使用svn管理源码,但是在windows下一直使用To...

IT 2010-08-12 09:23:54 / 浏览 2,440

有关django使用的总结

最近在使用django开发的时候,遇到了很多问题,特此记录在此,希望对以后的同学有所帮助。一.django的ManyToManyField,当关联自身时,实现单向关联。 比如代码如下: class MManConfType(models.Mod...

IT 2010-08-06 00:13:50 / 浏览 32,660

python实现自动登录discuz论坛

需求也比较简单,老婆是做社区运营的,所以需要每天把几个帖子定时的顶上来,手工做很累,所以就想让我用程序实现。

分析一下,其实无非是先用户名和密码登录,获取到cookie后,再带着cookie去访问要顶贴的页面即可,至于剖析页面来获取url就是BeautifulSoup要做的事情了。(论坛是discuz做的,这里只为演示方法)

IT 2010-07-23 00:11:59 / 浏览 4,500

django中动态生成form表单

最近对django真是大爱呀,哈哈。公司有个需求是为一些素材动态生成属性字段,所以需要django来动态生成表单。一开始的写法如下: class AddObjForm(forms.Form):     id = forms.CharField()...

IT 2010-07-20 23:20:20 / 浏览 8,400

关于使用python开发web应用的几个库总结

怎么说呢,python可以算是救了我一命的一门语言,若不是他,恐怕公司的这个项目还遥遥无期,我会始终保有对他最崇高的敬意。这里,我仅列出自己最近使用的几个库:jinja2,simplejson,BeautifulSoup,minidom

IT 2010-07-18 23:33:33 / 浏览 4,940

关于不得不在python中使用代理访问网络的方法

公司最近的网络限制越来越严格了,除了公司自己业务的任何网站,软件,都必须通过代理访问。 于是我华丽的发现google code更新不了代码了,等了两天,实在受不了找企业IT部,发现svn是可...

IT 2010-07-18 23:32:46 / 浏览 6,280

配合jquery实现异步加载页面元素

最近在做系统的时候,遇到了一个瓶颈,即在列出所有素材的列表列表的时候,由于素材都是swf或者jpg,结果几百个文件的时候,就会导致页面加载极慢,老大说让做成异步加载,于是就改了一下。注:本人js很差,献丑了……
其实这种异步加载元素的方式无非就是在原有的HTML上置一个标记,然后等最新的数据到来的时候替换掉它。
在网上搜了一下,很多人推荐一个叫做jquery.lazyload.js的插件,能够支持图片的异步加载,使用方法也比较简单。

IT 2010-07-15 08:46:24 / 浏览 5,020

rsync自动输入密码实现数据备份

最近有点背,在64位suse上大家django环境出了一堆问题,最后服务器还不稳定不能用…… 由于做不了webserver,所以只能用来做备份服务器了,需求比较简单,就是将源服务器的一个目录每天copy...

IT 2010-06-27 22:25:49 / 浏览 4,940

python-django的中文编码总结

最近在使用django的过程中,发现之前对中文编码的理解并不怎么正确,在此记录一下。 1.在所有需要显式使用中文的地方加上#-*- coding: UTF-8 -*-标识,(包括注释中的中文和代码中字符串的中文...

IT 2010-06-24 09:48:28 / 浏览 3,300

关于在“写时拷贝”发生的情况下直接操作string中内容出现的问题

实际上,将const char*强制转换为char*类型是问题的根本原因,他破坏了C++标准,我们应该尽量避免这么做。但现实是我们已经有很多接口这样实现了,这是一种典型的像C一样使用C++的行为。所以如果你遇到这种情况,记得使用[]操作符来获取string的第一个字符的地址,而不要使用c_str方法。

IT 2010-06-24 09:46:10 / 浏览 3,880

关于在函数调用时传递string引用的必要性

1.string在resize的时候,会重新申请新的内存,并将原来的内存copy到新内存上。
2.copy构造函数中也不是以\0为拷贝的结束符,而是将整个size()都进行copy。
3.直接使用resize破坏了string内部的计数,所以在string b = a的时候,b重新分配了一块全新的内存而不是和a共用。
由上面3点可以看出,string完全可以用来做一个简单的buf管理器,不过一旦决定将string用作buf就不要在使用字符串的方法,如==来判断两端buf是否相等之类,否则会有很多奇怪的错误。不过如果担心b和a不小心公用同一块内存的话,可以使用resize方法来为b自己copy出一份内存出来。

IT 2010-06-12 09:48:02 / 浏览 6,480

多个目录编译的makefile的编写

当然,我们也可以用makefile自身的特性,即 make all/clean -C dir1来进行编译,但是实际上两种写法都避免不了3个问题:
1.当新加入一个模块的时候,要写入两句代码,一句是all,一句是clean,很容易漏掉。
2.没有办法进行并行编译。因为很可能这些模块之间是不互相依赖的,而并行编译可以极大的提高速度(如果你受得了make那蜗牛般的速度的话,可以无视掉这一条)
3.依赖关系不明显(可以看出是dir2依赖与dir3,但是没有明确的指出)

IT 2010-06-05 11:42:48 / 浏览 2,220

在CGI中执行外部命令的方法

这几天在做的一个系统中,需要给指定的用户发送email,由于对方只提供了可执行程序,所以需要在CGI中调用。虽然之前就知道可以通过system()或者popen()来实现,但是在真正用在CGI场景中的...

IT 2010-06-01 13:06:31 / 浏览 5,320

Django 中 "Data truncated for column xxx" 解决方法

今天在把django开发的系统从开发环境搬到外网的时候,发现凡是中文写入Mysql的时候,都会报错: Data truncation: Data truncated for column xxx 网上搜了一下,排除了字段本身长度不够,剩下只能是因...

IT 2010-05-28 09:34:41 / 浏览 8,240

Emacs安装配置

先介绍如何在windows下安装Emacs windows环境下emacs的安装相对linux而言比较简单,实际上只需要去下载一个编译好的二进制包即可,就像绿色软件一样,将下载的emacs解压到目录下,就可以开始使...

IT 2010-05-25 13:28:04 / 浏览 10,240

Emacs配置C/C++-mode的代码智能提示和自动补全

以前在windows下工作,只是在需要敲一些短小的测试代码才用到Emacs,所以c++-mode的代码智能提示和补全一直就没有费心去配置,今天花了点时间,参照网友们的教程,终于把自动补全的功能加...

IT 2010-05-19 13:52:09 / 浏览 2,600

cPickle序列化自定义类实例时的陷阱

在用C/C++写网络打包/解包时,都是自己用指针偏移来实现对象<->二进制之间的互转,现在既然用了python,也要用一下序列化的思想,所以就使用cPickle来完成这件事情。不过事情并不顺利...