• 一道 Ruby 水平自测题. at 2013年04月17日

    步骤化解过程

    [[1, "a"], [2, "b"], [3, "c"]].map(&Array)
    [[1, "a"], [2, "b"], [3, "c"]].map {|size, obj| Array.to_proc size, obj }
    [[1, "a"], [2, "b"], [3, "c"]].map {|size, obj| Array.new      size, obj }
    # => [["a"], ["b", "b"], ["c", "c", "c"]]
    
  • #11 楼 @sailtsao 对,比如用 Faye 做个专门的聊天页,让新手相互帮助学习。

    发贴的话,时间限制可能还是缩短一些为好,一个月似乎真太长了。

    另外可以在产品上作下改进,比如在发贴时判断内容是否和已有发贴内容重合度太高。抛砖引玉~

  • Faye 做站内信怎样? at 2013年03月11日

    其实就相当于两个人网页对聊,最近我也用 faye 尝试实现了多人在线网页聊天,效果不错

    参考 http://railscasts.com/episodes/260-messaging-with-faye?view=asciicast

  • 把 /usr/local/rvm/gems/ruby-1.9.3-p194/gems/faye-rails-1.0.3/vendor/assets/javascripts/faye-browser-min.js.map 删掉就解决了

    问题解决记录在: http://code.eoe.cn/426/

  • #16 楼 @luikore 客户没说完全或没想清楚是另外的事。程序员干的事就是用图灵机来帮客户干图灵机能干的事。為什麼不是客户自己做,而是描述自然语言的需求让别人(程序员)做,是因为别人做的更经济或更专业(比自己花时间和精力等)。為什麼程序员描述形式语言的需求让机器做,因为机器做逻辑的东西最快。

    我只能说我写的比普通的程序员好一点,但是没有你写的那么专业,这里只是层次和类型之分。刚才相对论的例子也讲了。

    最后一句,有注释和测试的程序才是完解~

  • #5 楼 @bhuztez 仔细查了“熵”,可能是我既看物理又看计算机科学有点搞乱了,思考无序冗余简洁去了。”熵“可分为”信息熵“,”热力学熵“,"生态学熵”等,它们的联系据我现在所知只是公式原理相同而已。

    你所指的“熵”是信息论里的熵。维基百科 信息熵 说 "在信息论里面,熵是对不确定性的测量。但是在信息世界,熵越高,则能传输越多的信息,熵越低,则意味着传输的信息越少。" ,比如"China"和"中国“的熵是一样的,也可以说所含信息是一样的如果我们只是常规的指代,如果硬要从别的角度出发,也就是你说的语言的歧义,当你说语音而没有指名大小写的时候,"china"在英语里是瓷器的意思,而"中国"可能又导致领土政治问题。所以从String#size这个角度来说,确实应该是最低最小的。在String这个角度,正则确实降低了信息(熵)。我上面提到的熵,说的是正则表达式更有序简洁(当然对不了解正则的人来说增加了学习成本)。 上段算解答了。如果用上压缩算法,这个(信息)熵还可以更小,但是得不算上压缩和减压需要的能量和算法和字典库,否则就越来越扯了(如何鉴定孤立系统的范围)。

    热力学里的熵指的是一个封闭系统的无序度,但是无论如何无序,按热力学第二定律,除了熵增加,能量和质量是不会有所增加或减少的。

    另外我平时也在写我的学习记录,算是生活乐趣。

  • #13 楼 @luikore 。。。我只能说我只是来追求真理的

  • #9 楼 @luikore 哈哈,这个多行的用法是学正则表达式那时还记得的。(?=pattern) 模式是查了才知道的。

    运行了一下还真是 "\n123m".match DomainRegex => #

    知识没有穷尽啊(我只要一个真理),亚历山大。。。回答的时候又查了 N 多资料

  • #6 楼 @bhuztez 不管是正则表达式 还是 把匹配模式扩展成更日常语言化的 Prolog(我不太了解逻辑的 Prolog 还是函数式的其他编程语言),两者根本还是在图灵机上的,执行行为都是一致的。而停机问题就需要更高级的人脑去判断了。

    语言的该短该长还是依赖受众群体,更甚至场合去选择的。举个相对论的例子,:E=MC^2 是最能表达其核心思想的,涉及运算时套用公式更简单,如果是向别人解释,那就有论文版,浅论版,和姑娘同坐版等各种了。所以是否采用需求文档或者其他测试工具,就各取所需好了。

  • #5 楼 @bhuztez 多谢指出,我是不太懂物理。。。最完美的信息(熵)表示,它的冗余应该是最低的。

  • #1 楼 @bhuztez 。。。Prolog 这个似乎太长了,超过了(自然语言描述)需求的语义长度,语言本身和需求杂糅得太多,如分开的 valid_character 和最后合并的 valid_domain_name 函数。程序终究和自然语言不一样,它讲求数理上的递归,否则英语国家(一般意义上)的人都会编程了。

    来个易懂的注释版

    DomainRegex = Regexp.new([
     "^",
     "(?=.*[a-z_\-])", # 不能全是数字
     "[0-9a-z]", # 必须用数字或者字母开头
     "[a-z0-9_\-]{2,14}", # 3-15个字符,可以用[a-z0-9_\-]字符
     "$"
    ].join, 'i')
    

    最完美的信息表示,它的熵应该是最低的。如果正则表达式支持变量可以更进一步减少重复信息:)

  • 有没有类似 gist 的 gem at 2013年01月25日

    #13 楼 @leopku 感谢提醒。。。刚刚自己准备在 iPad 记个想法登陆时发现了,没兼容没登陆的情况

  • 就我的使用经验来看,duckduckgo 对内容关联性支持很好,和 google 不相上下,这样其他搜索引擎只是用来翻存档用的。

  • 有没有类似 gist 的 gem at 2013年01月24日

    fork 下 gistub,把它改造成 rails engine,这样速度最快吧~

  • 有没有类似 gist 的 gem at 2013年01月24日

    简单看了下 model 和 gemfile 和 db/schema.rb,这个 gistub 就是用数据库直接实现版本的,所以就不能用 git 去操作历史版本了。

    最近我做的代码分享项目 http://code.eoe.cn 是内置 git 的,不过把托管放到 bitbucket 去处理了。

  • 有没有类似 gist 的 gem at 2013年01月24日

    推荐使用 github 或 bitbucket 等 git 托管服务的网站的 api,自己处理 git 存储设计挺复杂的。

  • 想找个师傅 at 2013年01月11日

    找个实习公司呗,边学边干

  • #3 楼 @doitian gistflow.com 说,"We made a place where developers can share their skills by writing code-related posts"

  • 代码分享的博客版,无论是编写还是展示的代码块都很有质感

  • 怎样学习 rails_admin 的代码 at 2012年12月03日

    1, 首先明确定制的功能是否确实出自必要的需求 2, http://api.rubyonrails.org/classes/Rails/Engine.html 了解下支持挂载的 Rails Engine 的使用 3, 浏览下 RailsAdmin 代码组织结构,和 https://github.com/sferik/rails_admin/wiki 里介绍的如何扩展基础类型 4, 去看下 https://github.com/sferik/rails_admin/wiki 最下方推荐的 plugin 都是如何写的

  • rails_admin 的管理权限设置 at 2012年11月26日

    在你项目目录里新建 app/views/layouts/rails_admin/_secondary_navigation.html.haml 文件就可以覆盖 rails_admin 的了。

  • "因为本人是开发出身、转行运维,后转行开发,对 Linux 还是有一定了解的,有个 RHCA 认证,做了多年培训。所以这次斗胆做了个 Linux 在线学习网站,全视频,配合问答系统。问答系统当然就是仿自 stackoverflow 和知乎。视频全部都是免费的,很多都是现在培训圈子在卖钱的。问答系统我也会尽全力有问必答。 "

    依楼主的经历到现在完成这样有系统独特想法的一个产品,离成功真的不远了。

  • 对 Ruby 做云平台感兴趣,报名~

  • 打印数字金字塔 at 2012年09月24日

    #28 楼 @chyanog 哈哈,只当回复你 11 楼了~

    不过按下面这位台湾人的思路来就对称了 www.khjh.kh.edu.tw/science40/初小/初小數學2/初小數學2.htm

    1.我們終於明白為何書上最多介紹到九層,就是因為阿拉伯數碼最多到9而已。換言之,從第十層10個1的平方開始,每一層皆會發生進位效應,而使表象似乎不再有規律,同時也出現「0」數碼。因此假若每一個數目,都有其專門唯一數碼表示,而非由基本數碼組合而成,則ㄓ個1的平方積,一定為通式如下的結構:12345… … …(ㄓ-1)ㄓ(ㄓ-1) … … …54321,為一個(2ㄓ-1)奇位數的數目。
    2.自第十層開始,原先簡單趣味不再,那麼是真的不再有規律,還是另有別種風味﹖我們仔細慢慢研究,終於有了發現:我們都知道數學裡有所謂循環小數、循環節的特性,沒想到這座塔竟然也有極其類似的「九位循環節」構造,可令人讚嘆不已!且讓我們慢慢說來:例如第十三層之結構
    (1)設每一數目皆有專門數碼,則13個1的平方積為
    123456789(10)(11)(12)(13)(12)(11)(10)987654321
    (2)今因10以上,皆會進位,而由兩個基本數碼組合表示,所以其積組合後狀況為
    123456789       987654321
            10    10
             11  11
              1212
    +          13
    1234567901234320987654321
    
    因為進位效應,原有簡單規律不再,而「0」數碼出現,但仍為(2ㄓ-1)奇位數的數目。
    
  • 打印数字金字塔 at 2012年09月24日

    #29 楼 @diudiutang 因为 42 是宇宙的答案!

  • 打印数字金字塔 at 2012年09月24日

    翻出自己一年前的也是用平反算的版本 https://gist.github.com/1261488

    (1..(ENV['NUM']||='42').to_i).each {|num| puts "#{' '*(ENV['NUM'].to_i - num)}#{('1'*num).to_i**2}" }
    

    数字金字塔

    本质上就是两个规则: 1, 依次为 '1'*n 的平方 2, 按最长一列的中线居中。

    String#center都几乎忘记了,比上面的罗嗦点

    (1..(ENV['NUM']||='42').to_i).each {|num| puts (('1'*num).to_i**2).to_s.center(ENV['NUM'].to_i*2-1) }
    
  • Rails Model 的 scope 陷阱 at 2012年09月03日

    如果场景是这样就很容易理解为什么会出现上面这样的效果 class Report < ActiveRecord::Base scope :recent_month, where("reports.category_id = ?", 3) end

    动态改为参数调用比较合适,不管是 scope 还是方法~

  • scope.to_sql 就可以显示当前查询语句。

    输出 SQL 查询时间的话原则上在架构设计时就应该估量,调优可以用 request-log-analyzer 来分析日志入手。

  • #6 楼 @sundevilyang 陈大伟,邮箱 github 上有,电话你 mail 我吧。