Event-driven I/O model 首先,聽到 Event-driven 是從 Node.js 得知,
Node.js® is a platform built on Chrome’s JavaScript runtime for easily building fast, scalable network applications.
Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
其實剛聽到這詞會有點陌生,我們可以先從 Victor 所寫的文章開始讀起: 淺談coroutine與gevent
裡面提到了幾種網路模型: > 1. 阻塞式單一行程
2. 阻塞式多行程 3. 阻塞式多行程多執行序 4. 非阻塞式事件驅動 5. 非阻塞式 coroutine
以下是各語言 event-driven 的 model
Ruby:
~/Library/Application\ Support/Sublime\ Text\ 2/Packages/Ruby/Ruby.sublime-build
{ "env":{ "PATH":"${HOME}/.rvm/bin:${PATH}" }, "cmd": ["rvm-auto-ruby", "$file"], "file_regex": "^(...*?):([0-9]*):?([0-9]*)", "selector": "source.ruby" } http://rubenlaguna.com/wp/2012/12/07/sublime-text-2-rvm-rspec-take-2/
以下都是以 Ubuntu 11.10為操作環境
主要目標為使用 rvm (Ruby Version Manager)來管理 ruby 版本並安裝 ruby 和 rails
先安裝一些必要套件 ( ex. openssl, zlib1g-dev ….etc. )
$sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev nodejs 安裝完基本套件後, 有兩種選擇:
直接在系統上安裝 ruby ( sudo apt-get install ruby ) 使用 rvm 來管理 ruby 版本 基本上有 rvm 來管理 ruby 版本是比較方便的, 可以隨時切換不同的 ruby 版本
(不過在使用一些套件上會有一些問題需要排解, 本篇最底下有 trouble shooting)