• 我的编辑器打 do 会自动补全|x|和 end,不需要手敲。

  • Ruby 2.6.0-preview1 已发布 at February 24, 2018

    Ruby 2.6 introduces an initial implementation of JIT (Just-in-time) compiler.

    Ruby 2.5 引入了 JIT (Just-in-time) 编译器的初始实现。

    纠正一个小错误 XD

  • 定义数组可以不要括号? at February 24, 2018
    [1] pry(main)> a, b = 1, 2
    => [1, 2]
    [2] pry(main)> a
    => 1
    [3] pry(main)> b
    => 2
    [4] pry(main)> 
    

    一般是给这种用法用的。

  • 部署 Windows 太花时间了,反正我是不想折腾。

    做开发,也就算了,毕竟需要交互环境。不做开发,有用 Windows 部署的理由吗?

  • 不奇怪。而且不是理论上,是实际上。

  • 我一直觉得,像是数字货币这样级别的东西,在经济学和计算机科学两个领域不拿个 master 或者 PhD 就高谈阔论的,总觉得很那啥……

  • 官方包 bootstrap-sass X

    第三方包 twitter-bootstrap-rails ✓

  • 二维数组生成小陷阱 at February 10, 2018

    指针被你赋值改掉了呀。而且 4 本来就是不可变对象,你本来就改不了 4 的值。

    看下面的例子。

    # pry
    [1] pry(main)> s = ['0']*4
    => ["0", "0", "0", "0"]
    [2] pry(main)> s[0] = '1'
    => "1"
    [3] pry(main)> s
    => ["1", "0", "0", "0"]
    [4] pry(main)> s[1].replace '2'
    => "2"
    [5] pry(main)> s
    => ["1", "2", "2", "2"]
    [6] pry(main)> s.map &:object_id
    => [46944791677080, 46944791865940, 46944791865940, 46944791865940]
    [7] pry(main)> 
    

    拿你开头的例子来说:

    值 [[0 0] [0 0]]
    针 [[A A] [A A]]
    针 [  B     B  ]
    a[0][0] = 2
    值 [[2 0] [2 0]]
    针 [[C A] [C A]]
    针 [  B     B  ]
    

    因为你是把 A 指针换成了 C 指针,所以不会变成 [2 2],但是因为 B 和 B 指向同一个数组,所以会变成 [2 0] [2 0]。

  • 一个生成证书讲那么长,不如做一篇 xca 的教程呢?

  • 二维数组生成小陷阱 at February 10, 2018

    是因为数组是对象,*5 是复制指针而不是复制数据。

  • 关于 inject, 疑惑的地方. at February 04, 2018

    第二段的 sum + 2 if a >3

    第四段的 sum + 1 if a <2

    都相当于空行。

  • Linux、Ruby 不冷没天理! at January 31, 2018

    没有办法。

    醒醒,你是一个人,不是一个机器。你有人性吗?有,就很难做到高效团结。你一天只有 24 小时,就算不吃不喝也只有 24 小时。你一辈子只有几十年撑死一百年。有限的时间投入到无限的工作中去,那就是个笑话。如果你觉得你的想法是对的,觉得你这样的办法能挣到钱,那就创业去啊,搞个牛逼的公司来给我们开开眼呗。Linux 不算周边软件,只算内核,开发成本超过 10 亿美元,你打算花多少钱来高效团结多少人做开发呢。

    对着命令行码字也不是什么不符合人体工程学的。文字表述准确,信息密度高,在人类界广泛使用。新闻报纸为什么都用文字,而不用图形界面(漫画?)。你的工作环境怎么样我不知道,但是要是让我用图形界面去配置几十几百台机器,那我宁愿辞职走人,把活交给你来做。

  • 谨防比特币和区块链骗局 at January 30, 2018

    感谢提醒,我已经搬家到比特币上了,比原来的商品房宽敞很多,风景也好。

  • 用现在的价值去衡量当年的价值本来就没什么意思。币的市值是因为有人投了钱进去才能一路升值上去。这 3 万元也不是 Github 送的,而是那些后来投钱买币的人送的。Ripple 只要印出千亿废纸,然后等大家花钱买废纸,把废纸变成钱就行了。

  • 用 Ruby 嘛,自己爽就行了,上不上 TIOBE 前几又咋了呢。

  • 对于 Rails 的 QPS 疑问 at December 30, 2017

    workers 8 threads 16 不是会产生 128 线程吗?

    如果你真的只配置总共 16 线程并且每个请求真的要花掉 1 秒的话,是的最多 16qps。

    所以实际运行中,这么慢的请求不会配置这么少线程的。

  • 是会出现偏差,但是大 O 主要是看增量规模而不是实际性能的,如果要计算实际系数的话,要考虑的东西会多得多,不仅仅是 n 和 x,还要考虑每一步的实际 CPU 和内存消耗,比如排序的 nlogn 的系数(数据移动和读取比较)就比查询的系数(只读取和比较)大;甚至有些排序还要新开内存区段,还要执行递归等等。

    大 O(x) 的意思是对于 x 的增长,整体耗时也是线性增长。如果是 O(x^2),则说明 x 增长时整体耗时增长是平方级的。具体系数不是大 O 要考虑的东西。

  • 第一部分里变量是 n。第二部分里变量是 x,nlogn 相当于常量了。也就是问题转变成了,给定一个固定大小的数组时多次查询的算法复杂度。这时候 n x 和 logn x 的数量级相同,但是 logn x 的系数更小。

  • 谈谈我对 Ruby 的看法 at December 29, 2017

    包管理那段也是槽点。Ruby 在 gems 之前不也没有包管理,装个 rails 都要 vendor 下面拷一大堆文件,运气好是 plugins,运气不好直接裸拷 lib 文件……

  • 被博士碾压是什么很奇怪的事情吗?

  • 明明后面还跟了个posts_path你怎么能说他们效果一样呢。

  • stdout, status = Open3.capture2('/bin/sh', 'files/test.sh')

  • 找工作的话,简历还是需要的,没简历人家怎么招你。

  • 因为这个交互式命令行本身也会被你的代码改变吧。

  • edit 方法为什么要负责 new 啊……

  • 就是working directory啊。 https://en.wikipedia.org/wiki/Pwd

  • Gemfile 要改名了 at September 12, 2017

    编辑器也完全可以根据整个文件的名称来判断语法类型。

    比如我这 Rakefile 和 Gemfile 语法高亮并没什么问题。

  • 请问怎么升级 Linux 里的 Ruby at September 09, 2017

    建议你用什么版本的 Ruby 就装对应版本的 Linux。

    比如你要用 Ruby 2.3,可以考虑装 Debian 9 或者 Ubuntu 16.04,如果要用 1.9.3 可以装 Ubuntu 14.04 等等。

    当然也可以用 rvm 或者 rbenv。