视频陆续的发布了:https://vimeo.com/rubyau/videos
强烈推荐 Aaron Patterson 的 keynote,非常之搞笑。:D
最简单快速的方案—— Gemfile
里把 source 改为 'http://rubygems.org'
#18 楼 @ysihaoy Envato 是个非常棒的公司——当年,墨尔本有两家公司我特别想加入,一家是 Envato,一家是 SitePoint。这两家公司我都任职过了,算是“圆梦”过了,呵呵。
当时是作为一个 PHP 程序员加入 Envato 的。在不到两年的任职间,学习到了非常多的东西,尤其是对于软件工程方面的一些概念。更重要的是,Envato 付我工资让我慢慢的学习和运用 ruby,这一点我至今仍然是非常的感激——这是我职业生涯一个非常重要的转折点。如果当时没有加入 Envato 的话,我现在很可能还是在做 PHP 方面的东西。
决定离开 Envato 有众多原因。比如,加入后来的公司 PlayUp 让我得到了更快速的在项目开发和团队协作方面的经验累积的机会。跳槽后我能够全职的写 ruby —— 在 Envato 我大部分时间还是在维护 PHP 的项目。另外一个很现实的原因是工资——跳槽给了我 30%+ 的工资涨幅。诸如此类的。
:)
这次参加 RubyConf AU,两天总共才睡了 10 个多小时(晚上处理公司的项目),一天两杯咖啡,如同行尸走兽。:(
我没去抱 Aaron Patterson,这会儿无比后悔中。。。T_T
@lgn21st 啊,期待,什么时候进行采访呀?
嗯,先就想到这些。:)
UI 看上去很不错,试用了下感觉 UX 也不错。
但开源的代码质量比较一般……
#8 楼 @evil850209 选了 Paypal 之后在 Paypal 的支付页面上的。
选 No PayPal account? Pay using your credit or debit card
就好了。
使用方法:
# without concurrent execution
BuildDB.new(db_specs, false).output
# with concurrent execution
BuildDB.new(db_specs, true).output
实现方法:
class BuildDB
def initialize(db_specs, concurrent)
@db_specs = Collection.new(db_specs)
@concurrent = concurrent
end
def output
wrap_collection(@db_specs).format_output
end
private
def wrap_collection(subject)
Collection.new(
subject.map do |label, options|
wrap_execution { run label, options }
end
).tap { |c| c.concurrent = @concurrent }
end
def wrap_execution(&block)
if @concurrent
Thread.new { block.call }
else
block.call
end
end
def run(label, options)
puts label, options
end
class Collection < ::Array
attr_accessor :concurrent
def format_output
concurrent ? self.map(&:value) : self
end
end
end
国外也有,而且排行很高…… #_#
我算了下,我一共自己发布了 19 个开源项目,和人合作开发了 3 个开源项目,提交 patch 过给 22 个开源项目。 :D
J.Wong 的脑残连西方国家的业界都有所耳闻了…… 不算新闻了,嘿嘿。 =。=
男主的真相咧?=v=
这英语本来就是错的所以随便翻译都可以啊 ^__^
老婆,快出来看上帝!
从他的博文可以依稀推算出他应该是患了类似忧郁症的病状…… 可惜了。
#12 楼 @sandybeauty 谢谢!
看了一下,原文是 2 年多前写的。我也不赞同原文作者的观点。:)
转载的话,贴一下原文链接吧。
年薪超过 1m+ 的有多少,出来八卦一下吧。
新 profile 页面看上去不错哦。:)