我可以清楚地看到使用UML图显示应用程序的基础结构(类名,其成员,它们如何相互通信等)的好处.
我现在正在开始一个新项目并且已经构建了数据库(使用可视范例).我想使用一些设计模式来指导我如何编写类.
我想,我应该在创建它的UML图之前先编码类(可能在代码之外......似乎可能)或者我应该首先创建UML图然后代码(或者从UML生成代码,似乎也可能).
你有什么经历告诉你最好的方法?
有谁能解释一下这个测试代码的作用?:
assert_difference('Post.count') do
post :create, :post => { :title => 'Hi', :body => 'This is my first post.'}
end
Run Code Online (Sandbox Code Playgroud)
和:
assert_difference 'ActionMailer::Base.deliveries.size', +1 do
post :invite_friend, :email => 'friend@example.com'
end
Run Code Online (Sandbox Code Playgroud)
即使我阅读文档,我也无法理解.
谢谢!
我见过很多程序员选择这个文件名约定:
file.class.php.
这是命名类文件的标准吗?
只是好奇.所以我知道我将来是否应该遵循所有类文件.
谢谢
我用Ruby编写了各种脚本:
rails (symfony)
ruby (php, bash)
rb-appscript (applescript)
Run Code Online (Sandbox Code Playgroud)
是否有可能用Ruby替换低级语言?
我用Ruby编写并将其转换为java,c ++或c.
原因人们说当涉及到Ruby中更多性能关键任务时,你可以用C扩展它.但是,这个词意味着你编写你刚刚在Ruby代码中调用的C文件.我想,我可以改用Ruby并将其转换为C源代码,将其编译为机器代码.然后我可以用C语言"扩展"它,但是在Ruby代码中.
这就是这篇文章的内容.在Ruby中编写所有内容但获得C(或Java)的性能.
第二个优点是您不必学习其他语言.
就像HipHop for PHP一样.
这有实现吗?
我想知道它们之间有什么区别
"echo 'hello'; ls"
Run Code Online (Sandbox Code Playgroud)
和
"echo 'hello' && ls"
Run Code Online (Sandbox Code Playgroud)
是什么?他们都做同样的事情
我正在阅读mongodb指南,但我不明白:
mongodb://fred:foobar@localhost
Run Code Online (Sandbox Code Playgroud)
它说我可以通过网络浏览器连接到mongodb.
我试过这个,但它不起作用.Safari/Firefox无法识别mongodb协议.
我为什么要这样做?
mongodb服务器不是仅用于通过命令行连接吗?
端口27017和28017有什么区别?
我应该通过http或mongodb协议连接?
在我的网络应用程序中,我将有三种类型的帐户.
这三个应该是在单独的表中,还是在一个名为"account_type"的列中,我可以将其标记为User,Customer或Admin?
两者的利弊是什么?这是最好的做法吗?
谢谢
我已经读过RubyGems事实上托管宝石.
我在GitHub上托管我所有的Rails项目.
所以我的问题是:
有没有理由在GitHub而不是RubyGems上托管我的宝石?
RubyGems是否有像GitHub这样的私有存储库?
我读过珠宝商很适合制作宝石骨架.在他们的网页上,听起来它将这些宝石上传到GitHub而不是RubyGems.但是GitHub没有删除Gem支持吗?
这个railscast http://media.railscasts.com/videos/183_gemcutter_and_jeweler.mov向我们展示了如何使用gemcutter来管理宝石.但Gemcutter.org现在是RubyGems.org吗?但是还有一种名为gemcutter的宝石?这是为我们管理宝石,但现在在RubyGems.org?
感谢有人能在这个话题上启发我.
我希望使用一个数组作为实例变量attr_accessor
.
但不attr_accessor
只是为了弦乐?
如何在阵列上使用它?
更新:
例如.如果你想:
object.array = "cat"
object.array = "dog"
pp object.array
=> ["cat", "dog"]
Run Code Online (Sandbox Code Playgroud)
那你必须自己创建这些方法吗?