这个坟挖的。。。
想想看 require_relative
是相对哪个东西来加载呢?看看
__FILE__
的值是什么?
读完 blog 以后,我立刻想到 << Metaprogramming Ruby >> 里面的最后一句话 "There is no such thing as metaprogramming. It’s just programming all the way down.”
未来的互联网上是不是不付费都看不了高质量文章了? 亦或者,发个文章都要考虑如何讨好受众,博得眼球?
兴冲冲的申请了一个账号,结果发现照着文档做搞不定
比如:压根不需要“添加部署”这个步骤;git clone
的时候还要账号密码输入这一步也没有提示(需要输入 baidu 账号,而不是用 key)。建议及时更新一下文档(以一个纯新用户的角度),同时最好能像 wiki 那样在页底标注一下最近更新时间神马的。
我继续慢慢鼓捣去了
#7 楼 @u1378130755 准确的说是保存在了 innerFn 的上下文中,someFn 调用的时候是在 innerFn 的上下文中。
@luliangshu 哦,我搞清楚这个问题也花了好久,Paypal 文档很多,参数也很多。
忽然想起,有人说过,社区聪明人太多,没有人提初手问题,未必是件好事。
Anyway,不是什么 Bug 就好 - 我还可以跑回正题的
IPN 通知需要验证
应答一个 IPN 通知需要对这个请求返回 200,并且把所有传递来的参数(按照发出的顺序)也返回给 Paypal,如果 Paypal 返回 VERIFIED
表示成功,否则返回 INVALID
如果不返回 200,Paypal 会重新请求几次
另外,Ruby 可以用或者看 Gem adaptivepayments-sdk-ruby
paypal-sdk-core
Private repo 可以试试 wercker,目前是免费的
我觉着用 10.9 自带的 Ruby,然后改改 $GEM_HOME 成 ~/.gem/ruby/2.0.0
,并且把 $GEM_HOME/bin 加到 $PATH 就 OK 了
@willmouse 我也觉得 Mou 用起来比较慢,推荐 Haroopad,速度快。试了一下,中文字数统计也没问题,试试看吧。
碰巧前几天也看到这个
这两种都是 Here Document 的写法,符合 POSIX 标准的系统一般都支持
<<-
特殊的地方是,转换成字符串的时候会吃掉每行开头的 TAB
适合这样子的时候
if ...
while ....
somecommand <<-WORD
this is
an indented
here document
WORD
done
fi
既能保持代码书写时候的美观,又能保证执行的时候没有前面的空格
关于 Google 对 golang 的支持, 前段时间听了个 podcast,Rob Pike 说其实 go 一直跟 G 公司关系分得很清,比如 golang 网站上都没出现过 google 字样(有心跟 Angularjs 官网对比一下),他到希望 G 公司能多给点支持。不过,他又说,现在就算没有 google 支持项目仍然可以发展下去,而且 google 内部目前用的也不多。
最八卦的一点是,golang 的 Windows 移植部分主力是中国程序员干的
Podcast 在这里
#2 楼 @hz_qiuyuanxin 看看 qiu.models[0].attributes 里面到底塞了什么?用到了 parse: false 之类的参数么,在 parse 函数里面设置断点或者 console.log 一下?
@blackanger 嗯,这个实在有点难翻,这句 real developers ship 是比较简短有力的,中文翻起来都太长。有一本书叫 ship it,中文版根本就没翻译这个名字,直接用英文副标题来做书名。
@blackanger @dale 这里 ship 是 release 的意思,跟船没有什么关系 参见 http://www.codinghorror.com/blog/2009/12/version-1-sucks-but-ship-it-anyway.html
今天通过@linjunhalida 的问题,引出了 @gene_wu 提到的 Gem.loaded_specs 方法,又长姿势了
明天去瞅瞅
#11 楼 @blacktulip 这个对比的例子很好,还可以用来对比说明一下两种语言的作用域问题。 JS 会在 function 定义中打开一个新的作用域范围(即 变量的可见范围),这点跟 Ruby 的 def 一样。 不同的地方在于 Ruby 并不能在 def 定义的作用域里面看到外围作用域中的变量, 而 JS 则在定义新 function 的时候,外部变量仍能从里面看到。 下面两段代码展示了这个不同。
function a() {
var v = 10;
function b() {
return v;
}
return b();
}
console.log(a()); // 10
# 上面 JS 代码的一对一翻译
def a
v = 10
def b
v
end
b
end
puts a # NameError
因此,楼主的 JS 代码并不能一一对照翻译成 Ruby,而需要使用 lambda。 由此,我们也可以看到,Ruby 里面的 lambda 跟 def 不同,它没有打开一个新的作用域,而是继续使用当前作用域。
另,看到了这么多英文术语,长姿势了。
不觉得 Fn 这个位置不好用么?难道你们都不用 Delete 只用 Backspace?
#7 楼 @linjunhalida 我怎么觉着,如何组织管理 JS 代码才是前端最麻烦的地方呢。
#12 楼 @franky_xhl 一定要的 ^^
看了你的 deploy.rb,我大概明白关键一点是你用了不同的 env 变量来区分 production 和 stage,我下面的例子是 stage / production 都用 'production' 作为 env 变量值。 至于说具体的配置,比如 database.yml 不同,可以在 after deploy:finalize_update 或者 deploy:create_symlink 这个步骤解决。
task :stage do
set :user, "tester"
set :target, "stage"
server "stage.example.com", :app, :web, :db, :primary => true
end
task :production do
set :user, "deployer"
set :use_sudo, false
set :target, "www"
server "www.example.com", :app, :web, :db, :primary => true
end
set :rails_env, "production"
set :deploy_via, :copy
set :deploy_to, "/deploy/path"
@xdite 我们也把 database.yml 放在 git 里面,对新手很有帮助(正如 issue 里面有人提到一样)。Deploy 的时候会有另外一个 database.yml 覆盖掉这个,所以也不会发生信息泄密问题 ^^