Syndim's Blog

谨言,勤思,慎行

配置Django的Vim补全(使用Pydiction)

如今Django已经有不少好用的IDE,不过IDE写起代码来总不够流畅,因此还是希望使用Vim来写Django程序。 但是一想到Django一大堆Field,没有代码提示还是非常难过的。 网上解决的方法大多是使用PySmell,不过那东西需要安装,不够绿色环保,而且速度也实在不快,几经搜索,在万能的StackOverflow找到一种使用Pydiction进行补全的方法。 首先自然要安装Pydiction,不赘述,详情可以请教谷歌。 Pydiction使用的是字典补全,默认的字典包括了Python自带的包,因此想要补全Django就需要生成Django的字典。 不过在生成Django字典需要进行一些设置,不然会生成失败。原因是Django的一些模块依赖于项目的setting。 先用django-admin.py生成一个Django项目 接着配置环境变量 Linux: export DJANGO_SETTINGS_MODULE=settings export PYTHONPATH=/path/to/parent/of/settings Windows(未测试): DJANGO_SETTINGS_MODULE=settings ::这个就是需要import的包 set PYTHONPATH=%CD%/project/;%PYTHONPATH% ::将刚才生成的project目录路径加入到PYTHONPATH中 然后在项目目录下使用 python pydiction.py django django.conf django.contrib django.core django.db django.dispatch django.forms django.http django.middleware django.shortuts django.template django.templatetags django.utils django.views 创建Django字典(如果把原字典放在该目录下则可以添加到原字典的头面) 以上是网上搜索到的,不过只是这样还是不能补全XXXField,因为上面的目录不包含XXXField的定义。 执行 python pydiction.py django.db.models 即可创建models的字典。 以此类推,如果还有哪个模块不能补全,就这样生成模块字典即可。 配置好Pydiction,就可以补全Django啦~

Xfce4 下设置开机屏幕亮度

Gnome3出来很久了,使用到今天,实在觉得这不适合在笔记本上使用,听说Linus同学转投Xfce,于是便将Xfce4请进来。 经过一番配置,Xfce4在老Y(Y450)上运行的还不错,但是有一个问题,屏幕亮度不能保存,每次开机都回恢复到最亮的状态。 请教了Google后,在一个外文博客上发现了解决的方法。 首先要写一个调节屏幕亮度的脚本,只有一句: echo 3 > /sys/class/backlight/acpi_video0/brightness 里面的“3”可以替换为1-10中任意数字,越大越亮。 把这个脚本保存起来,比如保存为~/brightness 把这个脚本移动到/usr/local/sbin/brightness,并增加运行的权限 chmod +x /usr/local/sbin/brightrness 接着,配置允许不输入密码就sudo运行这个脚本,运行visudo,增加下面这行: # User privilege specification syndim ALL=NOPASSWD: /usr/local/sbin/brightness 将上面的syndim替换为用户名。 最后,打开_Applications > Xfce Settings > __Session and startup_,将 sudo /usr/local/sbin/brightness 添加进去,重新启动,enjoy~

更好的管理VIM插件(续) pathogen

上次写博文推荐了一个管理Vim插件的插件,Vim Addon Manager,经过一个月的使用,发现了不少问题。有人推荐使用pathogen来管理插件,试用了一下,感觉不错。 首先说说Vim Addon Manager的问题: 1、在windows下使用时,其数据库文件无法正常使用(其实就是个txt,因为一些作者的名字无法正常使用),不过可以通过将文件以UTF-8格式保存来解决。 2、个别插件需要手动修改后才能正常运行(c.vim),当然这个问题使用pathogen时也存在。 3、个别插件需要手动创建plugin目录后才能正常使用。 4、需要安装git,svn,甚至是curl才能正常使用 5,必须插件名称完全与数据库中相同才能正常安装,甚至连大小写都不能错,数据库中有些插件的名字甚至与官方不同,让人费解。 当然pathogen的功能不如Vim Addon Manager那样丰富(他不能自动安装插件),不过符合KISS原则的这个插件还是十分好用。 使用方法: 1、下载pathogen.vim,并放到autoload中(当然还有其他的安装方法,详见下文)。 2、在.vimrc(windows是_vimrc)中添加: call pathogen#infect() 3、将所有的插件放到~/.vim/bundle 中(windows是/vimfiles/bundle),比如安装ZenCoding这个插件,在官网上下载插件后,进入bundle文件夹,新建文件夹,命名为ZenCoding(当然名字不是强制为插件名称的,可以设置为任何容易识别的名称),然后将压缩包内容全部解压到该文件夹中即可。 4、打开Vim,Enjoy~ 如果需要生成文档,只需要在Vim中输入 :call pathogen#helptags() 即可。 定制: 如果不想以/bundle作为插件的路径,比如想以~/.vim/addons作为插件目录,那么只需将 call pathogen#infect() 替换为 call pathogen#infect("addons") 即可,当然,如果不想将插件放在~/.vim目录中,也可以在括号内填入完整路径: call pathogen#infect('~/src/vim/bundle') 这样,如果将插件放入~/src/vim/bundle中,pathogen就可以找到了。 其他: 既然其他插件能够被安装到别的目录下,那么pathogen本身作为一个插件是否也可以安装到别的目录下呢? 当然可以。 如果希望pathogen和其他插件一样安装在~/.vim/bundle中,只需在.vimrc中加入: source ~/.vim/bundle/vim-pathogen/autoload/pathogen.vim 即可。 其他更详细的内容可以在这里找到。

更好的管理Vim插件 vim-addon-manager

Vim是一个非常优秀的编辑器,但是没装插件的Vim就始终只是个编辑器而已,是插件让Vim变得更加强大。 但是插件装得多了,管理就成了问题,Vim本身并没有提供插件管理功能,往往时间一长,.vim/vimfile 文件夹下就变得杂乱不堪。 vim-addon-manager这个插件就是为了管理Vim插件的插件。 介绍: This plugin allows users to install and uninstall plugins with a minimum of work. Features: - Separate directories for each plugins - Dependency resolution - Popular VCS support: plugin supports fetching from Git, Mercurial, Subversion and Bazaar repositories 简单来说就是可以非常方便的安装和卸载插件。依赖关系: - Curl, wget or other program that can output URL contents to stdout (in order to get http protocol support) - Git, Mercurial, Subversion and Bazaar (if you want to install plugins from appropriate repositories) - vcs_checkouts plugin (comes with this addon) - Either tar, gzip and zip or 7-zip (required for unpacking some addons) - Vimball plugin (required for installing some addons) (in latest vim it is included by default) linux下基本上安装下git和Mercural就可以开始安装了,windows下就比较麻烦,需要自行下载Curl,7z并将路径加入系统path,并安装msysgit。

用Python抓取QQ空间文章(1)

今天找了点时间看了点Python抓站的教程,便想把自己QQ空间的文章抓下来。 一开始想要直接抓站,可是QQ空间满是javascript一时让我无从下手,于是暂时作罢。 其实QQ空间还有一个掌上设备的版本, http://qz.qq.com ,这个版本的主页没有使用javascript(但是有些不便的地方,这个之后再说)。 简单分析了一下它的url,因为是面向掌上设备的版本,因此url并不复杂,文章列表的url的基本格式为: http://qz.qq.com/你的QQ号/bloglist?page=页码 而文章url的基本格式为: http://qz.qq.com/你的QQ号/blog?uin=你的QQ号&vin=0或者你的QQ号&blogid=文章ID 上面url中“0或者你的QQ号”取决与你是否登录,未登录就是0,登陆后就是你的QQ号(猜测)。 需要注意的是,最后的文章ID有两种,一般最近几年发表的日志都是10位数字,而几年前发表的日志则是从1开始的数字,例如,如果你昨天发表了一篇日志,你的url看上去是这样的(假设你的QQ号是10000,且未登录): http://qz.qq.com/10000/blog?uin=10000&vin=0&blogid=1234567890 而你几年前发表的日志的url看上去则是这样的: http://qz.qq.com/10000/blog?uin=10000&vin=0&blogid=12 因为这个问题让我郁闷了一会。。。 知道了这些剩下的工作就可以交给我们的Python了,根据 http://goo.gl/IMPOH 和 http://goo.gl/IfRJn 这两篇文章的说明,使用urllib2包进行抓站操作,花了两个小时的时间,就有了这样一个非常笨拙的代码: http://goo.gl/vTNL1。 目前还处在非常原始的状态,只能机械的将抓到的站保存为html文件,而且因为css神马的都在服务器上没有下载下来,所以打开的时候必须要联网。。。不过这些都不是主要问题,我抓站的主要目的是提取其中的文章与评论。 前面说过qz.qq.com有个不便的地方,那就是日志的时间显示不是精确时间,而是“两年前”,“三年前”这样的时间,因此抓下来的文章没法转换为我需要的格式,等我用firebug找到完整版日志的地址之后,再继续更新抓站程序吧(偷个懒都不行,腾讯你。。。)。

使用PHP空间为GAE做反向代理

不知道有多少喜欢GAE和Python的人。 众所周知的,GAE已经打不开了,而用于绑定域名的ghs(.)google(.)com也早就被那啥了,因此现在想要给GAE绑定域名必须通过反向代理。 网上关于用VPS来做GAE反向代理的教程有很多,我就不重提了,有VPS的朋友可以参照网上的教程。然而对与我这种穷人,VPS的价格实在让我无法承受,而用VPS专门为GAE做反向代理也有些大材小用的感觉。 在一番搜索之下,终于让我找到一个用PHP空间来为GAE做反向代理的程序。 点此下载:goo.gl/wuagz 下载后打开config.php,照下面的格式修改,上传到空间里去。 $adomain = array('GAE域名','你的域名'); //不要http:// 然后将你的域名绑定到免费空间上,就完成了。

在Ubuntu 10.10中编译GVim7.3时遇到问题

还是先写下编译的一般方法: 下载源代码: hg lone htts:vim.googleode.omhg vim 安装依赖库: sudo at-get install g lib6-dev linux-kernel-headers gawk sed libnurses5-dev libgtk2.0-dev libx11-dev x-dev libsm-dev xorg-dev libgtk2.0-dev libgnome2-dev sudo at-get build-de vim-gtk 3. d vimsr, 修改Makefile refix = usr CONF_OPT_GUI = --enable-gnome2-hek CONF_OPT_GUI = --enable-gui=gnome2 CONF_OPT_PYTHON = --enable-ythoninter CONF_OPT_PYTHON3 = --enable-ython3inter CONF_OPT_CSCOPE = --enable-soe CONF_OPT_MULTIBYTE = --enable-multibyte CONF_OPT_INPUT = --enable-xim CONF_OPT_OUTPUT = --enable-fontset CONF_OPT_FEAT = --with-features=huge make make &am;&am; sudo make install

更换博客空间

因为实在受不了gae的无法访问和反向代理的间歇性挂掉,所以换了wordpress的博客,那边的开发工作也就此告一段落。 开始学习PHP,之后会在这空间上有所作为的。

【转】win7下 用easybcd硬盘安装fedora 14 (Live CD)

1、win7用Acronis Disk Director Suite生成一个fat32格式的分区(如E盘),大小2GB,用来存放iso文件,生成磁盘后,将这个盘命名为fedora( 下面有用);且给linux划定一个40G左右的空间以备安装linux系统. 下载 fedora 的ISO文件,放到E盘,用winrar将 fedora的ISO文件中全部解压到E盘根目录 下载安装 easybcd后,在添加grub中添加以下代码 title Fedora Live CD find –set-root /isolinux/vmlinuz0 kernel /isolinux/vmlinuz0 root=live:LABEL=FEDORA(或者改成root=/dev/sda2) liveimg quiet rhgb rootfstype=auto vga=791(注意/dev/sda2选择成为您的E盘所在的那个盘相应的数字,注意中间只有一个空格,括号内全部去掉。注意我的机器是用root=/dev/sda5安装成功的!) initrd /isolinux/initrd0.img 保存。 重启,进入Fedora Live CD开始安装fedora 14 live cd。

supercell 新专辑 - Perfect Day PV

歌词: 谁も居ない道路で 在没有人的道路上 両手を広げ歩いた 展开双手地走着.(就是把两手展开保持平衡的样子.好吧.翻译君不知怎么修饰) 目を闭じてから私はそっと 我轻轻地把眼睛闭上 心の中で 在心里面 小さな 赌けをしたんだ 做了个小小打赌 白线から落ちたら负け 从白线掉下来就输了哦 昔こんなのやってた 以前就这样做了呢 なんか懐かしいな 不知为何会那么怀念呢 It’s a perfect day 飞行机云走って追いかけた 追着飞机云跑上去 いつか手は届くって 总有一天手会碰到的 (其实翻译君也不知怎么润饰.好吧翻译君没啥文采.喂!) そう信じていたけど 虽然是这样坚信着 空はあまりに远かったから 但是天空还是太远了 ちっぽけな自分が悲しく思えたんだ 想起渺小的自己就感觉有点悲伤呢 思えたんだ 回想起来 もしも 如果说 今、陨石が 现在有陨石 降ってきてるとしても 从天而降的话 私は気がつくことも出来ず 我所注意的事物 天国行きで 也会去到天国吧 まぁ、いっか 嘛、一直 それもありかな 都是这样的吧 あの日小さな冒険 那天小小的冒险 少し 稍微 强くなれたような 变强的样子也是 大切な思い出 最重要的回忆 It’s a perfect day 飞行机云走って追いかけた 追着飞机云跑上去 きっと手は届くって 手一定会碰到的 (同上..翻译君表示学理科的没文采也没办法..哪个人出来修一下) 谁も信じてないけど 虽然谁都不相信 私知ってるんだよ 我却知道