「人在北理」图书交易功能


人在北理上线新的功能——图书交易。这是一个开始于去年年底的想法,利用期末和暑假的时间,完成了。现在就等开学的时候进行宣传和推广。

我看到在大学里,教材的利用率都非常低,很多教材都只用了一学期就当成废纸卖掉,这并不是废物利用,而是极大的浪费。每学年,相同专业的学生都会上相同的课,使用同样的教材,我在大二大三就基本没买过新的教材,主要是在图书馆借和向学长要/买就能满足我的需求。我自己也有一些用过的书放在书桌上,虽然自己用不着了,但是却不知道谁需要它们,于是就一直放在那。我觉得二手书无法流动起来的一个主要原因是没有一个平台让大家去交换信息。我希望不用的书都能找到需要它的新主人,让它能继续发挥它应有的价值。

网站本来是搭建在SAE上的,域名比较复杂难记,于是特意买了一个域名http://atbit.org,取「在北理」之意。我还利用这个机会,把整个网站,从使用Django改成使用Tornado。

Tornado使用起来感觉比Django要轻量一些,也很容易上手。学习Tornado是因为碰到一些网站都在使用这个框架,而且它有一个优点是「异步非阻塞」,由于SAE使用WSGI,无法使用这个功能,所以网站的数据库处理都是同步的,希望上线以后能够撑住。

整个网站的前后端都是我一人完成,使用了Bootstrap的CSS和JS,后端的逻辑和各个处理模块也是自己写的。不过有的地方我是偷了懒的,例如:个人资料的修改功能、在线联系的私信功能,这两个我没有做。可能会在日后加上。

在慢慢实现自己想法的过程中,我发现很多细节的东西都会在做的过程中有所变化。都说程序员需要花一般的时间来思考,剩下的才是写代码和测试,但这不是要求你把所有的东西想好了再来做,而是构思好一小部分后马上动手实现,因为你的接下来的想法,可能会在实现的过程中就不知不觉涌现出来,你要做的,就是记下你的灵感。永远不要停留在夸夸其谈的层面上,just do it,这跟「Talk is cheap,show me the code.」是一个道理。

YOU MIGTH ENJOY

  • System design 4 - How to design a rate limiter
  • How I brought my cat to Canada 如何把猫咪带去加拿大
  • System Design 3 - 知乎匿名系统设计