• 详细看了下,确实酷!

  • 刚反应过来,Yehuda Katz 不就是 bundle 的作者么,rust 核心开发成员,rails 核心开发成员,rubinius 核心开发成员 ...... 还有好多,真正的大神啊!

  • @jasl 这里 也有个例子,很简单,就是一个数数字的例子,启动10个线程。在每个线程中,从1数到500万。在所有10个线程结束后,打印“done”。 在 Ruby 中使用 FFI 调用 rust 的实现,那是 2 秒和 0.086 秒 的差距 ......

  • 不知道,我只是把例子跑起来而已,话说,宏不是应该 ! 结尾才对吗?

    ruby! 肯定是宏。

  • 前端视角下的 Ruby at 2017年06月15日

    Ruby 社区的人一般都写 Ruby On Rails

    建议改为 中国 Ruby 社区的人一般都写 Ruby On Rails.

    国外,我觉得 Ruby 社区和 Rails 社区还是有点分割线的吧?

  • 抱歉挖坟,现在主流的 Firefox 版本 52 已经支持了. Chrome 的下一个主流版本也会支持。

    这两家只要支持,可以认为 %70 的浏览器已经支持了。

  • 前后分离架构的探索之路 at 2017年06月14日

    楼主的路子,是典型的 CTO 成长之路啊。

    这个什么都懂一点但什么都不专精的万金油。

    CTO 在不同的技术深度方面当然多多益善,但是就这条,是通往 CTO 之路的根本。

  • 好吧,我发觉其实我甚至不需要区分 staging 和 production,就我目前的差别,两个环境变量搞定

  • 补充,主要是本地 Linux 已经有环境了,觉得 APP 的 容器有点多余,要在环境隔离,一致性的角度说,开发容器也蛮有用的。不过,你得像我一样,搞个万能的 docker_bash 脚本了,不管容器挂了还是什么异常,你总能进去,毕竟,你不总是改 APP,也会改其他,哦,你还得 mount 一个编辑器进去,你不想吧编辑器放到容器里吧!

  • 好吧,我也发现了,我本地开发搞个 development 的 docker 一阵子了,但感觉真是没有卵用。不过 staging 容器要有的,我用的生产的数据的拷贝,而且,设置里面,将请求设为本地请求那个参数,设为 true,大家懂的。😜

  • 期望视频早点出来,一次非常棒的分享!

  • 全是干货!大赞 @dsh0416 造轮子的精神,国内社区太缺这样的人了!一味地拿来主义,是不会进步的。

  • 到了的报个到啊!我到了

  • 我明天也去,耶!

  • @ruby_xi , 这是引用那里的内容?

    其实 instance_exec 和 class_exec 两者区别,就是使用 def 定义方法时,前者在对象的 singleton class, 后者在对象的 class 之上。

  • #18 楼 @lihuazhang

    我看到你查询时没有指定使用的分析器,我觉得你的问题可能是以下原因造成的。

    1. 在 mapping 中指定正确的分析器,es 在创建索引时,需要知道采用的分析器的类型。
    2. 在 query 时,也要指定的正确的分析器,否则,query 不知道该才用什么方式来查询。

    简单点就一句话:使用正确的分析器创建索引,并且在 query 时,指定索引的分析器。

    下面是一个 elasticsearch-rails 的例子:

    添加 ik 分析器到 es

    settings index: {
                       analysis: {
                         analyzer: {
                           ik_max_word: {
                             type: 'ik',
                             use_smart: false
                           },
                           ik_smart: {
                             type: 'ik',
                             use_smart: true
                           }
                         }
                       }
                     }
    

    通过 mapping 设定告诉 es 当创建索引时,使用 ik 分析器可以理解的方式创建索引。

    mapping do
      indexes field,
                      type: 'string',
                      analyzer: "ik_smart",
                      searchAnalyzer: "ik_smart",
                      boost: 10
       end
    end
    

    查询时,告诉 es, index 使用的分析器类型。

    search(
              query: {
                multi_match: {
                  query: '关键字',
                  fields: ['title', 'description'],
                  type: 'best_fields',
                  analyzer:  'ik_smart'
                },
              }
            )
    

    如果你不指定 mapping, 直接使用 ik 查询,结果是惨不忍睹的。

  • 今年的经济形势可真差 at 2016年09月13日

    三楼精辟。

  • Previous pry + byebug

    Now: autotest + puts

  • travel_to(date_or_time) support &block argument too.

    in fact, travel_to invoke travel internally, so, it can support block as a argument.

  • 不小心从头到尾看完了,赞!受益匪浅。

  • 看过 @chitsaou 写的有关 OAuth2 的好多文章,虽然仍旧没完全弄懂,但是对我帮助好大,

    这篇帖子的大量回复超级有用,这样的帖子,竟然没有标记精华,无语了。

  • #31 楼 @suchiva 你搞错啦。我没用过 textmate.

  • 酷~ 写的太棒了。

  • @OhCoder , 有关 Copy On Write 占用内存的问题,能否回答下?

  • 酷!这篇文章以及翻译太棒了!学习到了很多东西!

    看了半天,每个线程都拥有自己的对象池,线程之间又不能分享这些对象,感觉好像在 app server 层次,实现了类似于 erlang 的轻量级进程的意思,貌似很吸引人,就是不知道付费的多线程版本实际效果会有多好,其实单核单线程的免费版貌似看起来也不错,就是不知道有没有实际应用来验证到底效果如何?

    感觉上,汲取了之前各种模型的长处,并且做了好多改进,使得这些长处可以发挥更大的作用,并且通过很深层次的 hack, 让这些优点可以完美的互相工作,像梦一样的 hn 一站式 app server 解决方案呀。

    有个问题:

    一个正常大小的 Rails app 单个进程可以耗费 250MB 的内存

    这有没有考虑 cow 的作用?真的得那么大么?

    还有我希望指出一些我认为很明显的理解错误。(也许是楼主只是表达错了?)

    1. 在讲解多线程阻塞 IO 时,

    所以反向代理缓存不必完全用来解决 slow client 问题

    看原文,

    They don’t solve the slow client problem entirely.

    这个句子应该译为:

    它们并没有完全解决 slow client 的问题。

    1. 在讲解 Mbufs 的 reentrant h 特性时,

    Twemproxy 的原生版本依赖的是全局变量,使用多个线程才能让全局系统变成不可用。

    原文是:

    making the entire system unusable with multiple threads.

    这个句子应该译为:

    使用多线程时,整个系统将变的 y 不可用。

  • 发布一个 gem erb_to_slim at 2014年09月01日

    Hi, @small_fish__ , 不知道为什么,听你说到有错误,好激动...

    如果你可以确定不是之前 ERB 文件排版/缩进的问题而造成的 Slim 解析错误, (我没有做语法分析,那样太复杂了,而且效果也不一定好), 你可以直接 发送转换前与转换后的结果到我的邮箱:zw963 网易。

    谢谢。

  • 发布一个 gem erb_to_slim at 2014年08月30日

    #5 楼 @cassiuschen

    是的,我说的官方的就指的那个。

    官方的改动比较大,例如:添加了很多额外的换行,缩进,而 js 代码,直接给排到一行去了,而且貌似没有处理 <% 包含换行 %> 的情形。不过官方的应该更准确。

  • 发布一个 gem erb_to_slim at 2014年08月30日

    @jasl 非常感谢指出错误,0.05 版中已经修复啦。