ruby 小的技术点

Ruby 调用java程序

由于我们平时使用的是cruby,导致一些程序需要调用java程序比较的麻烦,现在总结一些

1 使用io管道,io= IO.popen('java 调用的java程序名 传递的参数'),我简单的测试了一下,可以执行

2 使用ruby Java bridge,直接调用java,不过这个好像比较的慢

3 使用cron脚本调用,比较的浪费

 

ruby 生成word

1 使用xml来生成,读写简单,不过不支持一些word工具的支持,有一些的局限性。

2 使用html,生成的没有定制性,修改麻烦

3 使用rtf,不过ruby的rtf比较的简单,不实用

ruby可以支持excel2003,但是pdf特别是加密的pdf文件,无法处理。处理xml使用libxml比较的好,速度比较的快

 

ruby的优化

1 尽量使用select加上join配合来选择,减少多sql查询,不过这个如果需求变更很痛苦,自己把握吧。

2 使用sql review工具查询sql

3 可以使用include来查询,减少n+1

4 使用ruby profile,不过我没有使用成功,给的例子是使用单元测试一样,感觉太麻烦,没有找到一些实际的使用,有时间再找找。

 

ruby的session

1 可以使用数据库管理,不过太麻烦了。

2 使用cookie管理,但是cookie客户端可以指定,要小心使用。

 

ruby的静态资源

可以通过assert_host来指定静态资源的域名,可以和你的应用域名不同。

 

ruby的retry

在rescue中的retry和continue可以重新执行begin的块,可以用来做一些重复的尝试。

 

ruby的文件上传

1 可以使用jquery的mutil upload,一次上传多个。如果数据量比较的大,会出现性能的问题,具体的优化功能,由于能力有限,没有成功优化。

2 使用swf,来上传,操作比较的方便,不过需要处理垃圾的文件数据

3 使用iframe来上传

 

rails中的delegate

实现的代码如下

 

module_eval("def \#{prefix}\#{method}(*args, &block)\n\#{to}.__send__(\#{method.inspect}, *args, &block)\nend\n", "(__DELEGATION__)", 1)
 

rails中的ENV

  rails中的ENV调用的是ruby运行的ENV,代表上下文环境。

 

rails的启动方式

  主要有两种分别是自带的rubygems和vendor下面的rails

    def pick_boot
      (vendor_rails? ? VendorBoot : GemBoot).new
    end

    def vendor_rails?
      File.exist?("#{RAILS_ROOT}/vendor/rails")
    end
 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值