基于Django构建Blog(04)-着手实现

创建Django工程

工程名定为"xblog":

django-admin.py startproject xblog

创建完成后,需要再手动添加几个目录,这些目录并非Django的要求,只是本工程的设定而已,工程的最终结构如下: 这其中的"apps"、"static"和 ...


基于Django构建Blog(03)-设计

UI草图

设计类图 ...


基于Django构建Blog(02)-分析

系统目标

blog系统是一种CMS,这个系统的基本目标就是要让内容生产者方便地管理其内容,对于blog来说就是文章以及与文章相关的一些东西;还有,就是要让内容的消费者,也就是浏览blog的人能够方便地查阅到内容;最后,作为一个开源项目,要提供详细的文档以方便开发者学习交流。

系统用例

一般用户

  1. 浏览文章
  2. 在搜索框中输入关键字,在站内搜索文章
  3. 通过档案(Archive)列表,标签 ...


基于Django构建Blog(01)-说明

主要总结Django的使用,相应的项目放在:http://xushvai.github.io/io

开发环境

后续所描述的操作都是在OSX下进行的,当然,在哪个平台对于Python来说都差不多,不过,为避免一些不必要的麻烦,PythonDjango的版本务必要与这里所使用的相一致,Python为2.7,当前OSX上自带的就是这个版本,Django使用1.7.1版。若你当前的系统中已安装了其它版本的Python,为了不破坏这个环境,可以使用Python虚拟环境,在虚拟环境中安装想要的版本即可 ...


逐步实现TCP服务端Step06-1:Libevent

Libevent是基于C语言开发的高性能开源通信库。Libevent是Reactor模式的一个实例。Reactor是一种事件处理模型,其基本形式: 其中,Reactor为核心部分,它是使用者启用Reactor机制的入口。EventDemultiplexer是事件分离器,Reactor使用它来监测事件的发生。Processor是事件处理器,它用于处理,或者说响应某个特定的事件。ConcreteProcessor的存在是为了方便模式使用者定制事件处理逻辑。Reactor、EventDemultiplexer和Processor三者基于句柄(Handle)建立关联,比如socket文件描述符 ...


逐步实现TCP服务端Step06:使用轮子

这一系列从零开始实现了一个处理简单业务(echo)的服务端,现实当中不太可能一切从头开发。所谓的服务端开发,更多地是去实现业务逻辑。务实的做法是使用成熟的“部件”快速搭建基础设施,然后专心开发业务。

一个后台系统可粗略地分为三个单元:通信单元、业务单元和存储单元。三者的作用从名字即可看出。前面的大多数篇幅,实际上都是在讨论通信单元的实现。由于不关注具体的业务,与业务单元有关的讨论几乎没有。至于存储单元,上篇讨论了dbsvrd与MySQL,其具体实现见antframe项目。

下面讨论一下 ...