邓世龙的自留地

兼济天下则达 独善其身则穷

标签归档: 欧拉工程

欧拉工程中文站V1.1版完成


真没有想到,距离上次更新已经将近三个月了,看来真的是越来越拖拉了。

记得上次说,将使用MVC来重新设计网站,添加评论功能,RSS功能。后来发现,写一个MVC框架也没有那么容易,还是用Smarty相对容易一些,于是用Smarty来实现数据和显示分离。

对于评论功能,一直纠结是否要实现像Wordpress那种嵌套评论功能,写着写着,发现嵌套功能也没有那么容易,于是只好实现最简单的评论功能。而对于评论,本来还打算实现分页功能的,而在我看来,实现这个功能一共有两种办法,一种是重新刷新整个页面,另一种是使用Ajax。使用Ajax的体验相对好一些,可是我又发现,实现这个Ajax功能也并不容易,后来又考虑到网站那可怜的访问量,评论根本上不去,所以也没有必要实现这么复杂的功能,于是干脆连分页都不做了。而对于RSS,访问量上不去,这功能估计也用不到,先不写了,一切从简吧。

这次改版,一个最大的变化还是左导航栏,有了这个问题题目的导航栏,看题目内容就很快了。这还得多谢颖妍同学。

如果感兴趣的话,可移步欧拉工程中文站

欧拉工程中文站v1.1

欧拉工程中文站第一版完成


知道欧拉工程,是在任晓祎的博客里,之后断断续续也做了一些题目,并被数学之美所折服。其中的许多问题,如果没有一个合理的解决方法,即使高性能的计算机也无能为力。典型的一题是素数的判断,记得微软实习面试时也问过这道题,当时还以为很简单,没想到这后面还隐藏着米勒拉宾算法,并且竟然会与费马小定理搭上边。

但是这个理由还不足以需要自己做一个网站,以及将题目翻译成中文。之所以这么做,出于两个原因。第一个是,想学习怎么翻译,提高英文水平;第二个是,学习如何做网站。

高三的时候,一次英文课上,老师叫我和几个同学扮演一个采访节目,其中我扮演阿迪力,也就是那个走钢丝的特技演员。当时我的口语水平很烂,所以放弃这次扮演,于是老师笑道,阿迪力不懂英语啊。当时很羞愧,学了五年的英语,口语竟然这么烂。但同时,我也觉得这个老师不好,怎么能这么打击学生呢?事实上,我的英语阅读水平一直都很不错,即使读起原版书籍也毫不吃力,只是我这人生性腼腆,不常开口说英语,以至于口语很烂。后来学日语的经历也证明了这一点,日语老师韩凌燕很耐心的教我们从发音开始学起,而当时自己学的很努力,最后日语的发音也还不赖,事实上,在普通话,英语,日语中,我的日语发音是最标准的。而为了证明我还是懂英语的,后来看了许多英文书,英语的阅读水平显著提高。为了学以致用,决定翻译欧拉工程,一方面锻炼英语,另一方面,也可以加深对题目的理解。

事实上,不会做网站一直都是我的一个心病,所以能够自己独立做一个网站一直是我的一个愿望。两年前找实习时,就问过余晟老师,如果要做Web开发要从何做起。余晟老师说,先从最简单的网站开始,从前端到后台,功能,设计全部走一遍,而后台语言的选择最好是PHP。当时还和余老师说,自己喜欢Python多一些,还是不学PHP了,因此还被骂了一顿。工作之后,看志容用Django做的博客,于是决定用Django做网站。可是后来发现并没有那么容易,很多时候都在学习Django如何处理Web开发,无法按照自己的想法做。于是还是听取余老师的意见,用PHP,在看了哈佛大学的《构建动态网站》以及李航用PHP写的博客,更加坚定了学习PHP的想法,其中Malan老师说,PHP就是为Web而生的,它为Web开发提供了许多语言特性。于是开始用PHP做这个网站。

不知道从什么时候开始做了,陆陆续续的用空闲的时间做。先从如何编写一个登录验证的程序,到新建一篇文章,修改一篇文章,增加一篇文章,实现分页,慢慢的,一个基本的网站就形成了,最终也就是现在这个样子。现在这个网站,如果对于一个熟手来说,不到一天就可以完成了,可是我是一个新手,所以只好一步一步来。接下来还有很多工作要做,功能上,如评论功能,RSS等还没有完成。而后台设计上,现在很多地方的HTML输出,还是用echo,没有做到MVC,接下来的机会是先用MVC重构整个网站,之后再添加评论和RSS等功能。

如果想看看现在网站的样子,可移步http://euler.dengshilong.org/