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
  • 概况
  • 话题
  • 回帖
  • 收藏
  • 正在关注
  • 关注者
  • Erlang 源码阅读 -- scheduler at 2018年12月03日

    线程切换大体是这么回事,不过 nio 不一样,nio 是 IO 多路复用,有单独的线程 (ActionCable、nginx) 去做 select 操作,或者用 fiber 去做 (midori)。

    再一个要了解可能的瓶颈在哪,ActionCable 是 callback 模式,IO 还是同步的,一旦有慢查询,所有 ws 连接时延都会上来。

  • 币圈凉了,这里有多少人进了币圈呢? at 2018年12月01日

    一般赚钱了,才会出来说。赔钱了就不出来说了。

  • 使用 Ruby 实现 Erlang Process -- 8 秒 spawn 一百万 “process” at 2018年11月16日

    哈,可能是 master 的原因,thx again。

  • 使用 Ruby 实现 Erlang Process -- 8 秒 spawn 一百万 “process” at 2018年11月16日

    thx,第一个跑 demo 跑不起来,就放弃了…

  • 使用 Ruby 实现 Erlang Process -- 8 秒 spawn 一百万 “process” at 2018年11月15日

    欢迎入坑,其实 Elixir 挺好的。Erlang 语法太个性了。

  • 使用 Ruby 实现 Erlang Process -- 8 秒 spawn 一百万 “process” at 2018年11月14日

    哈哈,是这样的。如果 process 有异常的话,整个程序都会挂掉。不过处理起来也比较容易,执行的时候 catch 所有的异常就可以了,有异常,直接让 process 挂掉就可以。

    moitor 和 link 其实也可以实现。process resume 之后的状态如果是 dead 的话,这个 process 有 monitor 的话,就发 EXIT 消息就可以了。

    这些问题有想过,不过都没去实现。。。我目前觉得异步 I/O 是缺少的最关键的 feature。

  • 使用 Ruby 实现 Erlang Process -- 8 秒 spawn 一百万 “process” at 2018年11月14日

    erlang 的调度是 cpu 时间片的

    这个是怎么得到的?The beam book 里写的是根据 reductions 做的,而 reductions 简单来说,是方法调用次数。OTP 里也能找到 erts_current_reductions 之类的方法。

  • 新人求问, rubyer 所在的公司假如要招实习生, 如何看待之前没有 ruby 基础的申请者? at 2018年11月13日

    不都说 RoR 落伍了吗?看来可能是谣传啊。

    觉得公司好就申请啊。

  • 使用 Ruby 实现 Erlang Process -- 8 秒 spawn 一百万 “process” at 2018年11月13日

    一看你就特别了解 Erlang,来来具体说说?

  • [深圳] 2018.10.28 Elixir Shenzhen Meetup at 2018年10月26日

    具体想了解哪些?

  • 关于一些基础的语法问题 at 2018年10月17日

    我是想说,用这两条原则,可以理解一些看起来很神奇的代码。

  • Ruby 没有提供 ++ -- 操作符感觉会大大影响书写性 at 2018年10月16日

    我一直觉得 if a = b 这种写法不好。

  • 关于一些基础的语法问题 at 2018年10月16日

    Ruby 可以省略括号,且 Ruby 几乎所有语句都是方法调用。

  • Ruby 中为何不支持列表构造 at 2018年10月15日

    列表支持,hash 没有

    没觉得有必要

    解构的话,就是这种

    h = {:a => 1}
    {:a = a } = {:a => 1}
    

    不如 h[:a],如果是对象的话,直接 h.a 就可行。

    Erlang 不解构就太长了,比如 State#state.a,写起来麻烦。解构的话,方法定义又很长,读起来也麻烦,要高清从哪解出来的,要去读方法定义。

    Erlang 的解构有 pattern matching,Clojure 一解构的时候,我就搞不清,到底有没有这个字段。

    Erlang pattern matching 可以把依赖写成这种,括号比 Clojure 都晕。

    {deps,
     [{xxx, {git, "git://github.com/xxx/xxx.git", {branch, "master"}}}]}
    
  • 有没有比 Ruby 更优雅更好用的语言 at 2018年10月12日

    有兴趣可以看这个 The Design Impact of Multiple Dispatch,觉得长的话,也可以听我胡乱说说。

    Julia 整体设计比较统一,挑不出来什么毛病。不给人添麻烦,Erlang 虽然很美好,但太特别了,比如变量非要大写。

    语法很简洁,比如方法定义 f(x) = x + 1,作者也比较有品位,比如 Julia 有 block。

    Type System && The Expression Problem

    语言要对不同的数据进行不同的操作。

    比如 +,加字符串和加数字不一样。面向对象是,都由对象自己决定。但对象的状态就变得模糊,且不好拓展。函数式交给方程,无法保证结构,有的时候甚至不接受这种抽象。

    type 则不一样,状态清晰,抽象度更高。

    Julia 很好扩展,比如 + 有了数字和字符串的加,那文件加怎么办?定义一个 + 方法,接受 file 这个 type 就可以。

    type 有 union type、subtype、abstract type、general type。简介、并且包含了所有可能。

    type + type Inference 让开发效率和运行效率都能得到解决。声明类型,写起来麻烦。没类型,运行慢。Julia 方法定义可以不声明类型(泛型),需要优化的部分,可以声明类型。

  • 有没有比 Ruby 更优雅更好用的语言 at 2018年10月11日

    Julia

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

    随机的,有的时候有的人慢

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

    布吉岛,反正路由器感觉像拖拉机。

  • Feed 流设计 (四):存储 at 2018年09月27日

    宝强和马蓉的那件新浪微博不知道抗住了没有。。。微博数据似乎是一直都存着的。

    2000 万人的时候,不需要分库吗?xxx_feeds 很大的话,Btree+ 做索引,要从磁盘读很多次吧?

    有个小 typo 查入道 event 表中

  • This website is under heavy load 怎么优化 at 2018年09月21日

    You have too many requests in queue. Since version 4.0.15 there is a limit which is 100 by default. Here is a short excerpt from http://blog.phusion.nl/2013/09/06/phusion-passenger-4-0-16-released/ which says:

    https://stackoverflow.com/a/20537659

    有请求过慢,找到慢请求,优化,比如异步啥的。

  • Eralng 学习笔记 -- Erlang Process at 2018年09月18日

    暗戳戳表明 Elixir 比 Erlang 更友好。对 Erlang 感兴趣,学 Elixir 才是正确的方向。

  • 能否在代码中实现类似 VB 中 Timer 的功能呢 at 2018年09月13日

    concurrent-ruby 有 TimerTask

    也可以用 ActiveJob(默认的 adapter 好像就是 TimerTask,我记不清了。。)

    还有 timers

  • [折腾向] 使用 systemd 来管理你的 Rails 应用 at 2018年09月11日

    我上周刚好写了几行代码,用来部署一个 java 项目,这几行代码让我很开心,因为我再也不用打开 jekins 了,也省了 ssh 到主机 tail log 的麻烦。

  • Why Sometimes I Write WET Code at 2018年09月10日

    我想我大概理解一些了。过早、过度的抽象可能会不利于维护!

    DRY 也是有代价的,要有判断和取舍 👍

  • Why Sometimes I Write WET Code at 2018年09月09日

    不太理解 WET code,

    如果方法 A,被调用了 3 次。有新的需求,发现方法 A 不好被复用,也可以复制一个方法 A1 啊,这样只要去维护两分代码就可以,也比维护 4 份好啊。。。

    当然我也认同有的时候复制粘贴也是有意义的,比如无法抽象出来一个概念、抽象出来的概念过于复杂,或者抽象带来的便利不大等等

  • ChangeSet 的思路 Rails 会借鉴么? at 2018年09月06日

    Process 比对象还对象,还有个运行时 (当前执行的方法)。由于变量不可变,还是显示的穿进去的,非常好 debug。

  • [闲聊] [吹水] 如果让你去面试 Ruby 的应聘者,你会问什么问题? at 2018年09月02日

    有个大神,说他面试就问基础,然后问为什么。

  • 几条 Elixir 的好消息,ElixirConf 2018 即将召开 at 2018年09月02日

    模式匹配让 tuple 很好解析,但 tuple 读起来费事,配置文件看的头大。

    ok 还好,no_reply;keep_state,如果对其机制不熟悉的话,就凉凉了。

  • 部署程序如何能达到一定并发量? at 2018年09月02日

    先加内存吧

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