RubyConf "DSl For DSL" slides

zhangjinzhu · 2012年11月19日 · 最后由 zhangjinzhu 回复于 2012年11月20日 · 3011 次阅读

我的 slides, http://jinzhu.me/2012rubyconf

演讲时看听众情绪不高,作为码农语言控制能力有限,准备也不够充分,自乱阵脚,好多方面表达也不清楚。。。大家多多包涵。。。

大家有兴趣的话,可以再联系我,过段时间写个 blog 再描述下。。。

(注:好多童鞋看我的 slides 木注意到右边的导航条,分上下和左右的。。。)

谢谢提供,因为在分会场,没看到。

楼主讲解的内容非常非常酷!只不过 slide 不是那么容易读懂,给点意见:

  1. Qor 实在是一个非常新,非常酷的库,以至于我认为在 slide 的最开始部分,应该首先介绍下,Qor 是干什么的。再看示例。

  2. 总觉得楼主的几个 side 标题,例如 DSL FOR DSL解决方案, 查询数据(1) 过于简单直接了,缺少承前启后的 slide 介绍,也许是因为不在现场的缘故吧。反正我是来来回回看了几遍,才明白楼主要说的是很么。尤其是在根本不知道 Qor 是啥的情况下,更是晕,好长一段时间不知道在讲什么。

不过好歹看懂了个大概,我想问楼主两个问题:

  1. 以第一个 Gemfile 为例,貌似 slide 没有讲解,如何 load Gemfile 这个配置文件中的内容?就直接开始 Gemfile.find(:gem) 获取结果了??

  2. 楼主是这个 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,数据分析之类的

等等其它的常见问题。。。

#2 楼 @zw963

第一个问题:以第一个 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 平台,把我们开发过程中的一些经验,教训分享一下,并提升下我们的基础库的代码质量。

#4 楼 @zhangjinzhu

完全明白啦,讲解的好清晰,谢谢。说实话,这个主题所讲的东西,完全超出我的想象,在看这个 slide 之前,我想象中的这个这个主题,完全是另外一些东西 : -).

第二个问题:楼主是这个 Gem 的作者吗?

我之所以问这个问题,是看到你的 github 邮箱是 jp 结尾的。我内心里期望这个 gem 是中国人写的...

#5 楼 @zw963

估计这里有点小误会了。。。这个 github 地址(https://github.com/qor)是我们项目 Qor 的 Organization

我个人的 github 地址是: https://github.com/jinzhu

这个 gem 是 100% 的 Made in China 呢 ;)

#6 楼 @huacnlee 嗯。。。这个地址在 slides 里有提过,所以忘记在这里列出来了。。。

本来以为是标题党,听下来感觉很受用。DSL 不光节省时间,这个东西还节省了为节省时间而付出的时间:)

不过看的出楼主有些紧张的样子

#9 楼 @AReverie

嗯,用起来挺节省时间的,以前我们一个项目的配置文件用 DSL 实现了差不多两天左右,然后在做完 Qor DSL 后,一个小时内就迁移成基于它的新版本了,相关代码也减少了差不多 10 倍。。。

讲的时候紧张过度,不善于在好多人面前说话 XD。。。。。。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号