タグ

ブックマーク / blog.kyanny.me (3)

  • rbenv のメカニズム - @kyanny's blog

    rbenv 環境下で実行された Ruby プログラムの中から他の Ruby プログラムを起動するときに、 rbenv 環境をリセットしたい―要するに別のバージョンの Ruby で外部プログラムを実行したい―という事情があったので rbenv のメカニズムについて調べた。 rbenv 環境下で ruby コマンドを実行するとき、実際にコンパイルされた ruby バイナリが直接実行されているわけではない。 rbenv 環境をお膳立てした上で ruby バイナリを exec するラッパーのシェルスクリプトが実行される。こういうものを binstub と呼ぶ。 binstub である ruby という名前のシェルスクリプトの中身をみてみると、最終的に rbenv exec というサブコマンドを呼び出している。 rbenv のサブコマンドはリポジトリでいうと libexec ディレクトリ以下にある。

    rbenv のメカニズム - @kyanny's blog
  • Rails と時刻 - @kyanny's blog

    時刻の扱いは難しい。タイムゾーンを跨ぐと格別に難しい。 Rails を使っていても難しさに変わりはない。むしろ時刻のやっかいな部分を隠蔽してくれるが故に余計にややこしくなることもある。 config.time_zone と config.active_record.default_timezone Rails アプリケーションで時刻を司る代表的な設定値は config.time_zone と config.active_record.default_timezone だ。いずれも config/application.rb で設定できる。詳細は Ruby on Rails Guides: Configuring Rails Applications 参照。 config.time_zone でアプリケーションのタイムゾーンを設定する。デフォルトでは UTC になる。日向けのウェブサイトで

    Rails と時刻 - @kyanny's blog
  • Cocoa Emacs のディレクトリ以下に Mew をインストール - @kyanny's blog

    Mew が cannot load file とかのエラーで起動できなくなった。 load-path をチェックしてみるも、ちゃんと /usr/local/share/emacs/site-lisp/mew とかは含まれている。 /Applicatoins/Emacs.app/Resources/site-lisp 以下とかにないとまずいのかな、と思って、 /usr/local/share/emacs/site-lisp/mew 以下は全部消して、コンパイルからやり直してみる。 configure オプションは以下のようにした。 Emacs.app は、 cvs co してきた emacs を --with-ns でコンパイルしてできた Emacs.app をふつうに Finder で「アプリケーション」フォルダへコピーしただけ。 Finder からはプログラムアイコン一つにみえるけど s

    Cocoa Emacs のディレクトリ以下に Mew をインストール - @kyanny's blog
  • 1