确实,容易坑的地方感觉一样;swift 里面分了 Value Type 和 Reference Type,但是在 Array 和 Dictionary 的 Assignment 和 Copy Behavior 上确有些奇怪的地方;它的 Language Guide 中有单独一节来描述“Assignment and Copy Behavior for Dictionaries”和“Assignment and Copy Behavior for Arrays”,看的时候被绕晕了。。。。
原文描述是这样的:
var a = [1, 2, 3]
var b = a
var c = a
You can retrieve the first value in the array with subscript syntax on either a, b, or c:
println(a[0])
// 1
println(b[0])
// 1
println(c[0])
// 1
If you set an item in the array to a new value with subscript syntax, all three of a, b, and c will return the new value. Note that the array is not copied when you set a new value with subscript syntax, because setting a single value with subscript syntax does not have the potential to change the array’s length:
a[0] = 42
println(a[0])
// 42
println(b[0])
// 42
println(c[0])
// 42
However, if you append a new item to a, you do modify the array’s length. This prompts Swift to create a new copy of the array at the point that you append the new value. Henceforth, a is a separate, independent copy of the array.
If you change a value in a after the copy is made, a will return a different value from b and c, which both still reference the original array contents from before the copy took place:
a.append(4)
a[0] = 777
println(a[0])
// 777
println(b[0])
// 42
println(c[0])
// 42
至于为什么确实也没讲 @luikore
使用场景跟 PredictionIO 关系不是太大,而关乎你要的推荐效果,PredictionIO 实际上仍然是使用了 Mahout 的各种算法,所以还是要了解那些对应各种推荐效果的算法
要搞 ruby,还是直接用 linux 吧,何必折腾
哪啊,核心部分用汇编写的,当然快了
好吧,原来 webrick 用while(true)
如此粗暴的方式来处理keep_alive
这个距离在北京坐地铁肯定至少要按一个消失准备的
有 Time Machine 不用怕。。。
我现在两个 linode vps,一个 Fremont 的,一个 Tokyo 的,比较后建议用 Fremont 的
@Rei 我也仔细看过支付宝的流程,其实前面那个支付提交还是很简单的,当时想用 ruby 搞定也不会太费事;不过那个支付成功之后支付宝回调通知的时候还有一个到支付宝的验证过程,貌似复杂些,而且现有的 gem 中貌似也没有这部分,不知道你做了没有
不会,会允许你单独设置分辨率的
alt 的多列选择确实很爽,最近大量操作文本,频繁用到它;不过 multiedit 模式经常不注意就触发了,就会出错,比较麻烦。
DP 版本我从来不直接升级,都是另外分个区先装一个体验下
我也最喜欢那个多显示屏,包括 apple tv 的支持
确实啊,刚刚要到高潮的地方就没了
@krazy 哈哈,能直接上 erlang 的时候还是直接上吧,scala 那个语法确实会把人搞疯掉。。。。
#4 楼 @DestinyDesigner 是的,要照片,还要去照相啥的,我说的是从网上提交申请到发放备案号
服务器在国内的话都要备案的,Linode 就不用了;不过现在备案貌似比以前简单了不少啊,前两天刚好弄了一个,从网上提交申请到发放备案号差不多一个星期就搞定了,而且也没收任何费用。
@hisea 怎么个流程?直接打钱就可以了?
Martin Fowler (搞 Java 的应该都知道他)有一篇不错的文章: Mocks Aren't Stubs
class Foo
class << self
a = "aaaa"
define_method :puts_a do
puts a
end
def b
end
end
end
Foo.puts_a #=> "aaaa"
class Bar
a = "aaaa"
class << self
define_method :puts_a do
puts a
end
def b
end
end
end
Bar.puts_a #=> error
同样都是类方法访问,但是结果却不一样,就是说class << self
这种用法创建了新的 scope(作用域),而别的写法就不一定;在 ruby 的元编程中,self
是一个非常重要的概念。
下面这篇基本是必须阅读的一篇 blog 了,作者就不用说了 http://yehudakatz.com/2009/11/15/metaprogramming-in-ruby-its-all-about-the-self/
这是本坛里面的一个相关帖子,可以作辅助理解。 http://ruby-china.org/topics/1365
简单来说大数据不使用分页的基本原理就是:使用next n
而不是page n
来规避掉offset
或者limit X, Y
具体做法常见的就是将offset
直接转换为范围计算,如id > 10 and id < 20
, 或者是时间之类的
这里有篇不错的资料,基本上解释了大家的问题 http://www.percona.com/files/presentations/ppc2009/PPC2009_mysql_pagination.pdf
"Hello, world! " +1
我们用的 A1 这个主题,http://redminecrm.com/pages/a1-theme