#13 楼 @kgen Joel 还写了一篇讲到 37signals 和 iPod http://www.joelonsoftware.com/items/2006/12/09.html
收录在《软件随想录 卷 2》http://book.douban.com/subject/26366425/
膨胀软件与 80/20 的谣传 http://chinese.joelonsoftware.com/Articles/StrategyLetterIV.html
时间戳+ID 截断几位?
和 Ruby Conf 2014 的演讲区别大吗?
这个需求开个豆列就解决了……
一般是给 users 表的 username 或 emails 字段(取决于你的设计)加唯一索引。
structs 防止重复提交的原理是什么?
#15 楼 @est 正文举例而已,又不是要斗多 https://ruby-china.org/sites
test.rb 和 vendor 的位置是怎么样的?
如果是用 bundler 管理 gem,应该这样写:
require 'bundler/setup'
我感觉楼主隐藏了细节,按这个代码应该报这个错:cannot load such file -- lib/TaoBaoApi.rb
vendor/TaoBaoApi
怎么装的?
只有理论上的可能,别这样做。
default from: "测试 <[email protected]>"
#17 楼 @deathking 你用这么多字解释递归更好理解不觉得有问题么?
[4, 6, 8, 11].map { |n|
array = [n]
until n == 1
n = n.odd? ? (n * 3 + 1) : (n / 2)
array << n
end
array
}.max_by(&:length)
用了递归之后更抽象更难理解,让人感觉自己更聪明,而局部变量能帮助人理解过程。长远维护来看我还是避免递归。
函数式语言有一些好的特性我觉得可以借鉴,例如变量不可更新 -> 用于并行计算;模式匹配,用于文档解析。我分不太清什么是函数式编程,有用的特性就借鉴。
#12 楼 @jasontang168 远程没做过,例如 Chef、Puppet?
#!/usr/bin/env ruby
puts "please input install folder:"
install_folder = gets.chop
puts "please input the version you choose:"
version = gets.chop
实现楼主举的例子,不需要额外的库。
Ruby 系统管理实战 http://book.douban.com/subject/3351248/
目前见过的比较复杂的用 Ruby 写的安装脚本是 https://github.com/phusion/passenger/blob/master/bin/passenger-install-nginx-module
如果楼主问“Ruby 怎么写安装脚本”估计很多人答,如果问“大家使用过 ruby expect 么”那就大大缩小了回答人群了。
好文章。
#3 楼 @haoshanshan 我记得 TDD 这本书就是用 Java 做的示例。