大洪水即将到来,不过这次没有诺亚方舟

No Comments

新版本的 tublog 差不多完工了,原本我还想平稳过渡,不过刚刚一看一共才11篇文章和两条评论,所以……所以我就偷懒一点,直接删了没用的东西升级就好了……

Summer Plan

No Comments

这个暑假有点儿长~打算着重研究一下 web 开发相关的技术,目前已锁定了几个重点关注对象: Python 的 django, zope 和 PHP 的 babel, xoops。Python 方面是要学习如何用主流框架进行开发,而 PHP 方面则是研究某个具体项目的源码,看看这些开发者怎么处理相关问题。
同时要熟悉的技术还有 javascript(主要是 jQuery),mysql(学会操作及常见的SQL),CSS(我对页面设计很不在行),这些我就不打算深入了,知道怎么用就行。
貌似两个月也不长,不知道能否在一个月内把 django 整个拿下,而 zope,路漫漫其修远兮啊……
BTW: CSDN 的外包看起来是个赚外快的好地方。

tublog 开发新构想

1 Comment

首先是新的 sidebar。原先的 sidebar 几乎是硬编码进去的,扩展起来不方便——我在打算增加分类显示才发现这一点——要同时改动几个地方,违背了 DRY 的原则。新的 sidebar 采用动态加载模块的方式,先读取数据库中的 EnabledWidget,根据模块名和类名在 widgets 目录查找相应的类,传入配置信息创建类实例。Widget 必须继承 WidgetBase 这个基类并实现 render() 方法和 configure() 方法,配置信息以文本的形式存入数据库,widget 编写者可以根据自己的喜好使用不同的文本格式(用 JSON 会很不错,用 limodou 的 dict4ini 也可以)来存储配置。

然后是自定义主题的支持。当初图省事直接从 wordpress 找了个现成的模板来用,结果现在想换主题很麻烦。实现起来应该不难,设置一个全局的 current_theme,view 函数在指定模板时用 response.view = 'themes/%s/abc.html' 即可,所有的主题都必须提供指定的模板文件,可以使用指定的变量(在 view 中以 dict 返回)。

如假包换的 Time Killer

No Comments

if your_status in [感到无聊, 排队, 坐车, etc]:
    玩玩游戏固然是不错的选择,但如果有点东西可以读的话就更好了,打发时间之余还能有所收获。今晚我整理了一堆文章,大部分来自于技术牛人的 Blog,由于是英文的,读完一篇至少要半小时吧,just enjoy it.

  1. A programmer's view of the Universe, part 2
  2. The Universal Design Pattern
  3. Programming's Dirtiest Little Secret
  4. Done, and Gets Things Smart
  5. Dynamic Languages Strike Back
  6. Code's Worst Enemy
  7. Rich Programmer Food
  8. The Next Big Language
  9. Software Needs Philosophers
  10. Math For Programmers
  11. Structure and Interpretation of Computer Programs
  12. Lisp Envy
  13. Why I am a Python Advocate
  14. Logic Matters
  15. Where Zope Leads, Python Follows
  16. Dreaming In Code
  17. RegExpInPython
  18. MetaClassInPython
  19. Using Mix-ins with Python
  20. Why Haskell matters
  21. Paul Graham: Essays

BTW: 我心血来潮想找个FP语言来学学,初步考察认为 Haskell 会是个不错的选择 (虽然我没能第一眼看懂那两行据说没学过也能看懂的代码,反而觉得同时列出的 C 代码很亲切 -______-)。
BTW Again: 原来不是所有语言都像 Python 那样有个标准实现的……

添加初步的API支持

1 Comment

Updated:剩下的可能要等到6月之后才继续了,刚才发现 sidebar 的代码相当的 dirty,清理起来会比较费时间……这段时间要读一读其他 GAE Blog 的代码,还有就是要熟悉 Python 的各种语言特性的使用。笔记会整理在这里

最新的 r37 增加了 metaWeblog API 的支持,不过尚未完成,只是把骨架代码写好了……XMLRPC 的实现参考了 pyweblog  的代码(dispatcher 的写法特别精巧,处理请求时基本上只要一行 response = dispatcher._marshaled_dispatch(request.body),剩下的就和写 URL 映射一样轻松)。

接下来只要慢慢实现各个API就可以了。BTW:我一直在犹豫到底用 tag 还是传统的分类好……

Designed By Ben Swift.
Powered by Python, Uliweb, GAE