步骤化解过程
[[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"]]
其实就相当于两个人网页对聊,最近我也用 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/
#5 楼 @bhuztez 仔细查了“熵”,可能是我既看物理又看计算机科学有点搞乱了,思考无序冗余简洁去了。”熵“可分为”信息熵“,”热力学熵“,"生态学熵”等,它们的联系据我现在所知只是公式原理相同而已。
你所指的“熵”是信息论里的熵。维基百科 信息熵 说 "在信息论里面,熵是对不确定性的测量。但是在信息世界,熵越高,则能传输越多的信息,熵越低,则意味着传输的信息越少。" ,比如"China"和"中国“的熵是一样的,也可以说所含信息是一样的如果我们只是常规的指代,如果硬要从别的角度出发,也就是你说的语言的歧义,当你说语音而没有指名大小写的时候,"china"在英语里是瓷器的意思,而"中国"可能又导致领土政治问题。所以从String#size这个角度来说,确实应该是最低最小的。在String这个角度,正则确实降低了信息(熵)。我上面提到的熵,说的是正则表达式更有序简洁(当然对不了解正则的人来说增加了学习成本)。 上段算解答了。如果用上压缩算法,这个(信息)熵还可以更小,但是得不算上压缩和减压需要的能量和算法和字典库,否则就越来越扯了(如何鉴定孤立系统的范围)。
热力学里的熵指的是一个封闭系统的无序度,但是无论如何无序,按热力学第二定律,除了熵增加,能量和质量是不会有所增加或减少的。
另外我平时也在写我的学习记录,算是生活乐趣。
#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')
最完美的信息表示,它的熵应该是最低的。如果正则表达式支持变量可以更进一步减少重复信息:)
就我的使用经验来看,duckduckgo 对内容关联性支持很好,和 google 不相上下,这样其他搜索引擎只是用来翻存档用的。
fork 下 gistub,把它改造成 rails engine,这样速度最快吧~
简单看了下 model 和 gemfile 和 db/schema.rb,这个 gistub 就是用数据库直接实现版本的,所以就不能用 git 去操作历史版本了。
最近我做的代码分享项目 http://code.eoe.cn 是内置 git 的,不过把托管放到 bitbucket 去处理了。
推荐使用 github 或 bitbucket 等 git 托管服务的网站的 api,自己处理 git 存储设计挺复杂的。
找个实习公司呗,边学边干
代码分享的博客版,无论是编写还是展示的代码块都很有质感
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 都是如何写的
在你项目目录里新建 app/views/layouts/rails_admin/_secondary_navigation.html.haml 文件就可以覆盖 rails_admin 的了。
"因为本人是开发出身、转行运维,后转行开发,对 Linux 还是有一定了解的,有个 RHCA 认证,做了多年培训。所以这次斗胆做了个 Linux 在线学习网站,全视频,配合问答系统。问答系统当然就是仿自 stackoverflow 和知乎。视频全部都是免费的,很多都是现在培训圈子在卖钱的。问答系统我也会尽全力有问必答。 "
依楼主的经历到现在完成这样有系统独特想法的一个产品,离成功真的不远了。
对 Ruby 做云平台感兴趣,报名~
#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)奇位數的數目。
#29 楼 @diudiutang 因为 42 是宇宙的答案!
翻出自己一年前的也是用平反算的版本 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) }
如果场景是这样就很容易理解为什么会出现上面这样的效果
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 我吧。