Rails Rails 4 台风即将来袭,请查看安全手册

xds2000 · 2012年09月28日 · 最后由 ericguo 回复于 2013年04月24日 · 7798 次阅读

Rails 4 技术路线图谱:源自这里 (http://blog.wyeworks.com/2012/9/20/rails-4-in-a-mindnode/) Rails 4技术路线图谱

要不说两句:嗯嗯嗯

Thread Safe on default 有啥好处呢,当然对多线程是利好消息。详细看这里:(http://tenderlovemaking.com/2012/06/18/removing-config-threadsafe.html)

TurboLink 这是 DHH 说的,都是成熟的东西,直接受益。 DHH twitter's quota " Recent Rails 4 additions extracted from the new Basecamp: Strong parameters, cache digests, declarative etags, turbolinks, routing concerns."

1.9.3 一直就在用,就不表了。

turbolinks 看起来不错

This is a WIP guide. 期待正式版

AR4 已经用上

Thread Safe 会影响性能吗?因为 PHP 的 Thread Safe 版本的性能是受到影响的,所以。。。。

#2 楼 @hooopo 好像看起来很厉害的样子,在 github 上面已经关注了。

看起来有点... 很好很强大呀!

对于 TurboLink 持保留意见,一些基于整个页面加载的 js 事件如何触发(最常见的比如触发 GA 统计),网站更新后如何触发正在线的用户加载新的 js 和 css,关注后续发展。

#8 楼 @quakewang 前者 turbolink 留出了几个接口。 后者可以和 rails 一样比下 css,js 后边一坨就行,不一样就刷新页面。

以后都 thread safe 啦

turbolink 看起来不错,打算这两天试试

我期待的两个特性:

  • 甩掉 1.8 的包袱。
  • Minitest.

turbolinks 看起来不错,rails 领先 django 有了 auto-pjax 耶

@quakewang 对 turbolink 有保留意见,那看看这个数据,给点评点评。 https://github.com/steveklabnik/turbolinks_test

#14 楼 @xds2000 turbolink 主要是减少 js 的重复执行时间,对于高配置的机器/高效率的浏览器来说,turbolink 带来的提升就越少。 turbolinks 的 readme 里把

In any case, the benefit ranges from twice as fast on apps with little JS/CSS, to three times as fast in apps with lots of it.

这句话链接到了 turblinks test 页面,但是和 turblinks_test 的结果不符合啊。。。这两倍是怎么算的?

还有,这个测试没提到是否使用了 web server。。。如果没有的话也不合理,因为实际环境静态文件会有 expires 头,不会进行条件 GET,而这个测试环境每次请求都要进行一次条件 GET 吧?

#wtf It's DHH's project and he can put anything he wants to the core.

#14 楼 @xds2000 我在实际项目中试用了 turbolink 这个 gem,对于用户来说确实请求响应会变快一些,但是遇到 2 个比较麻烦的问题:

  1. 原先一些 a 标签带 anchor,用来定位或者做 hash 的链接,在 turbolink 中无法处理
  2. http referer header 不正确,导致 GA 统计和 page flow 查看失效

如果应用无上述需求,这个 gem 还是挺方便的

它设置的是 'X-XHR-Referer',而不是 'Referer', 这个 Header ajax 是没有权限设置的。

锚点我测试下来是不生效,页面 a 有个 link 到页面 b#anchor,没有 turbolink 的话,点击他,页面会滚动到 anchor 的位置,加了 turbolink,就只是加载页面 b,而没有滚动。

#19 楼 @quakewang 还真是的,是不是所有 ajax 请求都存在 referer 不正确这个问题?

#19 楼 @quakewang referer 似乎不是问题,像 pjax 那样手动触发 ga 接口就可以:https://github.com/defunkt/jquery-pjax/blob/master/jquery.pjax.js#L257

turbolink 可以在 page:change 事件里加,刚才查了一下 ga 也提供重载 referer 的接口:

_gaq.push(['_setReferrerOverride', "referer_url"]);
 _gaq.push(['_trackPageview']);

https://developers.google.com/analytics/devguides/collection/gajs/methods/gaJSApiCampaignTracking?hl=en#_gat.GA_Tracker_._setReferrerOverride

什么时候发布啊。人家 Win8 发布都有时间表。Rails4 发布根本就没有。明年才发布哈哈。

@zz master branch 早就有了 Rails 4.0.beta,你还真信测试版和正式版的区别啊。直接 fork 下来就可以用。案例看这里 railscasts-china.com 网站本身的源码,在 github 上。

#22 楼 @hooopo 按道理说 location url 被替换以后,新发出的 ajax 请求应该是自动会用新的 referer,不需要手工调整 GA 的代码,可是测试的时候没有生效,等正式版本出来了,我再试试看。

好东西!

最后一个回帖竟然是 5 个月前的,今天看到 DHH 说了:“This is the last known blocker for the release candidate.” 所以 Rails 4 真的要来了,应该还有一个 RC 版。

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