我的 slides, http://jinzhu.me/2012rubyconf
演讲时看听众情绪不高,作为码农语言控制能力有限,准备也不够充分,自乱阵脚,好多方面表达也不清楚。。。大家多多包涵。。。
大家有兴趣的话,可以再联系我,过段时间写个 blog 再描述下。。。
(注:好多童鞋看我的 slides 木注意到右边的导航条,分上下和左右的。。。)
楼主讲解的内容非常非常酷!只不过 slide 不是那么容易读懂,给点意见:
Qor 实在是一个非常新,非常酷的库,以至于我认为在 slide 的最开始部分,应该首先介绍下,Qor 是干什么的。再看示例。
总觉得楼主的几个 side 标题,例如 DSL FOR DSL解决方案
, 查询数据(1)
过于简单直接了,缺少承前启后的 slide 介绍,也许是因为不在现场的缘故吧。反正我是来来回回看了几遍,才明白楼主要说的是很么。尤其是在根本不知道 Qor 是啥的情况下,更是晕,好长一段时间不知道在讲什么。
不过好歹看懂了个大概,我想问楼主两个问题:
以第一个 Gemfile 为例,貌似 slide 没有讲解,如何 load Gemfile 这个配置文件中的内容?就直接开始 Gemfile.find(:gem)
获取结果了??
楼主是这个 Gem 的作者吗?
嗯。。。slides 写的不够好。。。讲的时候也是前后跳着来的。。。
Qor 只是个通用名称,是很多工具的合集,QorDSl 也是其中的一个小工具,Qor 总的来说就是一个开发平台,会包含一些工具来解决我们日常开发过程中是一些问题:
例如: 1, 我们平时写的 gem,engine 或者 rails application 会依赖外部 gem,但可能会有一个版本兼容性问题,例如可以用在 rails 3.1 下,但升级 3.2 出错之类的问题,我们写了个 Qor Test 来解决这一系列的问题(还没有完全完成,不过基本成形 https://github.com/qor/qor_test )
2, 我们的一些缓存策略,解决我们缓存过程中遇到的一些问题。现在只有一个简单的 readme,写了一部分代码还没有 push 上去,等完成度再高一些再 push。 https://github.com/qor/qor_cache
3, 多服务器的监控,进程维护,已经有一个做完的方案了 Nagios.rb,不过现在代码有些私有信息,要整理下才能开源。。。
4, 一个应用在多服务器上 log,数据分析之类的
等等其它的常见问题。。。
第一个问题:以第一个 Gemfile 为例,貌似 slide 没有讲解,如何 load Gemfile 这个配置文件中的内容?就直接开始 Gemfile.find(:gem) 获取结果了??
如果你的配置的文件名是 Gemfile 的话,或者是 BUNDLER_GEMFILE 的 ENV 值话都会自动加载这个配置文件,就是下面这句话的作用,实现了默认配置文件的功能:
default_configs [ENV['BUNDLE_GEMFILE'], 'Gemfile']
如果没有定义默认配置文件的话也可以通过下面的两种方法加载
Gemfile::Configuration.load('文件名')
或者通过 block
Gemfile::Configuration.load do
#文件内容
end
第二个问题:楼主是这个 Gem 的作者吗?
嗯,是的,最近我在整这方面的事情,希望通过 Qor 平台,把我们开发过程中的一些经验,教训分享一下,并提升下我们的基础库的代码质量。
完全明白啦,讲解的好清晰,谢谢。说实话,这个主题所讲的东西,完全超出我的想象,在看这个 slide 之前,我想象中的这个这个主题,完全是另外一些东西 : -).
第二个问题:楼主是这个 Gem 的作者吗?
我之所以问这个问题,是看到你的 github 邮箱是 jp 结尾的。我内心里期望这个 gem 是中国人写的...
估计这里有点小误会了。。。这个 github 地址(https://github.com/qor)是我们项目 Qor 的 Organization
我个人的 github 地址是: https://github.com/jinzhu
这个 gem 是 100% 的 Made in China 呢 ;)
嗯,用起来挺节省时间的,以前我们一个项目的配置文件用 DSL 实现了差不多两天左右,然后在做完 Qor DSL 后,一个小时内就迁移成基于它的新版本了,相关代码也减少了差不多 10 倍。。。
讲的时候紧张过度,不善于在好多人面前说话 XD。。。。。。