Ruby China
  • 社区
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • 注册
  • 登录
Karloku Sang
@karloku
会员
第 11277 位会员 / 2014-01-27

魔都
4 篇帖子 / 30 条回帖
2 关注者
0 正在关注
0 收藏
未设置 GitHub 信息。
  • 概况
  • 话题
  • 回帖
  • 收藏
  • 正在关注
  • 关注者
  • 見令如見人,理解 JWT at 2021年02月22日

    ActiveSupport::MessageVerifier 提供的也是类似的功能。当时看 JWT 怎么看怎么觉得眼熟。

  • [上海] 小红书供应链技术团队急需大牛加入 at 2017年11月09日

    岗位是招 Ruby 工程师,职责是 Python 到 Java 的转换,神秘...

  • Ruby 方法命名疑问 : 方法名后面带有问号 at 2016年12月16日

    约定。问号表示返回布尔值。在其他语言里约定相对方法名是 #is_adj() / #has_noun() 同理还有感叹号,表示方法对对象自身有副作用

  • 调查下谁在用 Ruby 的 Padrino Web 框架? at 2016年12月06日

    Padrino 最方便的还是天生多 app 的结构。有点类似于 https://ruby-china.org/topics/28538 这贴中拆解的 engine + systems 的结构 不过,padrino 自带的 autoloader 实际用起来总有点不尽如人意的地方...

  • 函数参数疑问 at 2016年08月20日
    def add(a,b)
      a = a.push(b)
    end
    
    x = [1]
    y = 2
    add(x, y)之后,x变成了
    [1,2]
    

    这段代码里改变 a 值的是 a.push(b), 至于后面的 a = 这段,符号是有作用域的。你在函数传参时只传递了引用,并没有将外层的符号传递进来,里面的 a 和外面的 x 并不是同一个符号,只是它们指向相同的对象。你在函数中对符号 a 这个所指向的引用进行了改变,并不会影响原来 a 所指向的对象. 所以第二段也不会影响 x, 因为 a + b 这个操作是不会影响 a 原来所指对象的值的

  • 笨方法学 Ruby 中 hash_key (aDict,key) 如何理解? at 2016年08月15日

    #1 楼 @zix 会的。由于空间有限,任何 hash 算法都会碰到哈希冲突,只是概率的高低。 这书里应该只是简单的做一个简单的 Hash. 真的在学数据结构的时候,处理哈希冲突会有很多策略的。

  • 笨方法学 Ruby 中 hash_key (aDict,key) 如何理解? at 2016年08月15日

    散列的实现是建立一个大数组 big_array, key 传入固定的 hash 函数算出 hash(key) 值作为 index 索引。把 value 存在 big_array[hash(key)] 这个容器里。你问的这个函数就是在做这件事,分配索引位置。

    具体到这函数的实现,它通过 key.hash 算出一个 hash 值。由于这个 hash 值可能比你 aDict 这个容器数组的索引范围大,就再用 %(取余) 来映射。

  • 分享一门新语言 Crystal,Ruby 的语法,C 的速度 at 2016年08月06日

    #8 楼 @small_fish__ 有类似 ruby rack 或者 python wsgi 这样的 interface 吗? 在 awesome-crystal 的收集里似乎没看到

  • 关于 Rails 的 routes.rb 中路由的两种写法 at 2016年07月15日

    keyword arguments 从 ruby 2 开始就是被推荐的参数表风格. 好处来讲,keyword arguments 更方便的定义长可选参数表。另外在调用的时候也更具有可读性,这一点适合用来做 DSL.

    PS: 能尽量避免写 rocket syntax 就尽量避免。既不好看也不简洁。1.9 的风格指导开始就尽量淘汰这种写法。2.2 以后更是支持

    {'@a#complex%whatever.long___string__': true}
    

    这种方式写 literal hash. 对于 string 和 symbol 区分不敏感的 kv 对都建议用新字面量定义方式。

  • [上海] 寻找有工匠精神的大牛加入技术强队 - Ruby - Rails at 2016年05月04日

    salary 是 rand(10000) 真的好吗 233

  • 同时需要 API 和 Web 页面的 Rails 项目,怎样结合 Grape 和 Rails? at 2016年04月29日

    写 rails-api 的时候用到过 apipie-rails(GitHub) 这个 gem, 参数验证和简单的文档生成都能胜任。

  • 如何根据数据库表唯一索引生成唯一的随机字符串 at 2016年04月29日

    UUID version 5 ActiveSupport 中的实现:Digest::UUID#uuid_v5

  • 因为 class 同名引起的问题如何解决? at 2016年04月29日

    #const_get 这个方法本来就不保证命名空间,如果你内存里已经有一个 Post 而没有 API::Entities::Post 的话,#const_get 就不会走 rails 的 auto load, 直接把你内存里的 Post 给取出来了. 如果想保证命名空间的话,最好还是拼字符串 "::API::Entities::#{...}", 然后调用 ActiveSupport 里的 String#constantize 查了一下文档 Module#const_get, 方法接受两个参数,第一个参数是名字,第二个参数是个布尔值,为 false 的时候就只会在当前 Module 中查询常量,否则会一路在祖先中找下去。

  • Rails 中对不同来源的 ActiveRecord 结果集进行合并查询与排序的问题 at 2016年04月29日

    用 Elasticsearch 的话其实可以更简单一些,两个 AR model 分别对应两个 ES 的 document type, 放在同一个 index 下,不需要引入第三个 document type.

  • Mongoid 的自动 eager load: Mongoload at 2016年04月28日

    Update: 新增两个控制选项

  • Mongoid 的自动 eager load: Mongoload at 2016年04月28日

    #4 楼 @huacnlee 恩,根据对关系的访问自动决定什么时候该进行 eager loading.

  • Mongoid 的自动 eager load: Mongoload at 2016年04月27日

    #1 楼 @pathbox 有时候建模还是免不了用 reference 关系的。

  • 关于 Mongoid 的问题 at 2016年04月20日

    ActiveRecord.where 返回的也是一个 lazy 的查询集,只不过在控制台里显示的时候会被实际执行一下 (同 pp).

  • Redis 使用及源码的一些疑惑 at 2016年04月12日

    RedisStore 和 Sidekiq 都允许手动初始化 redis client, 设置 db. 条件允许的话还是把 db 分开比较好,不然就要记住 sidekiq 用的哪些 key.

  • MongoDB 下如何模糊查询字段以 XXX 开头的数据? at 2016年03月24日

    这是个正则问题 /^xxx/ 或者 /\Axxx/ ^是行首,\A是字符串头,根据情况选择 尽量避免用以上两种之外的正则查询,性能堪忧...

  • [Rubyist 少数派调查] 你喜欢经典神器,还是走在时代尖端? at 2015年08月21日

    开发系统竟然没有 arch 大法

  • 为什么国外的创业公司更喜欢 Rails? at 2015年05月14日

    #40 楼 @goody9807 试试 development 模式里在需要调试的地方插 byebug 或者 binding.pry. 抛开 IDE 这个东西吧

  • 为什么国外的创业公司更喜欢 Rails? at 2015年05月13日

    #27 楼 @iBcker #28 楼 @jimrokliu 有过一次迁往 sinatra, 当时 json api 的负载加重,从 controller 里分离出来. 操作起来要说能轻松迁移确实是不可能做到,尤其是很多 gem 建立在 rails 的基础之上,为了这些东西能继续工作写了很多奇奇怪怪的 helper. 有些 gem 干脆就换了。前后用了大概两周。其实现在想想当初因为拆分 api 的契机而去把框架换掉也不是很值得,当时并没遇到性能瓶颈. 测试/文档这部分东西确实很重要,最早的时候开发为了快轻视了很多这个,后来发现迭代的时候越来越慢。现在不敢再这么不管了..

  • 为什么国外的创业公司更喜欢 Rails? at 2015年05月13日

    #25 楼 @jimrokliu 性能问题不在 ruby 而是在 rails. rails 为了提供最佳实践用了许多 middleware. 不过等增长到需要面对这些性能坑的时候,多半公司已经成长到相当大的规模了。这时候无论是迁移到其他更轻的 ruby 框架还是迁移到其他语言,都已经有能力应付了。

  • LeetCode 可以上 Ruby 了哦,筒子们还不上 at 2015年03月26日

    看了看还是有不少题没支持 ruby 的,最后的统计界面也没出 ruby 综合性能最烂的居然是 java...

  • [译] Five Ruby Methods You Should Be Using at 2015年03月13日

    #20 楼 @ailen Array.new后面的 block 是可以传入参数的。比如构建 0 1 4 9 16 25 这样的数组时候,可以直接Array.new(6) {|i|i**2}

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