shell的vi mode
一个小trick 我经常会改bashrc,来加一些函数,设置还环境变量,然后执行 ~>. ~/.bashrc 大部分情况确实没问题,最近我想用vi mode,在bashrc里这么设置 set -o vi vi模式确实可以用,但是我发现^L的快捷键没有用了。 觉得是这个vi mode的问题,今天把.bashrc中的那一行去掉了 然后 ...
一个小trick 我经常会改bashrc,来加一些函数,设置还环境变量,然后执行 ~>. ~/.bashrc 大部分情况确实没问题,最近我想用vi mode,在bashrc里这么设置 set -o vi vi模式确实可以用,但是我发现^L的快捷键没有用了。 觉得是这个vi mode的问题,今天把.bashrc中的那一行去掉了 然后 ...
一些配置在开发版本和发布版本会不一样,那么在django 中,应该如何区分呢? 没想到好办法,设置环境变量吧,在bashrc中加一行 # ~/.bashrc export WEB_VER=dev 在settings.py中: import os IS_DEV = False if os.environ.get("WEB_VER", "").lower() == 'dev': IS_DEV = True DEBUG = True if IS_DEV: # 本地开发版本 DATABASE_ENGINE = 'mysql' DATABASE_NAME = 'notsobad' DATABASE_USER = 'root' DATABASE_PASSWORD = 'notsobad' DATABASE_HOST = '' DATABASE_PORT = '' else: # 发布版本 DATABASE_ENGINE = 'mysql' DATABASE_NAME = 'xxxx' DATABASE_USER = 'cccc' DATABASE_PASSWORD = 'notsobad' DATABASE_HOST = '' DATABASE_PORT = ''
把自己的svn建起来了 关于svn使用这篇文章很不错 webfaction上的操作,参考这个 添加svn用户 [wang@web108 svn]$ more .htpasswd test:DyMQa73/SCmKk [wang@web108 svn]$ htpasswd .htpasswd notsobad New password: Re-type new password: Adding password for user notsobad [wang@web108 svn]$ svn ls `pwd` svn: '/home/***/webapps/svn' is not a working copy [wang@web108 svn]$ svn ls file://`pwd` 这时候svn中还没有文件 svn co https://***.notsobad.cn/ notsobad cd notsobad mkdir -p trunk/notsobad cp -r ~/django-project trunk/notsobad/ svn add trunk svn ci -m 'Fresh new start!'
页面垂直居中,登录之类的页面会用到,css似乎没办法实现,用js来做吧 var valgin = function(){ var height = window.innerHeight || window.document.documentElement.clientHeight || window.document.body.clientHeight; var t=$$('body')[0]; var top = (height - t.getHeight()) / 2; top = top>0 ? top : 0; t.setStyle({marginTop : top+'px'}); // t.setStyle({top:top+'px', 'position':'absolute'}); }; window.onload = valgin; window.onresize = valgin;
继续感冒中…… 实在睡不着了,把我的这个脚本移到webfaction,放到crontab里了。 设置PYTHONPATH和PATH环境变量 [notsobad@web108 ~]$ cat .bashrc # .bashrc # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # User specific aliases and functions export PYTHONPATH=$PYTHONPATH:$HOME/script/python-lib export PATH=$PATH:$HOME/script/bin 然后就可以使用easy_install了,我要安装feedparser: easy_install --install-dir=$HOME/script/python-lib --script-dir=$HOME/script/bin feedparser crontab的使用: crontab -e 直接编辑即可,注意crontab使用的环境变量和登录用户使用的是不一样的,要使用自定义的pythonpath的话,需要自己指定 ...
GreaseMonkey脚本里想使用jquery库该怎么办呢? 参考这几篇文章 http://joanpiedra.com/jquery/greasemonkey/ http://abeautifulsite.net/notebook/90 http://greasemonkey.mozdev.org/authoring.html 两种方案: 脚本加载后在html的head里插入一个链接到外部jquery的script标签 利用greasemonkey的require标签 但是如果只是利用新建用户脚本,require一直没有生效,无法载入外部脚本,参考这个: ...
几篇很不错的关于字体的文章: 从 Illustrator 到 FontLab 打造你自己的字体(I) 打造你自己的字体(II) 打造你自己的字体(III)实例研究:Joules 还有个小组 http://www.yeeyan.com/groups/show/TYPO 译言是个好网站,比其他的网站更有意义 比如 什么是股票和股票市场及运作原理
如何对一系列dom元素绑定事件? 那些元素在后续操作中还有可能会增加。 prototype.js中可以使用Event.Observe, jQuery中怎么做呢? 参考如下: 使用jquery中的事件检测而不事先绑定。 http://www.beyondstandards.com/archives/jquery-ajax-and-event-handlers/ http://docs.jquery.com/Events/live <http://www.sitepoint.com/blogs/2008/07/23/javascript-event-delegation-is- easier-than-you-think/> function aClick() { $("div").show().fadeOut("slow"); } $("#bind").click(function () { $("#theone").live("click", aClick) .text("Can Click!"); }); $("#unbind").click(function () { $("#theone").die("click", aClick) .text("Does nothing..."); });
浏览器的文件上传有个问题就是不能选择文件类型, 不能拖选文件,不能提供上传进度。 而flash可以提供这些功能,所以很有用。 swfupload 项目主页: http://code.google.com/p/swfupload/ 这里有一些例子可以参考 http://demo.swfupload.org/ 特性: Multiple File Selection File Upload Progress Custom Limits for File Size and Number of Uploads Filter by File Type ie. *.jpg File Queue Customize the Browse Control Flash 10 Support (Starting with Version 2.2.0) 大文件上传,需要提供进度的地方,可以考虑使用。 ...
最近处理bug,总结一下什么是好的命令行程序: 无参数调用时,显示帮助 记录日志到文件 关键步骤要打印log到标准输出 出错提示信息要写到标准错误里去 要有退出值 python程序不要屏蔽异常,要打印到stderr里去 脚本初始时要明确的检验执行权限、目录是否满足需求 python程序最好不要用PYTHONPATH来设置包含路径,移植和多人合作问题太多,应该直接链接到site-packages下去 ...