令人惊叹的 ruby 程序库
Ruby 錦囊妙計
Thor
http://asciicasts.com/episodes/242-thor
Sinatra
Sinatra 是一套微型的 Web 小框架,適合小型的 Web App 或是作為 Web services 之用。它不是 MVC,也沒有內建 ORM,它最重要的是提供了一套 Routing 路由系統。
Jekyll
Jekyll 是一個非常簡單的靜態網站產生工具,讓你可以共用 Layout、使用 Textile 或Markdown 格式等。它也非常適合拿來建立 Blog。
處理檔案
Ruby 內建的 File 函式庫 http://ruby-doc.org/core/classes/File.html
處理 HTTP
請參考 HTTP client 這篇文章。
YAML
Rails 的資料庫設定檔 database.yml 是用一種叫 : YAML Ain’t Markup Language 的格式所撰寫,檔案打開來,看起來就像一般的 plain 設定檔,非常容易修改。
YAML 的設計首要目標就是要讓使用者容易看懂,可以和 script 語言搭配良好。用途有 資料序列化 data serialization、設定檔 configuration settings、log files、Internet messaging、filtering 等。網站上已知有支援的 script 語言有 Python,Ruby,Java,PHP,Perl,Javascript 等。
require ‘yaml’
ps2 = YAML.load_file(‘example.yaml’)
ps2.each do |it|
puts it.inspect
end
JSON
Rails 內建就有 ActiveSupport JSON,用法如下:
ActiveSupport::JSON.encode( [ {:a => 1 , :b => 2 } , "c", "d" ] )
=> "[{\"a\":1,\"b\":2},\"c\",\"d\"]"
ActiveSupport::JSON.decode( "[{\"a\":1,\"b\":2},\"c\",\"d\"]" )
=> [{"a"=>1, "b"=>2}, "c", "d"]
Yajl-ruby 則是一套底層用C,比較快的 JSON parser。
如果要替換 Rails 內建的 JSON 函式庫,請在 config/application.rb 最下方加入:
ActiveSupport::JSON.backend = 'Yajl'
XML
Rails 內建使用 Ruby 的 XML 函式庫 Builder
Nokogiri 是一套基於 libxml2 的函式庫,效能較佳。可參考 Getting Started with Nokogiri一文介紹用法。
如果要替換 Rails 內建的 XML 函式庫,請在 config/application.rb 最下方加入:
ActiveSupport::XmlMini.backend = 'Nokogiri'
Prawn 可以產生 PDF,支援 Unicode。
PDFKit 則是另一個有趣的產生方式,透過 HTML/CSS 轉 PDF。
CSV
FasterCSV 是一套 pure Ruby 的 CSV 函式庫,也被 Ruby 1.9 納入內建。
Excelsior 則是一套底層用C實作,較快的 CSV 函式庫。
出处: http://www.cnblogs.com/todototry/
关注语言: python、javascript(node.js)、objective-C、java、R、C++
兴趣点: 互联网、大数据技术、大数据IO瓶颈、col-oriented DB、Key-Value DB、数据挖掘、模式识别、deep learning、开发与成本管理
产品:
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。