Twitter
RSS
Facebook

Act as Professional

本当にありがとう。最後の RubyKaigi2011 #rubykaigi


投稿日:2011年7月18日(この記事を読むのに必要な時間: 約 3分19秒

passengerもrvmで動かすOSのrubyに依存しない環境づくり


投稿日:2011年5月29日(この記事を読むのに必要な時間: 約 6分44秒

Katoomba Railway Station

OSに最初からついているrubyのバージョンやパッケージのバージョンとかを見てみると、

[@MacBook-Air]$ /usr/bin/ruby -v
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]

とか表示されて、Rails3使ってる人にとっては、だいぶ残念な感じ。

かといって、passengerが1.8系で既に動いていたり、1.8系でしか稼働しないコードやgemを使っていたりする場合、OSのrubyバージョンを勝手に変更するわけにもいかない人は多いんじゃないだろうか。

でも、rubyは1.9でrailsは3なんだよ。って人は、なんでもかんでもrvmでやること推奨する。

そして、rvmにインストールした1.9系のrubyを使ってpassengerを稼働さましょう。

→ «passengerもrvmで動かすOSのrubyに依存しない環境づくり»" class="more-link">続きを読む «passengerもrvmで動かすOSのrubyに依存しない環境づくり»

いまどきのRubyとRailsの学び方


投稿日:2011年3月27日(この記事を読むのに必要な時間: 約 3分21秒

cood school

code school という学習サイトがあります。現在は、Ruby on Railsに特化したコンテンツがありますが、確認する限りでは、jQueryやHTML5 & CSS3のコンテンツが近いうちに公開される予定です。

→ «いまどきのRubyとRailsの学び方»" class="more-link">続きを読む «いまどきのRubyとRailsの学び方»

herokuでruby 1.9.2を使う方法


投稿日:2011年3月19日(この記事を読むのに必要な時間: 約 1分46秒

http://heroku.com/はRails使いには便利なホスティングサービス。

1つのコマンドだけでRailsのデプロイを自動でしてくれてすぐに動作する。

小さいアプリケーションならば無料で動かせるので、簡単な実験にもよく使われている。

rails3になってRubyも1.9系でしょ。という流れなので、普通に使っていたのだけど、

herokuのデフォルトはree-1.8.7ということで、エラー発生して気づいた。

mri-1.9.2を使う方法をメモ。

→ «herokuでruby 1.9.2を使う方法»" class="more-link">続きを読む «herokuでruby 1.9.2を使う方法»

そうだ、rails3でfactory_girlをつかおう!


投稿日:2011年3月18日(この記事を読むのに必要な時間: 約 3分26秒

Fixturesを利用してテストを書いていくと、リレーションの定義がファイルをまたいでわかりづらくなったり、同じようなデータなのだけど、少しだけ違うデータが増えていったり、とにかく大変になる。

→ «そうだ、rails3でfactory_girlをつかおう!»" class="more-link">続きを読む «そうだ、rails3でfactory_girlをつかおう!»

emacsでruby開発環境を整える


投稿日:2011年3月17日(この記事を読むのに必要な時間: 約 4分45秒

emacs の elisp が ruby のソースコードに一通り含まれているらしいので確認する。

$ wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p180.tar.bz2
$ tar jxvf ruby-1.9.2-p180.tar.bz2
$ ls -l ruby-1.9.2-p180/misc
total 216
-rw-r--r--  1 hirocaster  staff    369 10  2  2009 README
-rw-r--r--  1 hirocaster  staff  15271 10  2  2009 inf-ruby.el
-rw-r--r--  1 hirocaster  staff   2757 10  2  2009 rdoc-mode.el
-rw-r--r--  1 hirocaster  staff   7094 10  2  2009 ruby-electric.el
-rw-r--r--  1 hirocaster  staff  55876  1 16 21:35 ruby-mode.el
-rw-r--r--  1 hirocaster  staff   2246  5 25  2010 ruby-style.el
-rw-r--r--  1 hirocaster  staff   4481 10  2  2009 rubydb2x.el
-rw-r--r--  1 hirocaster  staff   4984 10  2  2009 rubydb3x.el

emacsのバージョンは 23.2.1 で、ruby-modeは最初から入っていた。

ruby-electric.el

ruby-electric.el は中括弧や対応する括弧を自動補完してくれるようだ。

$ cp ruby-1.9.2-p180/misc/ruby-electric.el ~/.emacs.d/elisp/

その後、emacsを立ち上げて、M-x byte-compile-file で、 ~/.emacs.d/elisp/ruby-electric.el を指定する。

~/.emacs.d/elisp/ruby-electric.elc というファイルが作成されていることを確認

.emacs に以下を追加

;; ruby-electric.el
(require 'ruby-electric)
(add-hook 'ruby-mode-hook '(lambda () (ruby-electric-mode t)))

emacswikiから以下はインストールした。

ruby-block.el

;; ruby-block.el
(require 'ruby-block)
(ruby-block-mode t)
(setq ruby-block-highlight-toggle t)

flymake-ruby

syntax error を検出してくれるflymakeにrubyもつかえるようなので、設定を追加した。

;; flymake-ruby
(defun flymake-ruby-init ()
  (let* ((temp-file   (flymake-init-create-temp-buffer-copy
                       'flymake-create-temp-inplace))
          (local-file  (file-relative-name
                       temp-file
                       (file-name-directory buffer-file-name))))
    (list "ruby" (list "-c" local-file))))

(push '(".+\\.rb$" flymake-ruby-init) flymake-allowed-file-name-masks)
(push '("Rakefile$" flymake-ruby-init) flymake-allowed-file-name-masks)

(push '("^\\(.*\\):\\([0-9]+\\): \\(.*\\)$" 1 2 nil 3) flymake-err-line-patterns)

(add-hook 'ruby-mode-hook
          '(lambda ()

             ;; Don't want flymake mode for ruby regions in rhtml files and also on read only files
             (if (and (not (null buffer-file-name)) (file-writable-p buffer-file-name))
                 (flymake-mode t))
             ))

素直にTextMateやRedcarつかうのが良いのかもしれないが、emacsでやる。

daemontoolsで勝手にプロセスが終了していたという悲しい状況を防ぐ


投稿日:2011年1月13日(この記事を読むのに必要な時間: 約 5分15秒

Ruby1.9スクリプト(Twitterbot)をLinuxデーモン化する方法

にて、Rubyスクリプトをデーモン化して、簡単に自動起動と停止できるようにしました。

ですが、何らかの影響で、Rubyスクリプトが終了してしまった場合にスクリプトが落ちたままになってしまいます。これは精神衛生上非常に良くない。

今回は、daemontoolsを使用して、プロセスが終了しても自動的に立ち上げ直す状態をつくります。

→ «daemontoolsで勝手にプロセスが終了していたという悲しい状況を防ぐ»" class="more-link">続きを読む «daemontoolsで勝手にプロセスが終了していたという悲しい状況を防ぐ»

達人プログラマーに学ぶ リファクタリング


投稿日:2011年1月12日(この記事を読むのに必要な時間: 約 4分25秒

達人プログラマー 第6章 コーディング段階 p.188

ガーデニングのメタファーはソフトウェア開発の現実にかなり近いものです。あるルーチンが大きくなりすぎたり、色々なことを実現しようとしすぎている場合、2つに株分けする必要があるのです。また、計画通りうまくいかないものは雑草を抜いたり剪定してやらないといけないのです。

こういったコード記述のやり直し、再作業、再設計を総称して「リファクタリング」と呼びます。

アンドリュー ハント¥ 3,990

Amazonで詳細を見る by AmaGrea

→ «達人プログラマーに学ぶ リファクタリング»" class="more-link">続きを読む «達人プログラマーに学ぶ リファクタリング»

Ruby1.9スクリプト(Twitterbot)をLinuxデーモン化する方法


投稿日:2011年1月10日(この記事を読むのに必要な時間: 約 11分19秒

Ruby 1.9系からRubyスクリプトをデーモン化するのが1行できるようになりました。

→ «Ruby1.9スクリプト(Twitterbot)をLinuxデーモン化する方法»" class="more-link">続きを読む «Ruby1.9スクリプト(Twitterbot)をLinuxデーモン化する方法»

Ruby Enterprise EditionによってRedmineのメモリ使用量を42%節約


投稿日:2011年1月9日(この記事を読むのに必要な時間: 約 9分14秒

昨日インストールしたRedmineですが、格安VPSで動かすにはちとメモリを使いすぎる。

Ruby Enterprise Editionでpassengerを動かして、45%ものメモリを節約することに成功した。

その一部始終を語ろう。

→ «Ruby Enterprise EditionによってRedmineのメモリ使用量を42%節約»" class="more-link">続きを読む «Ruby Enterprise EditionによってRedmineのメモリ使用量を42%節約»