2024年已过去 37.15%
Python客户端POST复杂数据结构到web服务端    @ 2010-05-21, 18:02

昨晚要解决python写的客户端向web服务端提交一个较复杂的数据结构(多层的词典),原本打算在客户端把数据结构生成XML然后POST给web服务端,然后由服务端的php脚本解析XML,不过想想转为XML,再解析XML的过程,就很繁琐,头疼。后来想未必要用XML(不需要通用,却平白增加了网络传输量),可以自己定义一个格式来传送,不过,始终因为这个数据结构比较复杂,光来回转换这个过程就觉得麻烦,更不用说传送过程中出错,服务端如何校验数据正确性等细节问题了。

后来灵光一闪,想到为什么服务端不也用Python来写呢?因为Python的pickle直接可以把整个词典对象(不论多复杂)序列化,然后POST给服务端的Python脚本来反序列化,直接就可以在服务端得到这个词典对象了。于是在web服务器(nginx)上装了flup,spawn-fcgi,以及轻巧的web.py框架(尝试了一下django,感觉太庞大、复杂了,不适合这个简单应用),然后只要几行代码就搞定了(为了减小网络传输,用zlib把序列化了的对象再压缩一下):

客户端打包:

data = zlib.compress(pickle.dumps(dict))
params = urllib.urlencode({'s':data})
...  # POST 数据

服务端解包:

class xxapp:
	def POST(self):
		data = urlparse.parse_qs(web.data())
		dict = pickle.loads(zlib.decompress(data['s'][0]))
                ...
农码生涯 | 2 个评论 | 18,148 次阅读
简短地址:http://ncblog.net/706/
休假结束,dropbox结束    @ 2010-05-11, 22:24

从徐闻回来了,“休假”也结束了。这四天基本上成了亲子时间,很久没有这样长时间的陪着可乐玩耍、看书、读儿歌了……

然而,昨天已经确知,dropbox被封了。2010年果然如某人所言,是中国互联网的“流年”。先是google退出,再是dropbox被封,接下去是什么呢?

近10年来使用互联网,并在互联网上谋生,其中能真正让我喜欢,并产生依赖的网络服务,除了gmail之外,就是dropbox了。dropbox是在去年9月经好友推荐才开始使用的,一旦使用了就完全依赖了,无法离开了,同时,从那以后就再也没用过U盘。然而,如此一个不具有意识形态属性的纯技术工具,竟然会遭此厄运。

我明白了,凡是互联网上的优秀产品(服务),就会为他们所忌恨、或者是害怕、甚至是恐惧。这是一伙脆弱到什么程度的统治者啊?!!!

所以,现在的中国的所谓“开放的”互联网上都充斥着些什么垃圾呢?

前些日子,看到一篇财经类的文章,说的是关于上海要力争在2020年成为纽约、伦敦这样级别的金融中心。同时看到这篇文章的评论中,有人说“一个连facebook, youtube, twitter都无法访问的国度,想要建造国际金融中心是很可笑的。”,现在,这个名单中又可以加上一个dropbox了。与这个世界上最受欢迎的网站(互联网服务)全部无缘的中国人,在一个对信息自由流动如此惊惧的国度,要想建造出国际金融中心确实是一个可笑而荒谬的目标,难道就凭那帮畜牲凭空想象吗?

好吧,中国的互联网是开放的——某畜牲语。

胡言乱语 | 2 个评论 | 9,361 次阅读
简短地址:http://ncblog.net/705/
明天去徐闻休假    @ 2010-05-07, 21:13

算是比较突然的,决定明天去徐闻。也好,忙了三个多月了,这几天就算是修整一下吧,所以只打算带本小说,带个T30收收邮件,就行了。

X项目从去年7月产生构想至今,已经能见到带数据的雏形了。希望5月底能正式上线内测版,比原计划又推迟了一个月,因为各种不可控的因素。其实也不算推迟了,四月底已经看到东西了,给了“投资人”一个交代了。 :grin:

<此处隐去隐私内容一段>
农码生涯 | 评论已关闭 | 7,848 次阅读
简短地址:http://ncblog.net/704/
ipad、apple及开放平台    @ 2010-05-04, 14:11

周日,去了趟深圳,在朋友家里,观摩了一下ipad,很不错的东西。可乐对它爱不释手,搞得我很想给他买一台,怎奈囊中羞涩,近期是不太可能的了。

苹果这两年似乎又热络了起来,猪圈貌似也有不少人(公司)开始加入app store阵营,为iphone平台开发各种应用、游戏。而正好,这几年,cpu产业发展貌似进入瓶颈,intel不温不火了,微软自从vista的惨败,而让人觉得已经开始走下坡路,而相对的,这几年iphone/ipad等产品却成为闪耀明星。这一切给人一种感觉(或者是错觉),apple将成为未来的王者?

但是,我觉得,现在下这样的结论还太早。成功,王者,这些概念,要看你如何定义了。

没错,苹果现在的产品,几乎个个都是明星,简直可以用艺术品来称呼,虽然贵,但也还都热卖。从这个角度说,无疑,apple是成功的。但是,我认为要成为王者,apple目前还不具备这样的潜质,原因很简单——封闭,这既是apple成功的原因,也是apple无法成为王者的原因。

即使微软现在显露出疲态,但至少在曾经wintel联盟所缔造的pc产业,几百万大大小小的软硬件提供商依赖这个平台生存、发展面前,apple目前的状态,也至多能算回过气来而已。

apple是一个可以制造梦幻产品(艺术品)的公司,但是却不是一个可以创造产业的公司。原因就是他的平台是封闭的,第三方提供商是很难依靠这个平台来赚钱,生存、发展的。没错,app store造就了几个梦幻的暴富开发者,且不论宣传这几个梦幻暴富的是不是软文,且看其背后app store中几十万的应用数量来说,要成为梦幻第三方的成功开发者的几率,比中彩票头奖的几率,高不了多少。暂且不论apple与adobe flash之间的斗嘴谁是谁非,但在这个事件中,apple/乔布斯所表现出来的独断态度,对平台的完全把控的姿态,对于其他第三方开发者来说,绝不是一个好的示范。

一个无法让大量的第三方服务提供商生存、发展的平台,注定是不会成为王者的。要成为王者,需要有开放的平台,接纳无数的第三方提供商,让他们能够在这个平台上共生共存,而不是拉一两个所谓的梦幻的成功第三方做软文来让其他第三方做梦。做梦是有期限的。

记得开源软件界有一篇著名的檄文,大教堂与集市,划清了开源软件与微软的开发模式的不同。而现在,apple更像是大教堂,其他开放平台的产业者,成了集市。没错,大教堂可以制作出艺术品,但地球上99%的人不是艺术家,99%的人日常生活,仍然去集市买东西。当年,macintosh也一样叫好,windows一贯别人批评为玩具级的操作系统,但最终结果很显然,是开放但不那么完美的wintel平台称霸了20年。我记得,苹果的这一波崛起,也是起源于,他在mac电脑上抛弃了power pc的cpu,换成了intel的cpu……

开放的力量,是没有人能阻挡的。最终产业将由不那么完美但却开放的平台所创造,正如当年pc打败macintosh……

胡言乱语 | 1 个评论 | 8,980 次阅读
简短地址:http://ncblog.net/703/
X10入手    @ 2010-04-28, 23:47

期待、等待了四个多月的X10今天终于到手了。

除了工作用的电脑配件,2年多没有买过电子垃圾了……

无酒无花 | 评论已关闭 | 9,626 次阅读
简短地址:http://ncblog.net/702/
装了Subclipse    @ 2010-04-28, 00:46

今天在Eclipse里装了Subclipse(SVN for Eclipse的插件),这下可以少受一些乌龟的折磨了。。。
乌龟bug不少,一开始不熟悉的时候,被他的bug搞死过。 :?

集成在eclipse里用svn,个人觉得比乌龟那种方式要舒服多了。

软硬兼施 | 评论已关闭 | 8,066 次阅读
简短地址:http://ncblog.net/700/
继续忙碌的四月    @ 2010-04-27, 02:37

四月上半月还是和solmyr一起在集中式魔鬼开发,月中他回四川了。

下半月,稍事轻松了几天,然后发现数据服务器瓶颈在磁盘IO上,遂采纳了老汉的建议,加了两块硬盘,把原来的raid1,重新做成了raid10,同时为提高并发处理性能,又加了一块CPU。

折腾完数据服务器后,开始熟悉Eclipse环境,做为php和python开发的IDE。Eclipse还是很好用的,很快上手了。这几天开始搞python了,虽然认识python已经很多年了,不过一直以来几次想学,总是上不了心,主要是没有实际需求要用它来开发。当现在实际的需求出现时,其实要上心还是很容易很快捷的。Python的标准库已经很强大了,这次做的sp3_cp_k所需要的功能性的模块,Python的标准库都有提供了,实在是方便。目前,就跨平台开发的便捷性来说,Python应该是最合适的了(如果你有不同意见,我们各自保留吧,免了无谓的语言之争)。

我甚至觉得,可能我以后会越来越少用Delphi了……

不过,忙碌下来,也有点感觉是不是有点上年纪了?至少,有时候人觉得疲倦了,也不像以前,睡一觉就基本上能完全恢复,这几天醒来的时候,仍然感觉疲倦。

等内测版完成,是需要休息一下下了。

另,经过4个多月的期待、等待,今天终于下手了索爱X10了,过几天就能拿到了。等休息下来了,折腾一下X10。

农码生涯 | 1 个评论 | 9,097 次阅读
简短地址:http://ncblog.net/699/
可乐出生的第1120天    @ 2010-04-25, 03:19

前几天在麦当劳,可乐看到墙上挂着麦当劳玩具图样的海报,说“玩具玩具”。妈妈说,“你不乖,麦当劳说不乖的小孩没有玩具送”。可乐听了,一本正经的指着海报说,“你看,上面写了,申~立~诚~乖”,爸爸妈妈……

可乐百事 | 1 个评论 | 8,653 次阅读
简短地址:http://ncblog.net/697/
回到家了    @ 2010-04-21, 21:01

昨天没回家,今天上午在公司睡了下,下午起来。天气太潮了,盖着回潮的小被子,睡的很难受,整个人感觉也黏糊糊的。刚才回到家,洗了个澡,家里有抽湿机,爽快多了。

今年天气实在太异常了,冷冷热热已经好几拨了,往年3月后,珠海就应该进入夏季了,结果今年快五一了还是这个鬼天气。

自然灾害越来越频繁了,地震,火山爆发,人民起义……越来越让我觉得,发生的这一切都是被设计好了的……不知道玛雅人的计算方式,会不会有误差 :?

无论如何,还是在家里感觉好,老婆儿子在身边陪着,可乐总喜欢爸爸陪他一起回家……

农码生涯 | 1 个评论 | 8,958 次阅读
简短地址:http://ncblog.net/692/
Gentoo on Intel® RAID Controller SASMF8I    @ 2010-04-21, 07:31

数据服务器主板是Intel S5000VSA,弄了4块1T的硬盘,打算组raid10,结果Gentoo不支持主板自带的hostraid,intel官网上只提供了redhat之类的发行版的驱动。原本打算就用Linux内核自带的raid算了,不过有点不甘心。

在google搜啊搜,找到一篇俄文的文章,他说的是把intel官方提供的供红帽子用的驱动编译成模块来加载,让我看到了一些希望。不过,LiveCD没法修改,于是顺便就听从了豆大之前的建议,再加一块硬盘做boot以及系统,数据才放在阵列中。翻出一块2000年10月买的一个15G的IDE硬盘,虽然速度慢点,不过反正是装系统和启动,对以后高负荷的数据读写速度没有什么影响。在这块硬盘上先做了一个Gentoo系统,然后按照俄文文章(看不懂,猜),编译出了megasr.ko模块文件,不过,每次启动系统都提示加载模块失败。然后又寻觅折腾了许久,又找到这篇看起来莫名其妙的文章,却被其中提到的把intel的代码编译到内核里那段描述吸引了。依葫芦画瓢,设置好源码位置,配置文件等,重新编译内核,最终居然成功了!才发现,天已经亮了。。。

软硬兼施 | 评论已关闭 | 12,288 次阅读
简短地址:http://ncblog.net/691/