• @jobthoughtworks 请问咨询师,BA,developer有些什么区别? 在薪资方面有体现吗?

  • 如果ubuntu的文件系统使用了lvm的话(好像默认就是使用lvm的)可以加载一个分区作为pv,然后扩大vg和lv就可以了

  • IEEE二進位浮點數算術標準(IEEE 754)http://zh.wikipedia.org/wiki/IEEE_754 雙精度浮點數 http://zh.wikipedia.org/wiki/%E5%8F%8C%E7%B2%BE%E5%BA%A6 雙精度浮點數(double)使用 64 位(8字节) 來儲存一個浮點數。 它可以表示十进制的15或16位有效数字 345.363631248474已经15位了,执行乘法就超过了双精度浮点数的精度,肯定不会精确的,需要进行舍入。进行舍入IEEE有四种方法,不同的cpu,操作系统,语言实现都可能不一样

    捨入到最接近:舍入到最接近,在一样接近的情况下偶数优先(Ties To Even)(这是默认的舍入方式):会将结果舍入为最接近且可以表示的值,但是当存在两个数一样接近的时候,则取其中的偶数(在二进制中式以0结尾的)。
    朝+∞方向捨入:會將結果朝正無限大的方向捨入。
    朝-∞方向捨入: 會將結果朝負無限大的方向捨入。
    朝0方向捨入: 會將結果朝0的方向捨入。
    

    BigDecimal能正确精确计算浮点数 就实际需求来说,没有必要用BigDecimal,对精度要求最严格的系统应该是金融结算,其中每一步的算法都是固定的,A / B * C 写代码的时候就不能用A * C / B, 并且A / B 之后保留多少位小数都是有要求的。遇到这种需求,如果客户没有提到计算方法,可以跟客户讨论把算法及每一步的精度写在需求规格说明书中。

    回到楼主的问题,可以用1楼的方法,toFixed(2)

  • 任务栏开三行的人飘过

  • @birbird 可能是ssh进程关闭的时候把子进程关闭了 1.用nohup运行, nohup bundle exec rails s 2.用tmux运行(推荐) 安装tmux

    tmux
    bundle exec rails s
    
  • @tdseed 用过一点ueditor,欢迎交流

  • 又一个 基于 ubuntu 的 东东 at 2013年07月02日

    官办民营的开源项目,主要市场应该是政府采购吧

  • Ext.Ajax.request({
        url: 'manager/material_add',
        //params: form.getForm().getValues(), 
        jsonData: form.getForm().getValues(), 
    })
    

    用jsonData可以传过去么?

    一定要用params传的话,可以考虑

    //hiddenName: 'suppliers',
    hiddenName: 'suppliers[]',
    

    这样rails可以正常接收。但是对于checkbox写起来很啰嗦

  • #4楼 @cqcn1991 1.可以写成一个shell命令在ruby里面,参数通过命令行参数传递过去,参数用system.args[1],system.args[2]这样的形式获取,例如传入url和图片的路径,执行完以后再继续用carrierwave从本地读取 2.如果需要返回生成的文件流或者文件名,可以用IO.popen

    // Filename: screen_capture.js, edit from loadspeed.js
    // 用法: phantomjs screen_capture.js <URL>
    var page = require('webpage').create(),
        system = require('system'),
        fs = require("fs"),
        url;
    
    if (system.args.length === 1) {
        console.log('Usage: screen_capture.js <some URL>');
        phantom.exit();
    }
    
    url = system.args[1];
    page.open(url, function (status) {
        fs.write("/dev/stdout", page.renderBase64('png'), "w");
        phantom.exit();
    });
    
    # Filename: ruby_test.rb
    # 运行: ruby ruby_test.rb
    require "base64"
    
    def get_png_screen_capture(url)
      cmd_line = "phantomjs screen_capture.js #{url}"
      result = nil
      IO.popen cmd_line, "w+b" do |pipe|
      #  pipe.write params #如果需要通过stdin传大量参数过去,
        pipe.close_write
        result = pipe.read
        pipe.close
      end
      result = Base64.decode64(result)
      return result
    end
    
    File.open('baidu.png',"wb") do |file|
      file.write(get_png_screen_capture("http://www.baidu.com/"))
    end
    

    把这两个文件保存在同一个目录下,运行ruby ruby_test.rb,会生成baidu.png 在ruby里面拿到文件流以后做什么就可以随意了,用carrierwave处理也很容易 js可以放在Rails.root/bin目录下(因为是执行文件),调用的时候用绝对路径

    抱歉用百度做例子,找不到更好的能稳定访问并且很简洁的页面了,照规矩,上图

  • 2239128474@qq.com,谢谢

  • 任何封装都会损失性能和灵活性 angular和emberjs这种做法有点像.NET、delphi中的数据感知控件(data-aware),做原型和供初学者把玩的,真的用在产品中会被骂的。谁能科普一下这样的优点? 前后段分离只是ajax交互的问题,直接写js所有控制点都可以灵活处理。

  • 赞成 #4楼 "宿主机windows,虚拟机linux" linux安装server版,用putty通过ssh连接过去 在linux上开发,总不好意思用图形界面吧 在mac上qq也有很多缺陷,不如win上稳定,没有远程协助功能,复制的图片文件会直接显示,而不是以文件形式传送,截图在很多应用里面无法识别(例如自带的mail,截图发邮件给自己,结果发的时候能看到,接收的邮件图片不显示)

  • 求一简洁优美的写法 at 2013年04月26日

    这样可以么? (arr1+arr2).group_by{|i| i[:key]}.collect{|k,v| v.inject(:merge)}

  • @chenge migration是非常好的方法, 1.可以对migration进行版本管理 2.自动判断哪些migration脚本执行过,哪些没执行,没执行的按顺序执行,用脚本不好控制顺序 3.部署在多个地方的时候很方便,每个人有自己的开发数据库,测试组有测试用的多个数据库,产品数据库都能执行,否则每次人工找哪些脚本没执行过非常累 4.migration可以执行ruby代码,可以调用model中的方法,这样一些修复数据的逻辑可以既作为维护工具,也可以在migration中调用,对新增加的字段特别重要 。。。好处太多了,现在看一个框架首先看有没有好的migration方案

  • xcode中command line tools安装没有?

  • #1楼 @xds2000 是的呀,我在整个issue中都没有找到这个,是不是最后没有被采用 07年就集成了yarv,1.9的规划中就有,很期待的等 5年了,2.0的最初规划中又有,到最后又没有 ruby到底在怎么发展呀,不能光做语法糖呀

  • @sevk ctrl+] 是进入一个方法吧,我说的是在同一个文件的不同方法间跳转,没有调用关系的情况下.例如:编辑controller中create方法的时候快速切换到update方法

  • #28楼 @blacktulip GUI win > mac 确实是我的误读 我现在主要使用mac工作,之前一直用windows,没有觉得有很大差异

    @mobiwolf 可以拿具体的问题讨论,在windows下ruby平台没有什么问题的

  • #28楼 @blacktulip 我找一下,应该就是ruby-china中的

  • #23楼 @blacktulip 对于命令行控直接用linux的命令行是最好的,不过也要一个图形界面支撑的,linux的图形界面确实还有待改进 另外linux下无法用qq 不要骗自己说不用测试ie

  • #23楼 @blacktulip 记得有个帖子说 gui方面 win > mac > linux, cli方面 linux > mac > win 要么用最好的gui(windows)+最好的cli(linux),要么将就着用mac

  • #6楼 @sjzg001 excel中数据类型很弱的,50bb174260388b08260000fa可以在前面加一个',也就是说写入的时候用字符串"'50bb174260388b08260000fa"

  • windows很方便,没有遇到什么问题,个别无法在windows上安装的gem可以用virtubox安装一个ubuntu的server版,用putty连过去,跟部署环境一致,一切都很方便

  • windows,ubuntu,mac下都可用 在controller里面

    #获取数据,data可以用ActiveRecord::Base.connect.select_all查询出来 data = xxxx

    xls_report = StringIO.new
    book = Spreadsheet::Workbook.new
    sheet1 = book.create_worksheet :name => "表单名"

    #表头 sheet1.row(0).default_format = Spreadsheet::Format.new :color => :black, :weight => :bold, :size => 10
    keys = params[:columns].keys.compact.collect{|key| key.to_i}.sort.collect{|key| key.to_s} sheet1.row(0).concat(keys.collect{|key| params[:columns][key][:column_header]})

    #写入具体数据,这个看具体应用 ,这里列是从前台extjs根据实际显示的grid的列和宽度传过来的
    row_num = 1 data.each do |row| sheet1.row(row_num).concat keys.collect{|key| row[params[:columns][key][:data_index]]} row_num = row_num + 1 end #调整各列的宽度 keys.each_with_index do |key,index| sheet1.column(index).width = params[:columns][key][:column_width].to_f/10 end

    book.write xls_report

    send_data(xls_report.string, :filename => 'your_excel_file_name.xls', :type => 'application/vnd.ms-excel', :disposition => 'inline')