对BBBlog修修补补

Saturday, May 23 16:14, 2009
1 comments/458 hits
sigh, 英语不好,有些时候就是不行,刚刚改了半天的permalink,最后把原始的permalink替换成新的permalink了。。。问题就出在这里,permalink是固定连接,永久链接,是不能失效的,如果替换了的话,原有的连接就失效了,比如从reader里连接过来就发现页面不存在了。。于是,我只好灰溜溜的把原来的permalink有找回来,现在对于之前的每篇文章都有两个permalink,而新的文章当然只有一个permalink了。

另外,今天下午还重写了Category相关的地方,主要包含了新增文章,修改文章的category选择框,侧边栏categories显示部分,category视图,管理页面的category相关部分。真多啊,前一发动全身,不过还是硬着头皮做完也没费多少时间。

另外,对于memcache的模块,删掉了大多数的cache,现在只会cache侧边栏四个列表:recent comments,archives,categories和tags。恩,日历是直接生成的,反正也没有数据库操作,非常快。此外,就还有一个PublicPostList需要cache。

如果再加上一个Log记录,那么前台所有的东西就搞定了。不错bug肯定还是要不断的修修补补才能陆续写完。后台的部分,当然是rich text editor了。现在还很简陋。
Author: gzguoer Categories: mindcyclone Tags: BBBlogmemcachePermalink

学习的代价

Saturday, May 23 13:58, 2009
4 comments/417 hits
之前上学的时候,经常听到一种关于考试抄袭说法:如果某人的错误和另外一个人的错误雷同,那么就可以认为某人在抄袭。做就是抄袭的弊端,连错误或者说不好的地方也抄袭过来。

在本博客的后台程序的完成过程中,不可避免的学习了大量的其他优秀blog程序的优点,但是由于在学习的时候产生了先入为主的思想,所以使得对于某些设计不合理的地方,也认为是“就应该这么设计,这样是最好的”想法。从而使得自己的设计也不能得到进一步的提高。这就是学习的代价。当然了,学习别人还是必须得,只是要在学习的时候学会独立思考。

今天躺在床上的时候,我突然想不起来对于这个blog系统,某一片文章是怎么展示的。我记得用到一个变量permalink,而且这个permalink产生的过程,相仿的复杂。每篇文章的url格式如下所示:

youdomain.com/2009/5/your-english-title

之前一直以为这是个不错的想法,直接从url就可以看出文章的年月河标题,可能是有利于搜索引擎或者是对用户友好?但是后来查询代码才发现在每次显示文章的时候,都会进行一次数据库关于permalink比较的查询:

post = db.Query(Post).filter('permalink =',perm_stem).get()

然后,我就想为啥不对文章id使用更加高效的get_by_id的方法产生,对于我立马重构了url,现在时通过

youdomain.com/post/post_id

这样的url来访问实际的地址的。而查询blog的语句也变得更加的高效:

    post_id_ = int(post_id)
    post = Post.get_by_id(post_id_)

同时由于原来的permalink没用了,所以在博客创建的时候也省掉了复杂的把文章标题转化为英语的过程。之前转化的过程为:先对文章标题进行trim,然后调用tranlaite.google.com,再用BeautifulSoap得到结果页面中ID为result_box的div的内容,并且用‘-’代替其中的空格。整个过程非常的麻烦,还容易出错。我之前就一直想怎么解决这个问题,现在好了。问题根本就不存在了,哈哈。

注1:通过baidu所搜我得知,原始样式的链接是通过设置WordPress中的url参数为: /%year%/%monthnum%/%postname%/ 来实现的。鉴于大量的博客使用WordPress,所以使用这样的url也就不为奇怪了。但是我发现更大量的博客使用的是/archives/%post_id%, 也有人使用由于本博客的archive用于显示archive(好像的确应该这样吧),那么文章就只好选择之前描述的那样:/post/%post_id%的样式了。
注2:系统之中还有一些别的不太好的地方,比如可以利用GAE数据库提供的reference_set的强大功能,大大简化数据库查询操作的,但是因为不太好改了,所以就不想改了。
Author: gzguoer Categories: mindcyclone Tags: BBBlog潜意识Permalink