代码改变世界

拾掇旧玩应——那些年,我独自做过的小站

2012-01-31 18:32  onm  阅读(212)  评论(0编辑  收藏  举报

这两天拾掇了一下以前写的小网站,有的年久失修已经不能用了,有的简单到弱爆了,都是gae上的东西,用python的,web framework有的是webapp,有的是django,后期主要用django,这里主要回顾一下这几个东西。另外,拾掇的过程中充满尴尬与对自己陈旧代码的鄙视,心想怎么代码写的如此垃圾,过程中还发生了种种烦心的事情,这里一并写下。

在gae上做的第一个玩应叫做“Keep so Go!”,忘了写了多久,可能1天左右,是个很简单的玩应,也很让人摸不着头脑。玩应的介绍就是,“如果网页不被关闭,那么你的在线时常会被不断累加,然后进行排行”,这个东西的灵感现在想想多半来自小的时候玩游戏挂机的经历,亦或是QQ挂机,这个说不准了。只写了1天然后就终止了,本也就是练手的小东西,自然没有传播,用户有2个,一个显然是我,另一个是后来在you8g注册域名被别人悄然发现的。需要注册的东西,还是很难获取初期用户的,除非有知名人事的推动与宣传,像当年“知乎”的邀请码相当难搞,大家趋之若鹜。视觉上,我忘了抄袭了哪的视觉,总之不是我的原创,虽然很简陋,就那个黑条。代码上,真心写的很烂,web框架用的是webapp,总共没多少python代码,200多行,感觉用python代码,这小玩应,写的代码行数越多,越显得低端。看svn的记录,代码是2010年10月写的,剩下应该没有什么了。

第二个应该就是“爱颜色”(现在是在sae上的版本),时间与第一个应该差不多,文案是“选择你最爱的颜色,选择你当前心情的颜色,分享最爱的颜色,对颜色进行解说,通过颜色寻找朋友。”,想法来源是有个挺出名的国外的关于颜色的网站,现在想不起来了,这个是整合了新浪微博的,用了新浪微博的API,信息流会自动同步到微博上。视觉上最早应该是自己的原创,已经不记得长什么样子了,但是提交新浪微博审核的时候,被说界面太丑陋,然后我采用了我博客上的那套css,后来才通过。这个也1年多了,很早以前,由于新浪微博api调整过,然后这个“爱颜色”就不能用了,我也没想改,但是网站处于不能访问的状态,于是我把与新浪微博相关的东西全部注释掉了,然后一直苟延残喘至今,近两天我修复了新浪微博交互的问题,并且把“爱颜色”移植到了sae上。在gae上的现在虽然可以运行,但是还是有很多问题,然后我在gae上可运行的状态上,进行的sae版本移植,然后在sae版本上修复了算是挺大量的东西,然后gae版本作为一个branch躺在那里。“爱颜色”是用的django web framework,而众所周知django在gae上的兼容性并不是很好,我当初使用了google维护的django helper,但也早就停止维护,gae上的django和django最大不同是model层,而我model层当初未完全封装,向外暴漏了好多gae自己的东西,当然当初也想不到会有一天用纯粹一点的django来写,sae上的django算是纯粹一些,不像gae很多不能用。但是移植过程中遇到超多细节问题,而且python不想编译强类型语言,很多问题不到运行时还是挺难发现的,想很多类型问题,我很是无语。一个糟糕的问题是新浪微博的认证过程必须在有外网地址的情况下才能测试,所以我只能部署到真实环境才能测试,于是不停的部署啊,不停的发现问题。看来还是写点单元测试靠谱点啊,于是动手写。磕磕碰碰折腾了小两天时间,每次一部署或者svn提交,我就刷眼微博,关注下方寒战事,终于移植完成,修复了大量错误,并且赶紧了大量代码,有的时候觉得重写都比这块,但是修正代码过程发现我的代码的拙略,改后稍好一点,维护代码总是比捋起袖子从头干起费劲纠结一些。我想起了《UNIX编程艺术》中写的

正如Brian Kernighan曾经说过的:“计算机编程的本质就是控制复杂度”,排错占用了大部分额的开发时间,弄出一个拿得出手的可用系统,通常与其说出自才华横溢的设计成果,还不如说是跌跌撞撞的结果。

另外,又想起在修正gae版本的时候,遇到域名过期,突然不能访问了,想这是咋了,想了会才意识到域名过期啦。。。

然后就是“Micolog部落”了,这个是我用时最多,也是我稍微满意,稍微有点用户,也通过这个网站想了很多,学到很多的一个玩应。曾经写过《最近做一个网站过程中产生的一些想法和疑问》,那里简介写到“2010年11月06日动手,由于我不是美工,加之之前站点UI的失败,为此我特意看了几本Web设计的书。最终借用了Wordpress的Motion主题。开发平台使用Google App Engine,语言Python,框架Django,RCS使用Git,GitHub托管。主要利用平常的闲暇时间开发。”时间来看,这个也1年多了,而且我最近打算基于这个做点扩展。这个网站我修改了好多次,对于注册环节我那篇博文里说过,注册我改了能有5次左右。开发时间总共加起来可能并没有多少,但是为这个我想了很多事情。用户量依然很少,但是也算是个突破,有80左右个人,并且当初还有点小意思,有几个活跃用户,我算是最大的活跃用户了吧,我在想当一个东西的创始人不在活跃的时候,那么多半这个东西就完了。后来怎么没有在搞,“”,堵住了micolog的用户,我这个基于micolog的聚合站也就黄了。

然后就是沉寂了,很久没写出什么,过程中有一些小东西,大多是在别的东西基础上做的二次开发,而且都是未完成品,做完一个东西的时间是代码第一次完工时间的一倍。

面条”,我觉得这个名字很有爱,名字叫什么无所谓了,这其实是显示豆瓣书影音收藏轨迹的一个东西,并没有100%完成,但是可以用,在豆瓣ID那输入自己的豆瓣ID,然后点选书影音组合,然后点“点”,可以显示自己的书影音收藏。

the10000”,名字来源是《异类》这本书,想法来源同是这本书和“Dan计划:重新定义人生的10000个小时”,标语用的是v2ex下面的那个“Do have a faith in what you're doing”,这个东西的玩法是:用户在上面写下一个自己要实现的目标,然后自己记录自己为这个目标做了什么,做了多少小时,距离达到10000小时还差多久,你已经为你的梦想努力了多少小时。我第一个用户的目标是做这个网站10000小时,然而我做的一个扯淡的行动是,在我做了5个小时左右后,就再也没动过他。这个网站另一个很扯的地方是也采用了邀请码注册机制,而且未登录用户神马也看不到,所以我想到了这个是在知乎刚出那会做的,依然是前面所说的。忘了说了,这个是基于v2ex进行的二次开发。

"Wiki",基于nancywiki做了一点二次开发,我之前博文写过一直想写个wiki,弄个我wiki,但是现在不做了。

再有就是写过一些micolog的插件。写过一个Android的烂玩应。

再有就是"网上书店",这个最初不是GAE上的,是之前学校写的网上书店,花了一会时间移植到SAE上,网上书店用的是Django写的,移植到SAE上很方便,但是网上书店用到了pylucene,SAE上没法搞,所以搜索和相关用pylucene做的推荐没法用,我主要写的后端,前端是一个同学写的,前端页面我基本没写,都交给同学了。这应该是我第一个纯Django的项目,之前在GAE上有一些不同和限制,写这个时候觉得Django开发是快,很爽,我们很快在我宿舍写完了。数据是豆瓣API搞下来的,用了memcache。总的来说挺糙的,不过和同学一起写还是有点意思的。

本来想配图,但是配图太麻烦,太讨厌配图了,我采集到了花瓣上,地址这里,http://huaban.com/boards/170195/

写于两天前,这两天纠结在libvirt和xen上了。