Categories
tools

python makes me happy :)

这几天用 Python写了个Android Market web client,新手上路,却出奇的顺利!apache2 + mod_python, mod_python 里的req很好用。本想用ruby写的,可是ruby对protobuf支持不是很好,php更没份了,在jsp与psp犹豫了一下,还是选择了后者。我问wayhome,有没有python psp的资料,他愣住了,说没有,psp是什么?我再补充,不是psp游戏机哦,是Python Server Pages,你搞python这么久不会没听说过?后来他说写cgi都用PEP333。搞什么,弄了大半天,原来psp是早已过时不用的技术了。 听说python的框架Django牛气轰轰,堪比Ruby之Rails,我翻了一下,弄懂这玩意,也需要花不少时间。弄几个页面,还是写cgi快,维护BBS都用C写过cgi,还怕不会用脚本写cgi? python的语法跟ruby差不多,以前在曾厝庵学生公寓图书馆看过一个下午,长时间不用也忘记光了,工作中很少用到,好像是安装项目管理软件Trac调试过,不过看apache error log,一般问题都可以诊断出错误位置。 人生真是阴差阳错。一直关注C/C++, PHP,Ruby,我想不会再学Java,Python之类的了。没想到今年工作主要是写Java程序 🙁 用什么,就学什么,现学现用。哲学家告诉我们:变化是永恒的,没有一劳永逸。 参考资料: http://modpython.org/live/current/doc-html/pyapi-psp.html http://www.python.org/dev/peps/pep-0333/ http://www.djangobook.com/en/2.0/chapter01/

Categories
Server

thttpd源代码阅读笔记

thttpd源代码阅读笔记 thttpd是一个非常小巧的轻量级web server,适合做嵌入式web服务器,它的官方网站是http://www.acme.com/software/thttpd/ 。 thttpd的代码量很小,大约1万行代码,代码风格好像是GNU,阅读不太习惯,用indent格式化:indent -kr -i4 -l200 -bad -bap -ip8 *.c 由于我的vim将tab设置为4个空格,代码中空格与tab共用,需要把tab还原为8个空格,才不出现排版混乱。 在fedora 12下编译,有错误: htpasswd.c:52: error: conflicting types for ‘getline’ /usr/include/stdio.h:655: error: previous declaration of ‘getline’ was here htpasswd.c:52: error: conflicting types for ‘getline’ /usr/include/stdio.h:655: error: previous declaration of ‘getline’ was here make[1]: *** [htpasswd.o] Error 1 make[1]: Leaving directory `/home/deli/work/thttpd-2.25b/extras’ make: *** [subdirs] […]

Categories
Android

解决donut Gtalk、Market登录不了的问题

拿到一个开发板,研究一下为什么gtak,market都登录不了的问题。折腾了许久,很纠结,试过几个ROM的包都不行。今天再搞不定,明天还计划准备对market进行反编译。 Gtalk界面提示:无法连接到服务器。请稍后重试。 logcat是: 1050 GTalkService W [GTalkConnection.12] doConnect: caught java.lang.IllegalStateException: empty JID resource market界面出现这样的提示:出现服务器错误,请重试,或者取消并返回上一屏幕。 后台logcat是: 1190 vending D com.android.vending.BaseActivity$BaseAction.run(): ApiException: 1190 vending D com.android.vending.api.FatalCommunicationException: Sent a bad request. 1190 vending D at com.android.vending.api.RequestDispatcher.throwException(RequestDispatcher.java:371) 1190 vending D at com.android.vending.api.RequestDispatcher.performRequestsOverNetwork(RequestDispatcher.java 212) 1190 vending D at com.android.vending.api.RequestDispatcher.performRequests(RequestDispatcher.java:174) 1190 vending D at com.android.vending.api.RequestManager.doRequestsOverNetwork(RequestManager.java:244) 1190 vending D at com.android.vending.api.RequestManager.doRequests(RequestManager.java:230) 1190 […]

Categories
Fedora

在 Fedora 12 安装分布式编译工具distcc/distccd

官方网 说只要60秒安装。我是照这个 http://www.hdlfactory.com/~filmil/fedora/installing-distcc-and-distccd-on-fedora-11.htm 操作,没遇到什么困难。 我的两台测试机器配置: [deli@athena ~]$ lscpu Architecture: i686 CPU(s): 2 Thread(s) per core: 1 Core(s) per socket: 2 CPU socket(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 23 Stepping: 10 CPU MHz: 2799.526 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 3072K [deli@athena ~]$ free -m total used free shared […]

Categories
Android

ListView 分段显示

Android market里软件列表,每页显示10条记录,没有显示上一页,下一页的按钮,依靠手滑动动态加载数据,当向下滚动时,最下边显示 Loading… 。数据加载结束,Loading底栏消失。 关于ListView的分段显示,有现成的库可用,比如 cwac-endless, 这个库不好之处,就是底部Loading的View无法定制。还有一个在google code上的androidpageablelistview 这个可以实现基本的分页,有手动操作显示上一页,下一页的按钮。 实现思路如下: 自定义 footer view, list_footer.xml: <?xml version=”1.0″ encoding=”utf-8″?> <LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android” android:orientation=”vertical” android:layout_width=”fill_parent” android:layout_height=”wrap_content” > <LinearLayout android:gravity=”center_vertical|center_horizontal” android:orientation=”horizontal” android:id=”@+id/loading_more” android:visibility=”gone” android:layout_width=”fill_parent” android:layout_height=”?android:attr/listPreferredItemHeight” > <ProgressBar android:id=”@+android:id/progress_large” android:layout_width=”wrap_content” android:layout_height=”wrap_content” android:indeterminate=”true” style=”?android:attr/progressBarStyleSmall” > </ProgressBar> <TextView android:id=”@+id/loading_msg” android:paddingLeft=”6.0dip” android:paddingTop=”2.0dip” android:layout_width=”wrap_content” android:layout_height=”wrap_content” android:layout_marginBottom=”1.0dip” android:text=”@string/loading” > </TextView> </LinearLayout> </LinearLayout> 用到 ListView addFooterView/removeView 这两个函数。 […]

Pages: Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 Next