タグ

ブックマーク / naruhodius.hatenadiary.org (4)

  • 複数の Python, Ruby を併用する。 - D.

    python 3.x 系及び ruby 1.9.x 系を利用したい。 とはいっても、現行のバージョン (python 2.x 系及び ruby 1.8.x 系) も必要である。 そこで、これら両方が共存できる環境を構築した。 Mac OS X の場合は非常に簡単である。 あらかじめ MacPorts で複数入れておいて、port activate/deactivate すれば必要なバージョンに切り替えられる。 Ubuntu や Debian GNU/Linux では、基的には以下の手順で良い。 ビルド時の ./configure で --prefix=/opt/hoge のようにディレクトリを指定する。 update-alternatives にビルドしたパスを登録することで /usr/bin の下にシンボリックが作成され、複数のバージョンを切り替えられるようになる。 ただし、自分の場合

    複数の Python, Ruby を併用する。 - D.
  • zsh ライクな Emacs のミニバッファ補完が素晴らしすぎる件 - D.

    id:mooz さんの zlc.el で Emacs のミニバッファ補完を zsh ライクに が素晴らしすぎるのでさっそく導入した。 http://d.hatena.ne.jp/mooz/20101003/p1 ただし、上記の elisp では Tab キーによる移動しかできない。ふだん zsh で候補一覧を移動するときに C-p C-n C-b C-f といういわゆる Emacs ライクなカーソル移動をしているのでこの動作には違和感があった。 そこで以下のパッチを書いた。 --- a/dot_emacs.d/elisp/3rd-party/zlc.el +++ b/dot_emacs.d/elisp/3rd-party/zlc.el @@ -171,8 +171,12 @@ select completion orderly." (let ((map minibuffer-local-m

    zsh ライクな Emacs のミニバッファ補完が素晴らしすぎる件 - D.
  • 先行ジョブの実行を待つ。 - D.

    ジョブ A とジョブ B はそれぞれ cron で定時に実行される。 ジョブ B はジョブ A より後の時間に実行される。 ジョブ A がまだ実行中の場合はジョブ B はその終了を待たなければならない。 以上の要件を満たすためによくある原始的な手法として、一時ファイルを利用して実行をロックする方法がある。 ジョブ A #!/bin/sh touch jobA.lock hogehoge # 処理 test -f jobA.lock && rm jobA.lock ジョブ B #!/usr/bin/env ruby lock = true while lock if FileTest.exist?("jobA.lock") sleep 10 # 10 秒待つ else lock = false end end hogehoge # 処理 この手の命題をクールに解決する方法は無いものだろうか。

    先行ジョブの実行を待つ。 - D.
  • Java で Web アプリケーションを開発する。(前編) - D.

    環境構築がいちいち面倒なので情報をまとめておく。手早く設定してすぐに開発に取り掛かれるようにしたい。 Java JDK Mac OS X の場合、すでに Java がシステムに組み込まれている。 $JAVA_HOME を /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home に設定する。 $JAVA_HOME/bin にパスを通しておく。 Debian / Ubuntu の場合は apt を使うだけである。 sudo apt-get install sun-java6-jdk Windows の場合は、公式サイトから Sun の JDK をダウンロードしインストールする。 http://java.sun.com/javase/ja/6/download.html インストールする場所はデフォルトのままでも良いが C:

    Java で Web アプリケーションを開発する。(前編) - D.
  • 1