远离底层

要为actools添加用户收藏功能。按照原来的开发方法的话,要完成这个功能大约是2~3天的时间,不过我并不急于开发出这个功能,而且受到以下事件的影响:

  • bilibili.us强势开张,证件齐全还提供rss,而acfun的管理现状让人担忧,不想随意地投入精力到里面;
  • 本地的开发和调试环境,包括eclipse PHP、LAMP等最近才配置好,在配置好之前,无法实现增量开发,导致开发动力下降;
  • 在思考OO的过程中不断产生疑问,对现有的代码感到不满,并花费了大量时间去修改;
  • 发现了一些奇怪的php语法(例如@和&),然后受到打击停滞不前;
  • 毫无压力,喜欢就做一下,不喜欢就玩一下。

于是一拖再拖。作为一个业余得不能再业余的web编程人士,我试图通过看别人的优秀设计来获得长进;我深知不可能看几篇速成就能成为经常鄙视别人和被人鄙视的砖家,不过我也不计划成为那样的人,去和别人争论效率啊思想啊什么的,只要能过自己心里认为过得去就行而目前的设计方法连自己都看不下去,所以才会有动力去研究,去思考。

目前的情况就是,我不敢轻易地从底层的东西开始写,而打算在一个足够开放的轻量级框架下拼凑他人写好的代码;拼凑不只是简单的c&p,我还是有把握拓展他人的代码使其和现有框架接合的,但总体来说,除了独特的功能例如fetch之外,通常的工作例如用户管理和一般的数据库操作,我都希望尽可能用别人的东西,因为,例如数据库查询,我只能想出『传递sql返回查询结果』这种级别的封装,从思想上就很难做到Active Record级别的考虑。

于是远离底层。

Alter to PHP and CI

As I went into django, I realized a problem that not all the webhosts support python, let alone django. So even if I build the whole perfect AcTool by django, I was not sure it would work when ported to the planing paid-host.

PHP must be available everywhere, so I think I should turn to PHP. There have been many PHP frameworks, I’d like to use a light-weigt and config-free one, and found CodeIgniter.

As a matter of fact, I’m not good at C-based scripts, one of which is PHP (I have ever put all my enthusiasm on ASP, but it’s been proved not worth investing in). But to spell over the PHP script isn’t difficult, so I’d like to try. I hope the CI framework can ease some of my work, since it’s well-designed.

Anyway, it’s better to read some articles about disadvantages of a develop tool before learning.

啊啊啊……不更新对不起党……

其实距离上次更新也不是很久……不过上篇写的东西太没谱了,这次写点有谱的嗯。
        秋学期的考试加上传说中的教学评估,成为了我错过无数好企招聘的借口……现在已经没多少感觉合适的企业在招聘了……找工作的问题耽搁了许久,估计即将要成为家里蹲一族了……不过这么现实这么沉重的话题不符合我的风格,还是说点轻松的嗯。
        昨天体能测试,立定跳+1000m,骨头架子都散掉了……然后然后,这几天严重缺乏睡眠,而且长期处于高度精神集中的『用户体验研究』状态(OLGame……=.=|||),现在长期处于感觉相当恶劣的状态,不过躺下就能睡着倒是不错……
        昨晚很无聊,便去味风堂搓了顿。第一次去是guoguo同学的生日,然后觉得还不错就偶尔去了……推荐大家去这个地方啊,特色菜是蝴蝶骨,石头牛肉建议吃且仅吃一次,个人认为手撕沙姜鸡也很不错……古墩路371号,817在桂花城下或者打的到金田花园就好了。吃完之后一路走回来,虽然刚跑完1000m但果然这样子走回学校感觉还是相当好啊。
        今天本来打算去查良镛的什么名誉院长颁发仪式暨交流会,不过我从5点开始睡睡到6点半才吃饭,想起来的时候已经开始有半个小时了……还是去了,到的时候看到许多人从现场直播的房间冲出来,大约打算冲到查良镛所在的房间拿签名?于是直接去现场直播的房间,貌似查良镛刚发表完某某讲话然后开始接受提问……老人家说话都直哆嗦了,根本听不清他说什么,但是拜托诸位不要问『你如何看待当今中国道德缺失?』『你是如何参与政治的?』这种变态问题啦,存心为难老人家么,真是的……和他拉拉家常聊聊武侠就好了……还有个人竟然张嘴就是『茶』良镛,太丢ZJUers的面子了。
        以上是非闲话,下面是闲话:怎样找到真正好的东西?
        在网上混久了就变成怀疑论者:一切都不可信。某段时间泡cnbeta较多,看着大部分的评论都像是托:肯定是收了钱然后给某利益群体说话的。于是,渐渐不知道什么是真正值得推荐的了,因为所有的推荐都可能是基于某种目的——又变成了《货币战争》那样的阴谋论。说起《货币战争》,本来我是郎咸平的忠实支持者,看完《货币战争》之后就觉得,他会不会也是某利益集团的托啊?呵,恕我冒昧了郎先生。
        但现在我还是感到,有那么些东西的确是好的,因为我相信推荐他的人是好的。网不易、煎蛋、草莓、小众软件、月光博客和对牛乱弹琴等,我没有任何理由地相信着它们并不代表某种利益集团,于是它们所推荐的都会让我非常感兴趣:王小波也好,青铜骑士也好,Randy Pausch’s last lecture也好。我开始看王小波是因为网不易的糖和尚的父亲是他,青铜骑士是王小波推荐的,而Randy的演讲则来自网不易中提到的朱学恒的路西法地狱的推荐。所有这些我都去关注了,阅读了,思考了,所以我不再抱怨信仰缺失,不再信仰虚无,像是空中的安泰俄斯落在了地上一样。
        当且仅当这个时候,我能够感受到传说中的Web2.0,传说中的Social Network。

ps:觉得自己写文章都是杂记一样的,一点都不能围绕固定话题无限展开,难道我真的是王小波说的那种只看文章摘要就会很满足的,不懂得欣赏小说的屎人?…

“多眼看世界”知识竞赛的网上考试系统

系统的基础是以前做的一个实现了随机出题的破烂考试系统。

这次的需求相对以前独特了一些:三类题目,每类随即抽取一定比例。花了一个上午把那边提供的资料整理好(到目前为止,我还是认为这项工作是最具有技术含量的,没有一定的Word中级应用能力,根本就是一项消耗生命的工作),然后想了一下,干脆就把3类题目分放到3个数据表里面,反正把生成随机题号的代码复制两次就好……

下午参加了一个校际管院学生会交流会,回来后磨蹭了一下决定先去吃饭,饭后继续做。

确保了能够正常随机出题之后,看着混乱的table觉得不舒服,于是打开了某个秘密收录的htm和css打开,一顿狂拷,把系统的风格改掉了,并且代码看起来比较整齐了……

在改的过程中,感到出错信息比较吓人,所以改了一下,并且分析了几种可能的违规操作,然后输出相应的信息。

最后加了一个超时检查,先做基于ASP的,然后用js写了一段在状态栏显示Remain Time的代码,正常超时是30分钟,改成1分钟来测试,超时自动交卷,现在有点担心session.timeout=40能否发挥作用,测试中……

然后上传程序并叫团委那边找人测试,嗯,上次的某某知识竞赛毁在我手里了,希望这次能够成功。

其实ASP这种无聊的程序写多了,就会有一些跟ASP关系并不是很大的感悟,例如,作为主办者是不会关心代码运行效率的,只会是否在任何状态下都能够正常运行,而且,他们也不关心代码看起来是否比较整洁和干净;而用户则更多希望不要出错,而且最好能够比较方便地使用。

本来想长篇大论一下的,后来还是决定算了。

实际应用过程中暴露的问题:

session真的不够稳定,看来纯基于数据库的认证才是王道。

还没有喝完的茶

这两天恢复到正常上课中。我有一个很不好的习惯,就是总是把早上泡好的800ml的茶在第一节课喝完,但是这两天居然到了第二节下课都没喝完……原因是,在看《计算机网络实用教程》,某门课的教材。

自从五一前在该课上发生了大学生涯以来第一次点名没有到之后,为了避免被老师责难,决定先自行恶补一下。但是看着看着就发现,里面的内容原来比想象中要实用的多!于是华丽地迷了进去,忘记了喝茶——喝茶原来是无聊的时候才会干的一件事……

WWW@88上的某位大牛曾经建议,折腾web的话,最好还是了解一下网络,现在终于走上了这条不归路了。

茶还是要喝的。

* * * * * * * * * *

传说中的梅雨终于降临杭州了。发现自己的伞不仅不是为两个人准备的,而且连自己的身子都遮不住,真是可悲啊,在我的世界里面,连自己的份量都不是很够……

无论如何,下雨的天气总是让我感到非常的愉悦,某类鬼话就不说了,该知道的人都知道,不该知道的人也无法理解吧。迟早都要考虑买DC,至少能够把正在下的雨给拍下来;不过还是等我结束了某段生活再说了:革命要革得彻底一点。

下一本要啃掉的厚书——《JavaScript权威指南》,虽然已经拥有30%的基础了,但是认真看一遍的话,应该可以解决许多问题,毕竟这是Ajax的基础;即使以后不是走Ajax的道路,那么给自己的blog润色润色也需要这些个东东。至于一下更大的目标,目前也没有更多的想法,Java还需要努力,至少要实现第一个MVC架构,然后开始看servlet。

至于算法,……这点信心我还是有的。

关于中学的网站

今天进去看看,改版了,用PowerEasy作为网站程序了,遗憾的是,旧的网站还在。

这里有必要先说明一下为什么“遗憾” 。旧的网站大概是2000年网络泡沫时期的产物吧,ASP做起来的,功能非常好,但是漏洞也非常多——有一天在宿舍无聊了,就用google遍历了一下旧网站,找到了5-6个可以注入的地方,另外还有一个上传任意文件的漏洞(想知道这个漏洞有多汗?后台是不用登陆的!即使不能上传文件,我也可以发表文章,如果我发表一些flg什么的东西,哼哼……)。所以说,旧网站仍然存在的确是一件很遗憾的事情——地址也没有改变,现在,引用《我是一个黑客》里面的话,“我已经有自己的入口了”,你再怎么改版,怎么隐藏旧网站,只要还在那里,就存在安全隐患。删除旧网站?不容易,因为我分析过,旧网站的体系是非常复杂的,除了学校主页之外,还有隐藏的老师的主页、科组的主页、班级的主页,删掉的话恐怕会引起许多麻烦。

看得出来,网管已经努力补了许多漏洞,特别是SQL注入方面的漏洞(很多人说SQL注入是最没有水平的),然而,网管放任普通的老师把自己的网页放到网站上,再开放运行ASP脚本权限,真的是一个错误(当年想,为什么班级网页不能用ASP啊,太过分了,现在想来的确不应该能用,因为这样做太危险了,用ASP可以夺取一台服务器)。而且我对网管修补漏洞的方法颇为不屑:把admin表的名字改复杂,也就是说,如果你能猜到表名(嗯,这个比猜密码难得多),还是可以黑掉,这算什么修补漏洞嘛!

然而,我是不会干黑掉自己母校的服务器这种无耻的事情的,因为那毕竟是我的母校,我身上绝大部分的优秀的质,都是母校给的。旧网站上提供了一些当年免费资源横行时的服务,现在,这些服务是多么的珍贵啊!我还是想利用一下的,感觉就是物欲横流的社会中的一片桃源,尽管这片桃源是脆弱的。

我已经要对三台服务器的安危负责了,而这一台是隐性的责任——我无法阻止它被黑,但我自己不会去黑它。目前我的唯一希望就是google尽快刷新中学网站的索引,而旧网站与新网站没有任何链接,这样,让旧网站隐藏到后方,我还可以偶尔探望一下它。