?

Log in

No account? Create an account

Python 学习(1)

其实以前一直没有尝试去使用Python的原因很搞笑,就是怕蛇,而且还是大蟒蛇。 这个月来,看了些Python的资料,渐渐觉得这是门很好用的语言。我天生是一个懒人,写起代码来也是相当的懒惰,能简单就尽量简单化。现在已经用Python写了两个小程序,花费的时间都是半天左右,感觉用起来越来越顺手了。下面准备干一票大的,做一个报价管理系统。初步设想是:wxPython, sqlite, SQLAlchemy,jinja2.

Tags:

本来以为很简单,但是实际却化了我很长的时间。

1)安装MingW32。先下载mingw-get,然后用mingw-get安装gcc.
2)安装MySQL Connector/C. 网上有很多文档说是安装MySQL Server,但是我安装了MySQL Server(包含开发用的Header/Lib),结果在后面哦编译中还是报有些头文件找不到,后来才发现应该是安装Connector/C, 而不是MySQL的Server。
3)注释掉MySQL Connector/C中的config-win.h中的行typedef int mode_t;
4)下载MySQL-python-1.2.3.tar.gz,解压后,修改MySQL-python-1.2.3中的setup_window.py.
a)注释掉行mysql_root, dummy = _winreg.QueryValueEx(serverKey,'Location')
修改为:mysql_root=r"<安装MySQL Connector/C的目录>"

*虽然那个serverKey可以在site.cfg中设置,但是感觉比较怪异,为什么不让用户直接在site.cfg中配置这个Locstion呢,反倒是要配置一个注册表中的键值。

b)注释掉行libraries = [ 'kernel32', 'advapi32', 'wsock32',client]
修改为:libraries = [ 'kernel32', 'advapi32', 'wsock32',"libmysql"]

*这个真的让我郁闷了很久,当使用mysqlclient这个lib时,undefined reference超多。为了查那些错误,让我浪费了很多的时间,最后尝试写死了用libmysql,竟然通过了.

c)注释掉行extra_compile_args = [ '/Zl' ]
修改为:extra_compile_args = [ ]

*这个Option应该是GCC不支持。

5)在MySQL-python-1.2.3中执行
python ez_setup.py install
python setup.py build --compiler=mingw32
python setup.py install

6) 把MySQL Connector/C.中的lib/opt/libmysql.dll复制到Windows的System32目录下面。

7)修改MySQL-python-1.2.3中的tests/test_MySQLdb_dbapi20.py中的connect_kw_args,加入user,passwd,host等参数。并运行测试,如果所有的Test都通过了,就OK了。

Tags:

世博游(6.1)

6/1的时候带孩子游览了世博会。
8:10分出发,8:30分到达其昌栈水门,除了工作人员外,基本上没有什么游客,安检后给孩子买了张优惠票进等候区。到9点钟登游览船。然后就是在游览船上沿江而行观赏黄埔江的景色,虽然在上海多年,但是坐船看外滩和陆家嘴还是第一次。
船行40分钟左右到达世博园,但是到达的是浦西的D片区,而不是最热闹的浦东片区。 看到这些世博的建筑群,女儿很开心,就吵闹着要去那个鼻涕虫场馆,到地方一看,原来是航空馆呀,再一看排队提示,要3个小时!,排就排吧,不过一个半小时就排到了。
看完航空馆,就急忙向浦东赶了。到达了最热闹的C片区。这个片区是欧洲馆区,每个馆前面都是排了长龙。 由于已经有了在航空馆排队的经验,所以就没有那么怕了。如果排长队是必然的,那就想看什么馆就排吧。女儿还是做了很多功课的,从Google Earth上和网上世博会上已经对一些场馆有了了解,第一站就直接选了女儿最想看的西班牙馆,排队排了两个小时,进去看了小米,女儿拿着相机拍个没完。 从西班牙馆出来,女儿就选择了荷兰馆,荷兰馆的快乐街是室外观赏路线,游人不是很多。然后在荷兰馆下面的小吃档上给女儿买了个荷兰的小吃就继续参观,下一站非洲联合馆,顺路还参观了卢森堡馆,看了金色少女像,然后就到了非洲联合馆,非洲的兄弟们相对就比较寒酸了些,游人也相对较少。在那里的非洲市场上逛了逛,时间已经快下午两点了,找到了一个餐馆就餐,由于是非洲片区,所以餐馆也是非洲风味,吃了个鸵鸟肉卷饼后,带着女儿继续参观。女儿选择了爱尔兰馆,她说那里有一个泡泡秀,可是爱尔兰馆是在北面了,要向回走老远的路了,在回去的路上,顺带看了埃及馆,埃及馆简直太令人失望了。出来后匆匆忙忙向爱尔兰馆赶。 爱尔兰馆是最人性化的展馆了,其他展馆只有老人和童车才能走绿色通道,可爱尔兰馆是只要是带小朋友的就可以走绿色通道,所以没排什么队就直接进去了。女儿最开心的是在游览结束的时候,爱尔兰馆给每个小朋友都发了一个绒毛小狗玩具,女儿快乐的都乐开了花,走在路上骄傲的不行,不停给其他小朋友炫耀。 这个时候天已经暗了下来。下面一站,俄罗斯馆,虽然天黑了,但排队的人仍旧很多,不过这次排队还是很值得的,俄罗斯还是够兄弟,场馆内布置布置得美轮美奂,就像进入了童话世界。 从俄罗斯馆出来已经快8点了,就急忙准备回家了,在回家的路上,顺便看了丹麦馆和芬兰馆,这个时候排队的人已经很少了。 在9点钟左右到达中国馆,晚上的时候看中国馆的确很壮观,看到中国馆旁边的澳门和香港馆排队的人很少,本来也想参观一下,但考虑到孩子第二天还要上学,就只好作罢,从世博园出来就已经是晚上9点多了。

明天将计划继续参观世博园,今天晚上要好好做了功课先。
今天运行AXIS2 在我的Windows 2000上报错NoClassDefFoundError。

http://support.microsoft.com/?kbid=830473

在计算机上运行 Microsoft Windows XP 或更高版本,您可以在命令提示符下使用该字符串的最大长度是 8191 个字符。 在运行Microsoft Windows 2000 或 Windows NT 4.0 的计算机上,您可以在命令提示符下使用字符串的最大长度为2047年个字符。

此限制适用于命令行,由其他进程和所有环境变量扩展继承的单个环境变量 (如 PATH 变量中)。 如果使用命令提示符运行批处理文件,此限制也将应用于批处理文件。
好久没有写了,都不知道写什么好了。 反正这一年来是废的不行了。
家里的台式机在春节的时候可能是劳累过度,或者是给冻坏了,反正成黑屏了。另外的那台老掉牙HP的本子估计除了放些照片和写个简历什么的,要一直尘封下去了。这个本子好像是2000年的时候在香港花了我16K买的,想想都后悔,当时的房价才1K多一平米,如果当时拿来买房的话,都买10几个平米了,现在发大了。:). 今年感觉特别的懒,甚至懒得去买个新电脑。 没有电脑还要交包月的宽带钱,后来干脆去电信把宽带给停了!。 上个星期,老婆回到了上海,给我带了个iphone,我对这个这种东西向来没有兴趣,什么PSP,MP4基本上没有感觉,买手机我很少挑1000块以上的,在我看来,这不就是个电话么,要那么高级的功能做什么,反正买个便宜的,用起来也不用爱惜;). 本来想给父亲用的,但是这个东西上面很多英文,考虑了一下,还是自己用吧。 可没有电脑,没有网络,甚至在公司我的电脑也是WIN2K,不是WINXP的,用Itunes根本没法连。这个东西对我来说真的是连我以前1000不到的手机都不如。 为了这个东西,看来下周要去弄个本子回来了。 鸡肋鸡肋呀。

今天尝试在VMWare中WinXP下使用Itunes,但是还是以失败告终。但是好像可以充电了。可能是我的VMWare的版本低(版本5.5)的原因,在VMWare的6.0才支持USB2.0.

我的LiveJournal又可以访问了

先让我先大笑三声,ha ha ha ~~。

爽!爽!

用awk取数据中的指定列。

这个简单的问题让我考虑了大半天。

#!/bin/sh

index=2

#hard code
echo "111,222" | awk 'BEGIN{FS=",";} {print $1;}'

#use temp file
cmd="BEGIN{FS=\",\";} {print \$$index;}"
echo $cmd | tee temp.awk
echo "111,222" | awk -f temp.awk

#don't use temp file
cmd="awk 'BEGIN{FS=\",\";} {print \$$index;}'"
echo "111,222" | eval $cmd

result=`echo "111,222" | eval $cmd`
echo $result

可口可乐与圣诞老人

http://www.cymedia.com.cn/xmas/news/19432.html

我们现时熟悉的这个身穿大红袍、和蔼可亲、蓄了雪白胡子的圣诞老人形象是瑞典商业设计师赫顿?新百美于1931年为可口可乐公司所创造。自此以后,圣尼古拉斯的形象便明确起来。新百美并非凭空创造当代圣诞老人。他的模特儿是一位名叫鲁?班迪斯的推销员。这位模特儿满脸皱纹,但样子令人觉得欢欣愉快。他身上所穿的大红袍与可口可乐公司的企业颜色可说相得益彰。新百美的画作极富浪漫、健康的色彩。其笔下的人物、小孩经常笑口常开,令人百看不厌。他塑造的圣诞老人形象最深入民心,此造型不仅超越了画作本身,更成为一个独特的文化象征。

http://www.nanfangdaily.com.cn/southnews/hqsy/200611280108.asp
据英国媒体26日报道,欧洲人正联手抵制给世界各地儿童带来快乐的和蔼可亲的老人——圣诞老人。欧洲反对人士称,目前的圣诞老人形象是美国可口可乐公司商业宣传的产物,应该予以查禁。

安装Davfs2

1)确认内核中编译了coda或者fuse文件系统。我使用了coda文件系统。如果内核中没有这些文件系统的话, 就只能编译一次内核了。
2)下载和编译neon, 在configure的时候要把--with-ssl 把enable SSL support编译进去, 不然的话对https的webdav就不行了。而且要--enable-shared, 不然davfs编译的时候会出错(?)。
3)下载和编译davfs,然后安装。安装后它的配置文件比较奇怪,是放到$prefix/etc/davfs2目录下面的.而不是在/etc/davfs2下面的。
4)把webdav的url和username,password加到secrets文件中, 并且修改/etc/fstab文件,加入一个mount条目。*不知道为什么按照davfs的提示把secrets文件放到~/.davfs2后,修改就不起作用。
5)如果把coda编译为模块的话,需要modprobe coda加载coba到内核中。或者把这个部分加到rc.d中,对我的LFS而言,修改/etc/sysconfig/modules 加入coda就可以了。如果要做到随系统启动来mount的话,在fstab中把noauto去掉是不行的,因为这个文件系统需要在连上网络后使用,在我的机器上要等到pppd完成了才可以用adsl上网,所以作了个shell放到了rc.d中,启动顺序设置到pppd后面。
case "${1}" in
start)
boot_mesg "Mounting WebDAV file system..."
cat /etc/fstab | grep 'davfs' | grep -v '^#' | awk '{print $2}' | while read line
do
mount $line
done
evaluate_retval
;;

stop)
boot_mesg "Unmounting all WebDAV currently mounted file systems..."
cat /etc/mtab | grep 'davfs' | grep -v '^#' | awk '{print $2}' | while read line
do
umount $line
done
evaluate_retval
;;

*)
echo "Usage: ${0} {start|stop}"
exit 1
;;
esac

*在mount时,不知道为什么密码错的时候也不报错,还是给mount上去,但是结果不正确。
7)耐心等待,一开始目录中的文件列表不是最新的,要过一会才能更新, 这个参数好像在davfs2.conf中修改。不过在目录中随便touch一个文件的话,就可能马上刷新了。
*好像对sharemation.com,要把参数use_expect100设置为0,而spymac倒不用。

搬入新办公室的第一天

今天是搬入新办公室的第一天. 一般来讲, 搬入一个全新的office应该兴奋才对, 但大家普遍没有这种兴奋的感觉. 新的大楼连窗也不能开, 灯光也不足, 油漆味浓烈, 到处都是柱子走廊和被分割成鸟笼的房间. 待在这里的第一天真是让人喘不过起来.