15
十二/08
1

Linux下django开发

在archLinux下做web开发是非常方便的,源里面大部分东西都有了。我们今天来进行django的学习尝试。

首先,安装django,源里面已经打包好了。直接安装,sudo pacman -Sy django

安装完后,我们去/usr/lib/python2.6/site-packages/django目录下,其中python2.6目录是当前我的python版本,当前目录下有个bin目录,建议将此路径加入到系统path里面去,省得每次都要输入完整路径。

我们现在在自己的开发目录下面,比如arch的标准web目录/srv/http下面来创建我们的第一个django项目。

django-admin.py startproject hello 类似ROR,这个脚本为我们自动生成了hello这个项目的整体框架文件。
注意django-admin.py这个脚步要加上完整路径,并且默认是不可执行的,可以通过chmod +x加入可执行权限,或者以python脚本的形式执行。我们来启动服务 ./manage.py runserver

Django version 1.0.2 final, using settings ‘terrysco.settings’
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[15/Dec/2008 01:52:07] "GET / HTTP/1.1" 200 2057
Validating models…
0 errors found
访问本地的8000端口,即可看到django的欢迎页面。
项目目录里面的uls.py负责指定路径到app的映射,类似drupal的菜单系统。这里我们是为了做测试用,所以就直接建立一个test.py,里面写一些测试脚本。
from django.http import HttpResponse
def index(request):
      return HttpResponse("Hello, World.")
很简单吧,讲index请求指定显示hello world内容。到这里还不行,需要在uls.py里面指定。
在urlpatterns里面加入一行(r’^$’, ‘hello.test.index’),这个简单的正则指出如果根路径后面为空,则打印我们的hello world。

当然,这里我们没有分离模板,使用from django.shortcuts import render_to_response则可以使用模板渲染数据。类似PHP+Smarty的技术,模板里面可以加入对传递进来参数的处理。

8
十二/08
0

搜狗词库输入法scim-python

scim的词库简直太令人失望了,输入中文速度明显很慢。去http://code.google.com/p/scim-python/下载了个scim-python包,编译安装过程中提示少个python-enchant包,yaourt pyenchant了下,提示AUR没找到。没关系,加入编译选项disable掉了,词汇量果然不错,也没有别人所说的速度那么慢。总之体验下还是不错的。

http://code.google.com/p/scim-python/wiki/PinYinUserGuide 用户帮助文件

一到公司更新了下系统,许多烦恼的问题都没有了,看来arch的平滑式升级确实好。任何问题难以解决的,只要过段时间 sudo pacman -Syu就行了。

刚刚看到,源里面有pyenchant这个包,汗一个。。。

关键字: ,
7
十二/08
3

kde4[archlinux]

今天想尝试下kde4的新特性,先依照wiki的设置,http://wiki.archlinux.org/index.php/KDEmod(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

安装kdemod,现在源里面是kdemod4了。装完后启动kdm登录进来后,进行一些常用设置,唯一麻烦的是knetworkmanager默认没有了,安装了一个,还需要qt3。连接上无线,安装了一个gtk-chtheme,调整了下gtk程序在kde中的显示样式,要不然太丑了。

新版的kate和kopete都更改很大,使用起来更加顺手,并且函数列表功能现在已经默认内置为kate的插件,在插件中启用即可。kopete中有qq协议,但是没有登录成功。

果然是kde4,果然绚丽,眼睛快花了。。。 

关键字: , ,
1
十二/08
0

关于AWK

awk以发展这种语言的人 Aho . Weninberger和Kernigham命名。该语言的最基本功能是在文件或字符串中基于指定规则浏览和抽取信息。 awk抽取信息
后,才能进行其他文本操作。完整的 awk脚本通常用来格式化文本文件中的信息。

据自己理解,awk就是一个列编辑器,sed是流编辑器。配合使用,在linux下的编辑处理文件将会方便很多。首先看看awk的运行方法。大体有三种,类似python的运行方法。

1。 命令行方式。 例如: awk [-F 分隔符] ‘awk命令’ file。其中默认列分隔符是空格,但一些文件的分隔符是分号或者冒号,这个时候就要用-F选项设定。

2。 awk脚本修改为可执行,直接运行。

3。 awk -f 脚本文件 文件。后两种方式和shell以及python比较类似,不再细说。

每个域(列)用$加索引表示,比如第一个域用$1, 第二个域用$2, 以此类推。所有域用$0表示。

比如以下操作数据:

terrysco:男:26:135********

这个数据一共4个域,用冒号隔开,如果想把姓名和电话显示出来并写入另一个文件,配合tee命令很容易做到。awk -F: {print $1, $4} | tee somefile

另外,我们可以加入一些初始信息和结束信息。awk -F: ‘BEGIN {print "Name\tPhone\n—–"} {print $1, $4} END {"some end data"}’

其中,要注意几点:  确保整个awk命令用单引号括起来。
• 确保命令内所有引号成对出现。
• 确保用花括号括起动作语句,用圆括号括起条件语句。
• 可能忘记使用花括号,也许你认为没有必要,但 awk不这样认为,将按之解释语法。

awk的基础使用就这么点,但它是一门很强大的语言,需要慢慢应用和体会,首先要熟悉正则表达式。在grep中的应用更是如此。
 

 

关键字: ,
28
十一/08
1

archlinux下配置触摸版

首先,pacman -S synaptics安装驱动。紧接着看下面的配置帮助信息。

 1. For use with kernel 2.6.x you need to enable synaptics touchpad
[2008-11-28 16:23] support when configuring the kernel (CONFIG_MOUSE_PS2). You also
[2008-11-28 16:23] need support for the evdev interface (CONFIG_INPUT_EVDEV). If you
[2008-11-28 16:23] compile evdev as a module, make sure it is loaded before starting
[2008-11-28 16:23] the X server, as it will not be auto-loaded
[2008-11-28 16:23]
[2008-11-28 16:23] ==> 2. Change your /etc/X11/XF86Config or /etc/X11/xorg.conf:
[2008-11-28 16:23]  
[2008-11-28 16:23] – Load the driver by changig the XFree configuration file
[2008-11-28 16:23] adding the line ‘Load "synaptics"’ in the module section
[2008-11-28 16:23]  
[2008-11-28 16:23] – Add/Replace in the InputDevice section for the touchpad the
[2008-11-28 16:23] following lines:
[2008-11-28 16:23]
[2008-11-28 16:23] Section "InputDevice"
[2008-11-28 16:23] Driver "synaptics"
[2008-11-28 16:23] Identifier "Mouse[1]"
[2008-11-28 16:23] Option "Device" "/dev/psaux"
[2008-11-28 16:23] Option "Protocol" "auto-dev"
[2008-11-28 16:23] Option "LeftEdge" "1700"
[2008-11-28 16:23] Option "RightEdge" "5300"
[2008-11-28 16:23] Option "TopEdge" "1700"
[2008-11-28 16:23] Option "BottomEdge" "4200"
[2008-11-28 16:23] Option "FingerLow" "25"
[2008-11-28 16:23] Option "FingerHigh" "30"
[2008-11-28 16:23] Option "MaxTapTime" "180"
[2008-11-28 16:23] Option "MaxTapMove" "220"
[2008-11-28 16:23] Option "VertScrollDelta" "100"
[2008-11-28 16:23] Option "MinSpeed" "0.06"
[2008-11-28 16:23] Option "MaxSpeed" "0.12"
[2008-11-28 16:23] Option "AccelFactor" "0.0010"
[2008-11-28 16:23] Option "SHMConfig" "on"
[2008-11-28 16:23] # Option "Repeater" "/dev/ps2mouse"
[2008-11-28 16:23] EndSection
[2008-11-28 16:23]
[2008-11-28 16:23] – Change the Identifier to the same name as in the ServerLayout section.
[2008-11-28 16:23] The Option "Repeater" is at the moment for testing.
[2008-11-28 16:23]
[2008-11-28 16:23] – Add the "CorePointer" option to the InputDevice line at the ServerLayout section:
[2008-11-28 16:23]
[2008-11-28 16:23] Section "ServerLayout"
[2008-11-28 16:23] InputDevice "Mouse[1]" "CorePointer"
[2008-11-28 16:23]
[2008-11-28 16:23] – Note! You can not have more than one core pointer, so if you want
[2008-11-28 16:23] to use an external mouse too, you have to set all mouse input
[2008-11-28 16:23] devices except one to "AlwaysCore" instead of "CorePointer".
[2008-11-28 16:23] installed synaptics (0.14.6.99-2)

总结如下:根据上面的帮助修改xorg文件。问题解决,触摸版边缘的滚动功能可以使用了。