Ruby China
  • 社区
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • 注册
  • 登录
yang
@yfractal
会员
第 7072 位会员 / 2013-05-11

crypto.com
深圳
85 篇帖子 / 1003 条回帖
70 关注者
35 正在关注
52 收藏
眼界很重要
GitHub Public Repos
  • sdb 73

    A Ruby stack profiler without GVL.

  • blog 47

  • ccache 17

    Ccache is a Redis client-side caching without fear.

  • anycable-rs 3

    Anycable Rust WebSocket Server

  • cpu_time 2

    Get CPU time in Ruby

  • sdb-analyzer 1

  • yfractal 1

  • sdb_signal 1

  • otel-snitch 1

    An experimental project aimed at avoiding serialization and network costs when the Otel client an...

  • vernier 0

    📏 next generation CRuby profiler

More on GitHub
  • 概况
  • 话题
  • 回帖
  • 收藏
  • 正在关注
  • 关注者
  • 我为什么今年举办这次 Ruby Summit China 2018 大会? at 2018年09月01日

    Ruby 也热爱程序员 😆

    我没说清楚问题。。。Ruby 程序员不好招,为啥不招其他语言的程序员来写 Ruby?

  • 我为什么今年举办这次 Ruby Summit China 2018 大会? at 2018年09月01日

    举办活动是件很不容易的事情 👍

    Ruby 程序员这么少,为什么不考虑其他语言的?

  • [北京] 好奇心日报 招聘 Rails 工程师 2 名 (20k~30k) at 2018年08月24日

    刚好说明 app 比较火!

  • Elixir 的一些想法 at 2018年08月24日

    不是大神。。。

    公司有部分服务是 erlang 写的。

  • Elixir 的一些想法 at 2018年08月24日

    Erlang 淘汰了 gen_fsm

    gen_event 似乎是没有。。。

  • Elixir 的一些想法 at 2018年08月24日

    有 GenStage 和 GenEvent 的是啥关系? 可以简单理解 GenStage 并发更好,更友好一些?

  • 由于云服务商做安全测试,exception_notification 发送大量邮件 at 2018年08月23日

    bearychat-notifier 考虑下?

    就是把异常打到聊天软件里,就不用再打开邮箱了,有问题还可以直接讨论。

    当然 Slack 也有类似的 Gem.

  • 使用 Protocol Buffers 在 TCP 中需要自己设计协议头以解决 “粘包” 问题吗? at 2018年08月17日

    要具体看协议了。比如直接读 16 位,有哪几位是长度啥的。 既然用 protobuf 了,为啥不直接 grpc 呢?

  • 南京的 Rubyist/Railser 在哪里啊 at 2018年08月07日

    在南京啊(过来捣个乱

  • [开源项目] 用 Elixir 撸了一个 RubyChina at 2018年07月27日

    rairoady 了解下?

  • [译] 再见微服务,从 100 多个问题儿童到一个超级明星 at 2018年07月25日

    这种场景 erlang 更合适吧?直接起 erlang 的 process,timeout,分布式,内存回收,服务发现,都自己就带了。

  • Awesome Ruby China at 2018年07月22日

    有些常用的命令可以用啊,很方便的。

  • 能不能以公司网不好影响开发为理由提离职 at 2018年07月14日

    哭啊。。。

  • 能不能以公司网不好影响开发为理由提离职 at 2018年07月13日

    公司买了企业级路由、开了专线,找专人调网络。有的时候,网络还是不好。。。。

  • Rails 并发问题 at 2018年07月12日

    抢购 的请求都是 GET?没更新数据库吗?

  • Rails 并发问题 at 2018年07月12日

    猜一下,都是更新操作,上了锁,然后释放慢了?callback 里有什么耗时的操作?或者 counter cache 之类的被锁了?

  • 看这这 ruby 代码,我眼睛难受 at 2018年07月05日

    Clojure 了解下。

    下划线、中划线、驼峰。。。

  • Sidekiq 队列阻塞监控重启脚本 at 2018年07月04日

    执行中的任务会丢吧?

  • 遇到 Eventmachine 的 EM.run 不知如何解决阻塞问题 at 2018年07月03日

    阻塞怎么回事

    假设一个请求,需要 2 秒,那这 2 秒,耗时在哪?

    一个 request 的大体流程,三次握手,发请求,接收请求,关闭连接。

    CPU、内存的操作,速度都很快,不需要考虑。

    我们单独考虑请求发出去,等待放回这个过程。

    请求已经被发出去,IO#read 读数据,由于数据还没从服务器返回,一直等数据返回后,才能读到数据,在等待数据返回这段时间,process 什么也没做的(被挂起了),所以是一个阻塞操作。

    就好比,你要一个人帮忙买东西,你跟这个人说,帮忙买 A,然后你就睡觉了。A 回来的时候,上帝(操作系统)会再叫醒你。

    如果想高效一点,很自然的可以让多个人同时去买,然后让他们把买好的东西放到一张桌子上,你时长去检查,桌子上有没有东西就可以了。这样就从,同一时间买一样东西变成了同一时间买多样东西。

    你在系统中就是线程,跑腿的就是一个 IO 对象,检查桌子上是否有东西,就是 IO#select 操作。

    这个 IO 模型就是 IO 多路复用。

  • Let's GO 语言吧 at 2018年06月24日

    只是请求吗?可以考虑丢 ruby 的线程里。只是请求的话,本地跑到 1k/s 还是可以的。

    不过这个场景,用 nio 更合适些。线程毕竟耗资源。

    这种场景,go 也是要上 nio 吧?

    最后还是 erlang 大法好!

  • 浅谈尾递归 at 2018年06月06日

    😹

  • 浅谈尾递归 at 2018年06月05日

    解释器,先把字符串读到语法树中,之后对语法书进行求值 (evaluate)。 比如 a = 1; a + 1; eval 到 "a + 1" 的时候,需要知道 a 的值是什么,所以需要存 a = 1 这个信息,这个就是 context。

    Ruby 是 Lexical Scope,每一个方法,都是一个新的 scope,所以需要一个新的 context 来做存储(全局变量啥的,先不考虑)。

    比如:

    def foo(a)
      a
    end
    

    eval("foo(1)"),需要记录 a 的值。

    如果 foo 里面出现了递归,

    def foo(a)
      a + foo(a + 1)
    end
    

    首先会把 a 这个变量存到上下文理,然后 eval("foo(a + 1)"),由于上下文一直增长,所以造成了栈溢出。

    而尾递归是这种递归

    def foo(a)
      foo(a + 1)
    end
    

    可以不需要存储上下文,所以不会有栈溢出。

  • Awesome Ruby China at 2018年06月01日

    emacs 的 magit 算 git 的 GUI 吗?

  • Action Cable 消息服务单独部署问题 at 2018年05月29日

    连的是同一个 redis 吗?

  • Whenever 每 20 秒执行任务 at 2018年05月17日

    再提供个思路,用 Concurrent::TimerTask,actioncable 用的是这个。 ActionCable::Channel::PeriodicTimers 提供了 periodically :transmit_progress, every: 5.seconds 这样的语法糖。

  • 近两年来 Web 开发有什么革命性的进展么? at 2018年05月13日

    web usb

  • 数学节点可能是特别冷清的地方, 但我还是希望有更多的朋友喜欢数学 at 2018年05月09日

    有一个项目还真的用了不少数学知识,不过现在野忘了…

  • 删除数据时候,总是使用缓存的问题 at 2018年05月08日

    用 exists? 感觉会好一些。

    exists? 语义化,而且会快些(我测的)。

  • 删除数据时候,总是使用缓存的问题 at 2018年05月08日

    记得实现大体是,根据 primary key 做排序,取数据的条件是,要大于上一次取得的最后一个 primary key,limit 是给的 size 参数。

    应该是可以用来做删除的?

    哦,还有排序。。。要试试看才知道了。。。

  • 删除数据时候,总是使用缓存的问题 at 2018年05月08日

    用 find_in_batches ?

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