已加入 selfstore 推荐列表。
质量要求是双向的。
v0.6.0 已经发布了 https://github.com/chloerei/alipay/blob/master/CHANGELOG.md#v060
有不少 API 变更,详情查看 changelog 和 README。
新版本覆盖的接口更全面,添加了 RSA 加密和多帐户支持,同时也更安全。已经使用这个 gem 的网站根据自己需要决定是否需要升级,部署前请作详细测试。
现在 https://selfstore.io 已经升级到 0.6.0。
如果就判断是否一个类就 is_a?
如果是多个类就
case object
when Array
when String
when Hash
else
end
每个人都有不同意见的,只能说某个人推荐的学习路线。
#3 楼 @flowerwrong 你是怎么输出 json 的?
#1 楼 @flowerwrong json 也是 view 啊。
干得好!早该管管了!
好,支持,威武,有希望了!
ActiveSupport::Notifications 真实应用场景我只见过 rack-attack 用来记日志
https://github.com/kickstarter/rack-attack#logging--instrumentation
assets 是给希望把前端代码提升到一等公民地位的人用的,你把别人写好的模版文件整个导入,自己一点不想碰,并不想给予一等公民地位,当然不合适了。
解决方案:放到 public 里。
"单一职责"就是个伸缩尺,根据需要放大缩小。按照定义,Rails 的 Controller 就是不是单一职责的,因为每个 Controller 居然承担了某个资源的全部 CRUD,有时还有 Member / Collection 操作。那么这还要不要拆呢,这时候可以说服自己,CRUD 都属于操作单一资源,所以这是单一职责,于是心安了。看,这是不是文字游戏。标准库里面的类到底承担了多少职责,这时候应该选择视而不见。
当然也有贯彻落实“单一职责”,并把它作为设计哲学的人,于是搞出这样的代码:
class Show
include Lotus::Action
def call(params)
@article = Article.find params[:id]
end
end
这就是 Lotus 框架 http://lotusrb.org/ ,我刚看到的时候费解为什么会有人想写这种代码啊。别误解我,我觉得这个框架挺好的,喜欢这类风格的人就可以跟着去了,免得祸害 Rails。
后来读了 Steve Yegge 的《名词王国里的执行》(Execution in the Kingdom of Nouns),发现原来真的有人把 Java 社区批判过的东西当宝捡起来。这里的 call
不就履行了 execute
的职责吗?
TopicCommentCreator.new(topic, comment_params).execute
好,topic.comments.create(params)
坏。 —— 程序猿庄园戒律
得了吧,我编程的时候才不想着什么原则什么模式。如果一个类承担了太多工作,那就 提炼类;如果一个类做得事情太少了,那就 内联化类。要学习整理代码的技术,《重构》是本好书,它列出了一大堆模式,但不会列一堆框框条条让你一定要遵守,要具体情况具体分析。
当你一直往上把事情弄得太抽象,就会像上太空一样没有氧气。有时候这些聪明的思想家就是停不下来,然后就创造出这些荒唐又无所不包的高层次宇宙景像,这些东西什么都好,就是完全没有实际的意义。 —— Joel Spolsky,别让架构太空人吓到你
PS:新手应该多研究代码,少谈些模式,我推荐一个项目: https://github.com/rubygems/rubygems.org 。
#2 楼 @string2020 命令行输入 g++
看看,没有的话说明不包含在你安装的包内。
g++: Command not found
编译工具缺失,Ubuntu 通常是安装 build-essential 这个包把一波编译工具装上,Centos 不了解。
Rails 有 ActiveSupport::Notifications http://api.rubyonrails.org/classes/ActiveSupport/Notifications.html
你是 @mogodb 马甲么?你能停止 Troll 行为么?
YAML