Today's the day

向软件大牛炫耀我会焊单片机,向硬件大牛炫耀我会写 Rails,向软硬件大牛炫耀我生物,向软硬件生物大牛炫耀我会折腾期货 -_-bbb

单机版进展 50%

小看这个工作了,比想象中工作量要大很多,现在这个 Chito 可以说是为了 is-Programmer 而写的,很多地方都对 is-Programmer 特殊化了,比如首页和注册登录界面,现在是拿了一个单独的 Controller 来实现首页,单机版肯定不能这样搞。

单用户和多用户合并在一起,也比预想中要麻烦,毕竟单用户只针对一个固定用户,而多用户要从当前的二级域名中得到当前的用户,得到当前用户的方式要区分。地址的生成也不同,多用户模式下必须生成完整的带有二级域名的地址,都快被这些东西搞晕了……

无可避免的,用户得选择一下用户模式,多用户的话还得填写一下根域名,希望不会让使用的人困扰……

Chito 准备加入“页面”功能

了解 WordPress 的人肯定对“页面”非常熟悉,Chito 也准备加入这个功能,本想在单机版之后再考虑,不过想到在把 is-Programmer 迁移到单机版之上的时候,需要页面的功能,就着手开始做了~

说白了页面就是可以显示在导航栏的文章,所以 Model 还是文章的 Model,根本不用建新表,添加个标识和普通的文章区分即可,再加上原来在做 Textile 编辑插件的时候,就实现了“编辑模式”的结构,这次只要添加一个“Page 模式“就 OK 了,剩下的就是显示上和排序的问题了~

这样,目前导航栏中“关于 XXX”的栏目就显得有些多余了,移除预定~

Chito 代码整理完毕

终于把 Chito 的代码整理了一遍,清理无用代码无数,修复 n 个隐性 bug ( 不知道会不会带来新 bug ),扔掉了几个不需要的第三方插件,尽最大努力把代码理得清楚了一些,看上去舒服多了~

目前的 rake stats:

Code LOC 只有 1341,不得不惊叹于 Ruby 语法的简练和 Rails 的简洁性,要是用 PHP 或者 Java 来做个简单的 Blog 程序的话,就没这么轻松了~

接下去是严峻的单机版工作,终于要开始了……

改善了 Chito 插件的实现方式

昨天夜里改善了一下 Chito 插件的实现方式,原来直接把方法 include 到 Rails 的框架里去,现在放在 module 中在程序中 include 进来,当初脑子脱线了就是没有想到这个简单的方法……   这样方法的查找速度快了很多,而且还可以在插件中修改过滤器什么的。

  1. class BlogController < ApplicationController 
  2.     include BlogControllerPlugin
  3.     ...
  4.  
  5. module BlogHelper
  6.     include BlogViewPlugin
  7.     ...

另外,原来是每次请求都要获取一遍插件,现在改成在启动的时候,把插件都注册到一个插件类中去,大大提高了效率~    插件也可以有诸如作者、版本、Web、简介这类的属性了~

  1. plugin = ChitoPlugin.new do
  2.     self.id = "hot_posts"
  3.     self.name = "热门文章"
  4.     self.version = "1.0.0"
  5.     self.writer = "galeki"
  6.     self.web = "http://galeki.net"
  7.     self.contributers = ""
  8.     self.category = ""
  9.     self.info = "Show hot posts bar"
  10. end
  11. ChitoPlugin.add(plugin)

还把插件的配置页面位置统一化了,这样就不用费力在每个插件中都要指明配置页面位置,基本上每个插件的代码因此减少了近一半~

重整 Chito 代码

暂时停止向 Chito 添加复杂的功能,是时候把代码优化和整理一下了~ 

实现功能的代码,该封装的封装,该简化的简化,也要遵循 MVC 的设计信条,尽量精简 Controller 层,把功能都放到 Model 里去~ 而且很多地方的代码都有啰嗦的嫌疑,现在 Chito 的总代码 2300 行左右,但是实现管理界面的文件管理器,就用了 200 行汗……现在这代码要是被别人看了岂不会被笑话死……

另外插件的方式也有再精简的余地,现在的实现方式效率也不是很高,趁着现在插件量还不是很多,修改起来还是很轻松的~

正好前两天打印的两本书:《Design Patterns in Ruby》和《The Rails Way》,这几天看看,再对 Ruby 和 Rails 重新了解一下,相信能学到不少的东西,然后把他们应用到 Chito 里来~ 


明天闪人,恋恋不舍的离开舒适的家。在家赖了快两个月,省了不少的饭钱,不过干事效率确实是不高,带回来好多书都没看,这两天更是萎靡得一塌糊涂,只想上网瞎逛,就是不想干事情,大概是吃得太多了……

回去就没好吃的了,上厕所又得骑车了……     不过效率应该会比家里高不少,而且可以用新电脑,嘿嘿,这样想想心情好多了~~