Ruby China
  • Topics
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • Sign Up
  • Sign In
xlaok
@xlaok
VIP
NO. 2898 / 2012-07-17

苏州
14 Topics / 188 Replies
1 Followers
1 Following
5 Favorites
GitHub Public Repos
  • etherscan-mcp 7

    Model Context Protocol (MCP) Server for Etherscan

  • mi-wide-voltage-inputting 2

    小米/米家以及其生态链产品中可使用宽电压的电器产品列表,帮助日本台湾等地区米粉朋友选择小米产品

  • artDialog 1

    优雅的web对话框控件

  • sst 0

    💥 SST makes it easy to build full-stack serverless apps.

  • chinese-copywriting-gu... 0

    Chinese copywriting guidelines for better written communication/中文文案排版指北 NextDAO 修订版

  • foundry-rs-book 0

    A book on all things Foundry, available at https://book.getfoundry.sh.

  • InitialTwitterOffering 0

  • gsn-test-contracts 0

  • multi-party-ecdsa 0

    Rust implementation of {t,n}-threshold ECDSA (elliptic curve digital signature algorithm).

  • git-apps 0

More on GitHub
  • Overview
  • Topics
  • Replies
  • Favorites
  • Following
  • Followers
  • 以前端工程师的视角看代码质量 at January 06, 2017

    为什么要说‘即使’,太 tough 了吧

  • 全栈还是全站?谁给我讲述讲述这个全站营的故事 at September 14, 2016

    你们觉得不值,是你们本来就有这样的学习能力,和理性思维能力吧

    能花 5w 块钱去,可以学到一点学习能力,学到理性思维,甚至可以看眼看一下世界,我觉得是挺值得(前提是你没有这个能力,比如上面的某个妹子),而且越早学越好

  • 有没有人和我一样经常有难以抑制的聊天需求... at September 12, 2016

    有个相关问题,如何能交到层次比较高的朋友呢?

    我有一些层次比较低的朋友(这么说可能不对,姑且这么理解吧),从我这里得到很多,价值上的,观念上的,甚至经济上的,有的时候他们都会说和我在一起学到很多,但我自己也想交到这样能学到很多的朋友。

    说实话我身边的人,除了几个同事;就算是以前在大学最认真的女生,现在也很少学习,看书,甚至不思考,知识水平永远在高三的巅峰停滞不前。真的觉得是不是自己的交友圈太 low 了,以至于经常会怀疑自己。总结下来感觉自己总是在进步,心理上有点看不起毕业了就再无寸进的人,但是交友上也很难上升一个层次,导致我现在反而怀疑我身边的朋友是不是觉得我是个怪人...

    大概就是不断膨胀的文化需要,和低下的交友能力之间的矛盾,偏偏我还是一个喜欢聊天的人,真是蛋蛋疼

  • 有没有人和我一样经常有难以抑制的聊天需求... at September 12, 2016

    #5 楼 @adamshen 有,闷葫芦性格,一般是我说她听,虽然挺好的,但说真的说多了也有些无聊

  • Rails + Puma 部署,内存只增不减,直到内存占满自动重启 at September 03, 2016

  • Rails + Puma 部署,内存只增不减,直到内存占满自动重启 at September 03, 2016

    #5 楼 @huacnlee 附一张内存图,突然减少是重启了服务器,后面的突然升高是我使劲在刷 api

  • Rails + Puma 部署,内存只增不减,直到内存占满自动重启 at September 03, 2016

    #11 楼 @ruby_sky #8 楼 @tzwm 想彻底解决问题

    #10 楼 @MrPasserby 我也这么想 present records, with API::Entities::Records 改成 present [], with API::Entities::Records 内存就增长很慢,而且有回收的迹象,但是也看不出什么,补充一下这块的代码:

    module API
      module Entities
        class Records < Base
          expose :comments_count
          expose :followers, using: API::Entities::Users
          expose :cells, unless: :without_cells do |instance, options|
            self.cells(options[:columns] || self.columns)
          end
    
          def columns
            object.sheet.columns
          end
    
          def cells(columns)
            {}.tap do |cells_hash|
              raw_cells = object.cells
              columns.each do |column|
                value = raw_cells[column.column_id]
    
                case column.type
                when 'date'
                    value = value.try(:iso8601, 3)
                when 'metadata'
                  meta_type = column.config['type']
                  value = object.try(meta_type)
    
                  if %w(created_at updated_at).include?(meta_type)
                    value = value.try(:iso8601, 3)
                  end
                end
    
                cells_hash[column.column_id] = value
              end
            end
          end
        end
      end
    end
    
    

    #7 楼 @jicheng1014 唉,超级厉害,如果一直访问几万条数据的 api,分分钟钟跑满了,现在换成 4G 要稍稍好一些,但是内存还是一直上涨

  • Rails + Puma 部署,内存只增不减,直到内存占满自动重启 at September 01, 2016

    主要泄露部分的代码 @huacnlee 能否帮 review 下

    get 'records' do
      view = View.find(params[:view_id])
    
      # 省略鉴权部分
    
      # view.records_list_ids 是一个大数组,直接从 redis 中拿出来的,可能高达2万个字段,paginate_ids代码见下方
      records_ids = paginate_ids(view.records_list_ids)
    
      records = Record.where(id: { '$in' => records_ids })
      # where in 之后的排序,O(n)算法,应该没问题
      records =  view.sort_records(records)
    
      present records, with API::Entities::Records
    end
    
    def paginate_ids(collection)
      return [] if collection.blank?
    
      base_record_index = collection.find_index(params[:from])
    
      if params[:direction] == 'forward'
        res = collection.slice(base_record_index, params[:limit])
      else
        offset = base_record_index - params[:limit]
        res = if offset >= 0
                collection.slice(offset, params[:limit] + 1)
              else
                collection.slice(0, base_record_index + 1)
              end
      end
    end
    
  • Rails + Puma 部署,内存只增不减,直到内存占满自动重启 at September 01, 2016

    #2 楼 @huacnlee 没有,搜了全部代码没有有关 GC 的,GC.enable 回报 false

  • 如何写 ActionCable 的单元测试? at June 28, 2016

    rspec 的 receive 方法似乎无法获取到

    想了一个办法,在 broadcast_to 方法上记录下接受的参数,在 rspec 那边读取,可以实现测试了,感谢

  • 我写了 WebSocket 和 ActionCable 相关的序列文章 at June 27, 2016

    @hfpp2012 楼主大大,你对 actioncable 的单元测试有没有经验?

  • 如何写 ActionCable 的单元测试? at June 27, 2016

    😓 原以为很简单,搞了一天才发现掉坑里了

  • 如何写 ActionCable 的单元测试? at June 27, 2016

    #2 楼 @huacnlee 目前写的一个应用 actioncable 部分很重,需要测试,也无从下手

  • 如何写 ActionCable 的单元测试? at June 27, 2016

    查了一下 ruby-china 源码的 actioncable 部分也没有写单元测试

  • ActionCable 的 Cookie 鉴权方式不会不安全么? at June 03, 2016

    #3 楼 @pathbox 前后端分离的话,后端无法对前端植入 cookie 了

  • 我写了 WebSocket 和 ActionCable 相关的序列文章 at June 03, 2016

    #29 楼 @hfpp2012 下面问题的意思是:

    前端调用

    away: ->
        # Calls `AppearanceChannel#away` on the server
        @perform("away")
    

    可以调用 AppearanceChannel#away,但是调用之后,如果 AppearanceChannel#away 想再给这个 sender 回一个消息,就做不到了。

    而 socket.io 可以这样

    socket.on('records', function(sheet_id){
      records = Record.all
      //直接返回records给sender
      socket.emit('records', records);
    });
    

    actioncable 有办法这样做吗?

  • 我写了 WebSocket 和 ActionCable 相关的序列文章 at June 03, 2016

    #28 楼 @hfpp2012 对,但是这个实际上只是开了一个不同名字的 room 而已,如果要保证 每个 session,或者每个 request 独立,写起来是很别扭的(实际上真的遇到了这样的需求),而 socket.io 比较方便

  • 我写了 WebSocket 和 ActionCable 相关的序列文章 at June 03, 2016

    也就是说有什么办法能 perform 之后收到一个后端的返回?

    好像只能在每个 perform 后带一个 uuid,后端接到后都 stream_from uuid,处理好结果后返回给 uuid,前端收到一次数据后断开

  • ActionCable 的 Cookie 鉴权方式不会不安全么? at June 03, 2016

    #1 楼 @lyfi2003 原来是这样,了解了。那如果前后端分离,还需要想别的办法鉴权了

  • 我写了 WebSocket 和 ActionCable 相关的序列文章 at June 03, 2016

    最近也在使用 actioncable,但是发现 actioncable 似乎没办法实现 socket.io 里比较简单的几个方法:

    // sending to sender-client only
    socket.emit('message', "this is a test");
    
    // sending to all clients except sender
     socket.broadcast.emit('message', "this is a test");
    
    // sending to individual socketid
     socket.broadcast.to(socketid).emit('message', 'for your eyes only');
    
    

    不知道有无办法解决?

  • 我出多少钱合适? at May 23, 2016

    #2 楼 @syutran 你想的也太简单了,ruby-china 对照着目前的样式你一周能开发出来吗?大部分 crm 至少是 ruby-china 5 倍的需求量

  • 我出多少钱合适? at May 23, 2016

    这浑水没必要趟吧?

  • Ransack 不支持中文选项怎么办?输出的 HTML 都是一样的,把中文直接 cut 掉了 at May 06, 2016

    #8 楼 @qinfanpeng #7 楼 @kikyous 我试了下汉子好的,但是数字又被 cut 不输出了,有没有同时输出汉子,数字,英文不 cut 的方案?

  • 发现一个很有意思的写法 at May 06, 2016

    我是这样写的 @messages && @messages.xxxx

  • Ransack 不支持中文选项怎么办?输出的 HTML 都是一样的,把中文直接 cut 掉了 at May 06, 2016

    #5 楼 @kikyous 可行,原来是 action_view 的问题,错怪 ransack 了

  • Ransack 不支持中文选项怎么办?输出的 HTML 都是一样的,把中文直接 cut 掉了 at May 05, 2016

    #2 楼 @kikyous 感谢先送上!

  • Ransack 不支持中文选项怎么办?输出的 HTML 都是一样的,把中文直接 cut 掉了 at May 05, 2016

    #1 楼 @qinfanpeng 嗯,但是没办法,如果直接搜中文就会这样。

  • 因为 class 同名引起的问题如何解决? at April 29, 2016

    #5 楼 @karloku 赞,两种方法都可以

  • 因为 class 同名引起的问题如何解决? at April 29, 2016

    #1 楼 @lgn21st rails 默认存的就是 Post , bookmark.bookmarkable 也能正确的拿到多态关联的对象 API::Entities::Post 是 grape-entity gem 里用来格式化 json 用的 问题是我用 API::Entities.const_get(object.bookmarkable_type) 有的时候取到 Post,有的时候是 API::Entities::Post 好奇怪。

  • 1
  • 2
  • 3
  • …
  • 6
  • 7
  • Next
关于 / RubyConf / Ruby 镜像 / RubyGems 镜像 / 活跃会员 / 组织 / API / 贡献者
由众多爱好者共同维护的 Ruby 中文社区,本站使用 Homeland 构建,并采用 Docker 部署。
服务器由 赞助 CDN 由 赞助
iOS 客户端 / Android 客户端 简体中文 / English