• #19 楼 @QueXuQ bootstrap 有的应该都是有原生实现的 http://angular-ui.github.io/bootstrap/ 而 select2 这种形式看上去很美,但实际上对移动端体验不怎么样……

  • #14 楼 @QueXuQ 是必须移除 jquery 才对……

  • 动画处理起来就很别扭 ∑(っ°Д°;) っ你是要整多复杂的动画啊,假如是那些用 jquery 都能实现的动画明明实现起来很简单的啊……

  • 小小心得 at 2014年06月07日

    在 view 里面修改 obj 本身就是有问题的做法

  • #74 楼 @hepochen gzip 这种标准库肯定都是用 C 实现的啦,不过这也不足以解释这种差异啊,我本来预期它们性能应该是一样的……翻了下文档,Ruby 这边 gzip level 默认是 6, nginx 那默认是 1……这更奇怪了……测得同一个 API,看 log 都是 status 200

  • #72 楼 @luikore 不对吧,动态内容也是压缩了比较快啊,算上网络传输时间,还是会将 CPU 时间省回来的,比方说我这即使是 100M 的的宽度,但通常只有网速测试、p2p 下载大文件什么的才会满速到 10m 左右的速度,正常上网下载网页也就 300k 的速度,即使是比较小的内容,比方说只压缩节省 1k 多的内容,网络传输也能省个 3ms,而开启压缩花不了那么多时间,何况现在随便个网页都有 100k 左右,gzip 节省时间是很明显的 参见这篇文章: GZIP encoding = happier users?

  • 复制(这行是直接在 vim ctrl+c 复制出来的):

    vno <C-C> "+y
    

    粘帖:

    function TogglePaste()
        if &paste
            set nopaste
        else
            set paste
        endif
    endfunc
    nno <F7> :call TogglePaste()<cr>
    
    nno <S-F7> "*p
    

    绑定到普通模式 shitf F7 而不是不绑到 ctrl+v 的原因你们应该都懂的……

  • #59 楼 @hepochen 再则,Nginx处理Gzip的性能高很多,不是么? 额,不测不知道,实际测试在我这里结果是这样的

    在 nginx 里 gzip off 在 rails 用 Rack::Deflater压缩:

    Concurrency Level:      2
    Time taken for tests:   5.475 seconds
    Complete requests:      300
    Failed requests:        0
    Total transferred:      6706366 bytes
    HTML transferred:       6423600 bytes
    Requests per second:    54.79 [#/sec] (mean)
    Time per request:       36.503 [ms] (mean)
    Time per request:       18.251 [ms] (mean, across all concurrent requests)
    Transfer rate:          1196.11 [Kbytes/sec] received
    

    在 nginx 里 gzip on, rails 不使用压缩:

    Concurrency Level:      2
    Time taken for tests:   5.616 seconds
    Complete requests:      300
    Failed requests:        0
    Total transferred:      6699512 bytes
    HTML transferred:       6423600 bytes
    Requests per second:    53.42 [#/sec] (mean)
    Time per request:       37.438 [ms] (mean)
    Time per request:       18.719 [ms] (mean, across all concurrent requests)
    Transfer rate:          1165.03 [Kbytes/sec] received
    

    出乎预料 nginx 压缩反而变慢了,这说不通啊……

  • #68 楼 @quakewang 额……和 nginx 某第三方模块记混了,不是原生的……大概原生不支持动态内容 etag 也确实因为这样实现太土鳖了点……

  • #66 楼 @hepochen 嘛你是说得不太清楚,和 LZ 原文一样主题不明确,其实只需要指出开启 nginx 自带 etag 支持时,应该将Rack::ETag删掉就完事了……其实Rack::ETag好像是在 nginx 原生支持 etag 之前写出来的,干的事情和 nginx 现在的 etag 模块基本没啥两样,也就性能会差点

  • #55 楼 @hepochen 明白了,你原文都没看懂,就更别谈去试了……不过 LZ 语言表达是有点不太清楚,不熟悉然后还匆匆随便看看的人可能会被误导 原文提到的refresh_whenRack::ETag完全是两个东西…… 实际上你就算在 application.rb 里一开始就

    config.middleware.delete 'Rack::ETag'
    

    refresh_when还是一样能正常工作,就如字面意识上一样,如果 cache key 命中就跳过 html/json 渲染,直接返回 304 (实际上这 middleware 应该推荐删掉……确实没啥用……早就该废弃了) 实际测试下来差距还是挺明显的 (测试均已删除Rake::ETag 中间件):

    使用 fresh_when

    HTTP statuses returned
    304 ┃ 67 hits ┃ 97.1% ┃ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
    200 ┃  2 hits ┃  2.9% ┃ ░░
    
    Request duration - by sum ┃ Hits ┃    Sum ┃   Mean ┃ StdDev ┃    Min ┃    Max ┃    95 %tile
    #index.JSON               ┃   69 ┃  1.05s ┃   15ms ┃    3ms ┃   11ms ┃   28ms ┃   10ms-26ms
    

    不使用 fresh_when:

    HTTP statuses returned
    200 ┃ 106 hits ┃ 100.0% ┃ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
    
    Request duration - by sum ┃ Hits ┃    Sum ┃   Mean ┃ StdDev ┃    Min ┃    Max ┃    95 %tile
    #index.JSON               ┃  106 ┃  2.08s ┃   19ms ┃    5ms ┃   15ms ┃   52ms ┃   14ms-39ms
    
    
  • #52 楼 @hepochen 随便问问,你自己先试过没有……

  • 页面视图用什么调试 at 2014年05月21日

    肉测

  • #16 楼 @billy 直接通过view_context调用好像就行了吧

  • 其实我用 ails.vim 比较多的是 Sxxx 和 Vxxx 指令,在几个文件中跳来跳去不如直接分屏编辑

  • 顺手发个 vim 快捷键

    au FileType coffee nno <buffer><leader>p yyp:s/'//<cr>i(<esc>A)-><esc>:silent noh<CR>
    

    方便用 coffeescript 写 minify safe 的写法:

    app.factory('ResourcesFactory', [
      '$resource', '$route', 'Inflection' 光标在这行
    

    按p 就变成这样:

    app.factory('ResourcesFactory', [
      '$resource', '$route', 'Inflection'
      ($resource, $route, Inflection)->
    
  • #3 楼 @lyfi2003 你的解决方式和我的完全是反过来的……

  • 我对待技术学习的态度 at 2014年05月19日

    #7 楼 @whitecrowMongoDB现在看来作数据分析是个不错的容器,当时我学它用它做业务方面的数据库,被坑了 为理由来暗示MongoDB是不成熟的技术

    就相当与 自行车现在看来是个不错的陆上交通工具,当时我学它来试图横渡大西洋,被坑了==>自行车真是个不成熟的技术

    因为新技术应用场景不清晰?对啊,自行车说明书上好像真没有写不能在海上骑呢,问题是我们是工程师啊,不是什么小白啊,如果连某项技术大致的应用场景都不能了解,还要啥自行车呢……

  • #30 楼 @andor_chen 这么说的话倒是能满足“非法出版物”的销售需求,但是现在上面搞“净网”,要是有用户在上面卖什么小黄本,感觉会很危险的样子……

  • #24 楼 @Rei 如果是这样的话好像就没满足用户啥真正很“痛”的需求了,淘宝上卖电子书的也不需要手工发下载链接的吧,当然淘宝页面设计的没有这么高达上而是更商业化更草根就是了……

  • #17 楼 @Rei 不可能不手工发链接的吧,现在首页上就只有一个案例, 外部网站入口是http://railstutorial-china.org/ 这上的购买链接难道是自动生成的?这是啥黑科技??

  • 这和自己开淘宝店卖电子书发淘宝链接给别人有啥区别……

  • #8 楼 @ruohanc 因为 Rei 不用的 gem 所以就不需要做镜像么……这逻辑略显酷炫啊,DHH 还不用 rspec 呢,干嘛不把源里 rspec 相关的 gem 全删掉节省硬盘空间……

    #6 楼 @swordray rails-assets 那些 gem 很可能不是国外带宽慢的问题,而是 GFW 干扰国外域名解析的问题,我这原来 rails-assets 的 gem 更新也相当慢,后来装了 dnscrypt 加密 dns 请求之后忽然就变得一点都不慢了,基本上秒下了,不过 rubygems.org 还是那么慢……

  • 抓到尝试攻击的 at 2014年05月11日

    这是普通的扫描吧

  • 先从本机部署 gitlab 试试吧……

  • 干货不多,信息量不大…… 听起来主持人似乎 angular 才刚入门,提问得不得要领,没碰到啥实际痛点……should I use services for this or maybe this is a directive根本没人会弄混 service 和 directive 的使用场景好吧不……directive 是写在 html 里的,service 没法直接写在 html 里,这有可能有人会弄混么……

  • #9 楼 @saiga 这种模块化的东西重构一下放到 partial 里就容易看多了,不然即使用 erb 来写一样很难开

    render 'admins/navbar'
    

    app/views/admins/_navbar.slim

    #navbar.collapse.navbar-collapse
      ul.nav.navbar-nav
        - %w(users categories topics comments attachments).each do |c|
          li class=('active' if controller_name == c)
            a href=send(:"admin_#{c}_path")
              = t ".#{c}"
    
  • #64 楼 @hntee 忘了是哪届的了……