我的是 7 月份的 15 寸底配 (有些人会觉得内存不够), 13 寸 + 二显兼顾便携性也不错
对了还能列几条:
不好的地方就是和 windows 的思维模型冲突很大 (控制面板在哪里?), 改变使用习惯也是痛苦的 (我花了一周!)
java 的不知道...
同意没有高低贵贱之分,只有不用 Mac 后悔和用了 Mac 更后悔当初为什么不用 Mac 之分
区别是 pry 有颜色,可以用 show-method, show-doc, edit-method 等命令,另外其实能插 binding.pry
调试的地方插 irb 也可以的
应用场景是啥?大部分需要看上一个/下一个元素的话 each_cons(2)
就解决了...
而且有重复元素怎么办?a = %w[a b a c]
的话 get_next('a')
总是返回 'b'
...
这样?
(a = 1; b = 2; c = 3) if cond
分号好难看...
@lgn21st 玛雅人正在计算下次和下下次世界末日
@lionzixuanyuan 在 windows 得用 mingw 开命令行编译,(或者你装个 visual studio 就有 nmake 命令了), 这个 gem 存在的原因可能是作者不知道 openssl 而已...
text = 'hello'
key = rand(36**32).to_s(36).ljust(32)
require 'openssl'
# 加密
aes = OpenSSL::Cipher.new 'aes-256-cbc' # 另外还可以选各种 -128 -ecb -ofb 等模式
aes.encrypt
aes.key = key
ctext = aes.update('hello') << aes.final
# 解密
aes = OpenSSL::Cipher.new 'aes-256-cbc'
aes.decrypt
aes.key = key
deciphered_text = aes.update(ctext) << aes.final
text == deciphered_text #=> true
非要 excel 格式么?csv 不好么?excel 可以打开 csv 的
Ruby 自带的是 OpenSSL 的包装,如果你装 Ruby 用的 OpenSSL 是 1.0.1 以上并且 CPU 是 i5 以上,那么已经没法更快了,因为 OpenSSL 会直接用 CPU 的 AES 指令, 比 C 的实现快 8 倍左右
有 ko1 和浅草 ruby 的创始人啊,还有 godfat!
#19 楼 @zhenjunluo 你原来的程序已经创建了线程并且平行于主线程运行了,问题是 ruby 线程和 java 线程不一样:java 进程会等待所有线程结束才结束,ruby 主线程结束了进程就结束了,进程结束时所有其他线程都一起完蛋。这就是为什么这个 hello 程序里看不到想要的效果,为了看到效果,别人才建议你用 thread.join
去等待 hello()
创建的线程结束。
但如果你一开始就说明白是 rails 里创建的线程,那又是另一回事了。rails 的主线程一直存在,不用调用 thread.join
去等待 hello()
创建的线程结束。
#19 楼 @zhenjunluo 在 rails 中,你就不需要调用 join 了
新 kindle 要好一些,但代码没有多彩高亮挺不爽的...
@zhenjunluo 可能你没看明白楼上说的,我把最后代码弄好给你看
def hello
thread = Thread.new{
5.times {
sleep(1)
puts "thread.."
}
}
sleep 2
puts "hello exit!"
thread
end
thread = hello()
thread.join # 主线程结束后, 程序就结束了, 如果要等待其他线程结束后再结束主线程, 要调用 join
如果你在一个长期执行的程序里创建 thread, 例如 rails 里,就不需要 thread.join
了
kindle 和 ipad 都有,最后表示还是电脑上看最好... 边看边写代码还是电脑上最方便啊
@yangman_wenzhu 就是这样:
erb
<html><head></head><body><%= [1,2,:3].sort %>
html 的内容好像高亮不了,是 pygment 的限制
@zhenjunluo 其实是两个问题:
erb
?
<html><head></head><body><%= [1,2,3].sort %>
@woaigithub @Saito 整数处理的话,还有打 0.85 折,利息 1% 之类的事情哦,bigdecimal 在 10 进制加减乘是可以完全不丢的
其实 20.889999999999997 比 20.89 精确,因为后者只有四位有效数字...
如果是算钱,从出生起就得用 bigdecimal 控制住:
BigDecimal.new('1.9') + BigDecimal.new('18.99')
用 set_trace_func
实现追踪日志应该可以满足你在 #4 楼 描述的需求,而且添加切点的逻辑不局限于 AOP 的定义。
http://www.ruby-doc.org/core-1.9.3/Kernel.html#method-i-set_trace_func
#8 楼 @iBachue AOP 说白了就是代码生成工具,玩代码生成是玩不过 Ruby 元编程的。
你觉得系统一定要大型么?大型 Ruby 系统就一定要有这么多重复打日志的调用么?打日志就一定要 AOP 么?我整过自动给 java 方法加统一格式日志的方法,尝试过用 AOP, 但当时就是大型 Java 系统,包依赖很变态各种 alibaba logger 和 log4j 和 slf4j 混在一起,还得看配置按情况插不同的代码,最后还是自己写了 annotation processor 各种改语法树才弄好...
这种问题归根就是:1. 编程环境没有足够强的 debug 能力,只好用大量手动日志来分析系统状况,2. 编程环境没有足够强的动态能力,只好依赖代码生成工具和容器,甚至各种半吊子的解释器引擎。
p.s. 如果用 aspectJ 我猜一半人的 eclipse 搞不定,如果用 spring 的动态 aspect 运行又很慢... p.s. 最悲惨的 debug 方式莫过于看日志了,最耗资源吃力不讨好的数据分析也莫过于日志分析了...
几乎所有 AOP 示例都拿打日志做例子,其实在 Java 有 dynamic proxy 后这个应用场景已经几乎没有了...
AOP 要解决的问题,在 Ruby 中不存在...
如果真想用 AOP 处理问题,你可以用 aspectJ 编译 java 代码然后用 JRuby 引入...