应该由 worker 自己保证,监控服务只监控进程状态和发信号。
入乡随俗
标题党负分,不知用人单位怎么看这样把问题都推给环境的人。
module RLE
def self.encode(list)
list.each_with_object([]) do |n, result|
if result[-1] == n
result[-1] = [n, 2]
elsif result[-1].is_a?(Array) && result[-1][0] == n
result[-1][1] += 1
else
result << n
end
end
end
end
递归版就不写了,因为性能还不如循环。
代码量有差别吗?差别不大。哪种写法难懂?都难懂,因为逻辑就是那么复杂。但我认为大部分人会觉得模式匹配 + 递归更难懂一点,因为人脑没有尾递归优化,耗费的脑细胞要多一些。
学多点语言很好,有时也要脱离原本的思维去想,这样更容易接受新思维。但也要知道,布道者给的例子都是经过精细设计的,总能找到些场景,用这个工具很方便,用别的工具很麻烦。Facebook 的 AI 团队用 Haskell 肯定是有道理的。
但是一不留神就掉进布道者的圈套里了,以偏概全,好像没了一些特性就什么都干不了了。上面的 Ruby 版很麻烦吗?不就是一个把条件写到方法参数,一个把条件写到方法体内,Elixir 版还多了一个选择分支——写递归的时候真要好好考虑清楚有没有写漏分支。模式匹配也不能做所有事,不然 Elixir 里面也不会提供 case
cond
if
控制结构了。
我去年就把 Elixir/Erlang 过了一遍,虽然没写生产应用,但也学到不少东西,像模式匹配、轻量进程 & 消息、OTP,这样在选型的时候多一种选择,也可以在原有工具上做些改进。我相信很多人都经常学新语言,只是没那么狂热表现出来。Ruby 一路以来都借鉴了不少其它语言的设计,同时要向前兼容——不兼容的灾难已经在别的语言看过了。如果学过 Elixir/Erlang、Go、Rust,那么应该很容易理解 ko1 演讲上谈到的 immutable object、channel、membership 等概念。
但是切勿邯郸学步,精髓没学到,原本怎么走路给忘了。
#67 楼 @blackanger 微信的交流无法沉淀下来。
虽然可以在应用端做容错,但证书错误意味着网络环境不安全,应该告诉用户无法继续。
我感觉很危险。
宣传策略。
新 spring 依赖 listen,对虚拟环境不友好,我换成 poll 方式也不行,后来弃用 vagrant 了。
我用 PPA https://www.brightbox.com/docs/ruby/ubuntu/
开启 apt 的自动安全更新。
before_action
比不上 https://www.ruby-toolbox.com/ ,可惜站长好像不维护了。
有人会为了让你练技术而招兼职么……
那么,这个作者想要推销什么呢?
希望有视频。
天国的 Mozilla Persona。
委托到上级元素。
好,支持,威武,有希望了!
我也觉得众筹可行,这样成果可以全开放出来,用 GitHub 接受贡献。
以后站队小心了,方丈很小气的。
#14 楼 @andor_chen 我看完觉得我理解没错啊,如果演绎了就要相同方式共享,不意味共享一定要先行演绎。或者你认为哪个条款支持你的观点?
甚至要注意:
No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
不能添加条款限制本条款已经许可的事情——要求共享前先要演绎就是添加了条款。
#11 楼 @andor_chen 我预想到的情况是,作品发售后有人在回复贴一个下载链接,这是符合许可的我不会删除,这样你设想的交易模式就不成立了。
#11 楼 @andor_chen 但这是符合许可的啊,我建议再研究下 cc by-sa。
#7 楼 @andor_chen 我不这么理解,分享和衍生是权利,署名和相同方式共享是义务。衍生不是义务。
退一步说,调整一下样式使之更好看也可以算作衍生作品。