没有读写磁盘的权限?
一个新的 java 虚拟机?
#23 楼 @andor_chen 这本书居然是在另一个地方销售现在才反应过来。。。
为了支持译者我决定再去 leanpub 买本『Ruby on Rails 教程』(以前通过淘宝买的但是图灵貌似木有 epub 版本好悲催。。。
amazon 买的 actto 这个牌子的才 50 不到也挺好用的
支持译者 PS:图灵的电子书没有 epub 格式的?
mysql2 装 0.3.11 版本的试试,我本地这个版本的能跑起来
update1:下文有技术层面的错误,为了保证当初原文的完整此帖不做修改,请继续看下面的回帖
以下文字皆纪念某次通宵干到早上 5 点,在导入 excel 数据的时候发现的问题
首先我们来进行试验,掏出你的计算器吧,我用的是貌似中小学生标配的计算器 casio fx-991ES PLUS
,在里面
1)输入 345.363631248474*1024*1024
,得到结果362140015
2)输入 449.179866790771*1024*1024
,得到结果470999228
注意,OS X 10.9 系统自带的计算器连1/3*3
都算不准的咱还是换一个计算器来玩吧,win xp 的计算器算这个算式都会得出正确答案
为了验证是否正确,接着打开一个类似 excel 的东东——我用的是 WPS 表格 (8.1.0.3526)
1)在 A1
单元格输入345.363631248474
,B1
单元格输入 =A1*1024*1024
,得到结果 362140015
2)在 A2
单元格输入449.179866790771
,B2
单元格输入 =A2*1024*1024
,得到结果 470999228
以上证明咱没有手误之类的问题
注意,xubuntu 自带的 Gnumeric 电子表格
计算是不准确的,Numbers 倒是能算正确,其他未知
接下来看看 ruby 的表现如何
require 'bigdecimal'
require 'bigdecimal/util'
result1 = BigDecimal.new("345.363631248474") * BigDecimal.new(1024*1024)
puts "here is 345.363631248474 result"
puts result1.to_s
puts result1.to_i
puts result1.to_f
puts result1.to_digits
puts '='*50
result2 = BigDecimal.new("449.179866790771") * BigDecimal.new(1024*1024)
puts "here is 449.179866790771 result"
puts result2.to_s
puts result2.to_i
puts result2.to_f
puts result2.to_digits
得到的结果是
here is 345.363631248474 result
0.362140014999999873024E9
362140014
362140014.9999999
362140014.999999873024
==================================================
here is 449.179866790771 result
0.470999227999999492096E9
470999227
470999227.99999946
470999227.999999492096
这段代码在版本 1.9.3 跟 2.1.0 运行的结果都一样。
用 java 写上面的计算的话也是同样结果,有兴趣的可以试试,我就不上代码了。
到这里基本可以看出计算浮点类型的差不多都是不准确了。
但是,excel 的公式就是计算准确的么?
我们接着在刚才那个 excel 文件里面做如下试验
1)在 C1
单元格输入=B1&""
,得到结果 362140015
2)在 C2
单元格输入=B2&""
,得到结果 470999227.999999
把上一个单元格计算正确的数字变成文本类型的时候,居然就又不正确了,这到底是怎么回事,有谁能解释一下么?
计算器计算正确的背后,它到底用了什么东西能让浮点数运算正确?
decimal 的精度一样会存在问题,还是 casio 计算器那样的算得准
#67 楼 @jimmy2011 树莓派性能不行,换个杨梅派之类自带内存外存而且还是 A20 cpu 的来试试
一下歪楼就歪到了讨论开发环境,感觉等下就会有人讨论那个版本的 Linux 来做开发的好了。。
devkit 是绝对要配置的,建议装个 1.9.3 的 32 位版本能减少一定量的折腾,上面那些劝换系统的基本都是近期没在 win 下安装的人的留言,可以无视
还有就是,rails 4.1 带的 spring,这个是能在 win 下装的,只不过它不支持 win 系统罢了(ぶっちゃけお前らプロセスのコピーなんかほしいの?),而且它都还不支持 jruby 呢。
我们这的新人培训之一就是,遇到金额的数据库字段类型一定要用 BigDecimal,因为它有方法直接进行“银行家舍入法”,并且要是进行其他的舍入方法也能很方便的实现
PS:19wu 的里面我本来提了个金额用 BigDecimal 来储存的 issue,结果没被采用
右键复制链接地址弄到迅雷下
看来大家都忘了去年大概也是这个时间段发生的事情了
sinatra 我也是用 pg,配合 sequel 也能实现 migrate 功能其实也挺好用的
其实我想知道用 rvm、rbenv 之类安装了多版本的 ruby 能否共用一份 gem 包,可以的话如何实现
重温 ko1 在 rubykaigi2013 上的演讲
#6 楼 @shangrenzhidao 不是啊,某大型外包公司而已
我还做修电脑、安装系统、进行信息安全检查等工作
在 rails 4.1 版本中加上的 spring 这个 gem 不知道是不是也是实现同样的功能
クリスマスといえば、ねねさんと一緒に過ごししかありません。。。