まえおき
やっとでパーフェクトRuby(技術評論社)とプログラミング言語Ruby(オライリージャパン)を読み終わりました!続いてはRubyによるクローラー開発技法(ソフトバンククリエイティブ)と、メタプログラミングRuby(ASCII)と、クラウド時代のネットワーク技術OPENFLOW実践入門(技術評論社)の3冊をInterleaveに進めていこうと思います。今度は実際にコードを書いて進める時間が多いと思うので楽しみなのです。
リファクタリング:Rubyエディション (ASCII)も立ち読みはしましたが、まだちょっとばかり難しそうだったのでそっと本棚に戻してきました。
Interleave?
真か嘘かは定かで無いですが
参考サイト
Wired Geekdad Everything You Thought You Knew About Learning Is Wrong
によりますと、もくもくと1つのことを進めるよりも同時並行で色々と進めた方が効果が高い!!という記事を鵜呑みにして(同時に進めた方が楽しいしね)、Let’s EnJoyで進めていこうじゃないかという試みです。
必要そうなものをインストール
開発用のUbuntuはバーチャルボックスで新たに用意しました。
takeken@ubuntu:~$ sudo apt-get install gcc make libpcap-dev libsqlite3-dev git gem libssl-dev pkg-config glib-2.0
Rubyの環境も用意します。Ruby+ネットワークの勉強もできるなんていいものを見つけたよ。
takeken@ubuntu:~$ git clone git://github.com/sstephenson/rbenv.git .rbenv takeken@ubuntu:~$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build takeken@ubuntu:~$ cat >> ~/.bashrc export PATH=$HOME/.rbenv/bin:$PATH eval "$(rbenv init -)" ^C takeken@ubuntu:~$ tail -2 ~/.bashrc export PATH=$HOME/.rbenv/bin:$PATH eval "$(rbenv init -)" takeken@ubuntu:~$ exec $SHELL -l
今回はRuby 2.0で進めます。
takeken@ubuntu:~$ rbenv install 2.0.0-p643 takeken@ubuntu:~$ rbenv global 2.0.0-p643 takeken@ubuntu:~$ rbenv rehash takeken@ubuntu:~$ ruby -v ruby 2.0.0p643 (2015-02-25 revision 49749) [x86_64-linux]
仕上げに
takeken@ubuntu:~$ cat > ~/.gemrc gem: --no-rdoc --no-ri install: --no-rdoc --no-ri update: --no-rdoc --no-ri :verbose: true ^C takeken@ubuntu:~$ exec $SHELL -l
Tremaをインストールします
参考サイト
Github Trema TremaGithub
sinclains’s blog Trema 0.4.7 install (Ubuntu14.04 + Ruby 1.9.3)
Gemのバージョンをあわせる必要があるようです。そのまま進めたらエラーを吐きました。
takeken@ubuntu:~$ sudo gem install rubygems-update -v 1.8.25 takeken@ubuntu:~$ sudo update_rubygems
あとはTrema本体とWiresharkを入れて終わりのようでした。
takeken@ubuntu:~$ sudo gem install trema takeken@ubuntu:~$ trema --version trema version 0.4.7 takeken@ubuntu:~$ sudo aptitude -y install wireshark
テスト
OpenFlow実践入門にあるHelloworldを実行してみます。
takeken@ubuntu:~/trema$ trema run ./hello-trema.rb Hello, Trema! ^C
ウム。
問題ないようです。
今日はすっごい久しぶりにPythonを書いてみたらRubyならこれで動くのに!(^_^メ)メキィ!
と思うところがあり、こういう経験は初めてだったりした。
※メキィ:キーボードが折れた音。
Trema
冠婚葬祭のなんやらは全く関係なくって(どうしてもあの歌が頭に流れるんだよ)、Ruby用のOpenflowの開発環境のことです。
一番最後にTremaのことを書くのはおかしいなぁと書きながら書きなおそうか少しだけ悩んだけれど、爪が伸びててキーが打ちにくいのでこのままにするぜぃ!
TremaはOpenflowの開発環境のなかではダントツでコンパクトに仕上げられるようで、コンパクトにできるのはPythonだという固定観念を持っていたような感じなので、なかなか新鮮です。
おわり