タグ

ブックマーク / rubikitch.hatenadiary.org (8)

  • anything導入のeverything 〜3分で使えるanything.el〜 - http://rubikitch.com/に移転しました

    Emacsを書きました】 anything.elは難しいという印象を持っている人がいるようです。 おそらく、導入しにくいのが原因ではないでしょうか。 anything.elを導入するには、変数anything-sourcesを設定する必要がありました。 しかし、これはもはや過去の話です。 Web検索というのは、ときおり古い情報にひっかかることがあります。 情報は鮮度が命です。 世界は刻一刻と変化しています。 正しい情報を得るには、一次情報に当たるのが最短距離です。 anything.elの一次情報は、開発者である僕のブログの最新記事が一次情報になります。 anything.elを検索したところ、古い情報にひっかあり、惑わされ、それでanything.elは難しいという印象を持たれるのは開発者として意ではありません。 auto-install.elを導入するインターネットにあるLisp

  • テスト駆動開発支援のtest-case-mode.elを使ってみた - http://rubikitch.com/に移転しました

    今更感はあるが、最近テスト駆動開発支援Emacs Lispのtest-case-mode.elが発表された。 http://nschum.de/src/emacs/test-case-mode/ M-x auto-install-batch test-case-mode でインストール。 こんな感じ。 テスト成功のグリーン、失敗のレッドなどの信号をモードラインに表示させる バッファが変更されたら信号も対応して変わる テストを実行して、失敗したら、その行へM-x next-errorとM-x previous-errorで飛べる assert関数群に色がつく JUnit, CxxTest, CppUnit, Python(PyUnit), Ruby (test/unit)に対応 テストコードを自動判別して、テストコードならばtest-unit-modeを有効にする 設定 以下の.emacsに

    soh335
    soh335 2010/05/01
  • その発想はなかった! 新しい自動バイトコンパイルでEmacsを高速化する - (rubikitch loves (Emacs Ruby CUI))

    Emacs Lispをバイトコンパイルすると動作が高速化するのは常識である。しかし、バイトコンパイルには致命的な欠点があって、Lispファイルの方がバイトコンパイルファイルよりも新しい場合は、古いバイトコンパイルファイルが読み込まれてしまうのだ!!そのため、Lispファイルを更新したらバイトコンパイルしておかないといけない。 このどうしようもない仕様をなんとかするべく、自動バイトコンパイルで自衛をしている人はけっこういると思う。というか、自動バイトコンパイルがないと絶対に泥沼にはまってしまう。 自動バイトコンパイルとは、Lispファイルを保存したときに after-save-hook をつかって自動でバイトコンパイルをするというもの。しかし、これだとバイトコンパイル中は待たされてしまう。シングルスレッドの悲劇。 Emacsで同時に複数の処理を実行するには、タイマーを使うか、外部プロセスに任

    その発想はなかった! 新しい自動バイトコンパイルでEmacsを高速化する - (rubikitch loves (Emacs Ruby CUI))
    soh335
    soh335 2010/01/10
  • 僕たちが待ち望んでいたRubyスクリプトをデーモン化する方法 - http://rubikitch.com/に移転しました

    Rubyでは、簡単にデーモンが記述できる。その方法は簡単!Ruby 1.9だと Process.daemon と書くだけだ。その行の後は制御端末が切離され、デーモンとして実行される。Ctrl+Cで終了できないので、永遠に実行を続けるスクリプトは「pkill -f」などで殺す。 既存のスクリプトをデーモン化するには、この一行を加えればいいだけなのだが、常にデーモンにしてしまうとデバッグが困難になってしまう。そこで、テスト時はふつうに実行して、普段はデーモンにしてしまえばいい。その方法もまた簡単!上の一行を daemonize.rb というファイルに保存すればいい。だけどこれだけだとつまらないので、ついでにRuby 1.8にも対応させてみる。 if Process.respond_to? :daemon # Ruby 1.9 Process.daemon else # Ruby 1.8 req

    僕たちが待ち望んでいたRubyスクリプトをデーモン化する方法 - http://rubikitch.com/に移転しました
    soh335
    soh335 2010/01/09
    簡単ー
  • Rubyリファレンスマニュアル刷新計画(るりま)をanything.elで検索して生産性を向上する - http://rubikitch.com/に移転しました

    最近Rubyリファレンスマニュアル刷新計画(るりま)を更新してなかったので状況が変わっていた。今ではsvnリポジトリを使ってドキュメントが作成されている。ドキュメントのデータを除いてみたら拡張RDで書かれている。Ruby リファレンスマニュアルを Emacs で参照・ anything.el との連携(改訂版) - http://rubikitch.com/に移転しましたではReFe2を呼んでいたが、直接RDを読み込んだほうが効率的なのでここに新しい方法を示す。こんな感じになる。 準備 まずは、るりまのリポジトリをチェックアウトする。 ~/compile/rurima以下に展開するものとする。 $ cd ~/compile; mkdir rurima; cd rurima $ svn co http://jp.rubyist.net/svn/rurema/doctree/trunk rub

  • Ruby リファレンスマニュアルを Emacs で参照・ anything.el との連携(改訂版) - http://rubikitch.com/に移転しました

    前回の Ruby リファレンスマニュアル(通称るりま)と ReFe2 をインストール・ Emacs で参照する・ anything.el との連携 - http://rubikitch.com/に移転しました では欠点があったのでより強化してみた。 ライブラリのリファレンスが見られるようになった 「 Enumerable#map 」などの別名のエントリも作るようになった ライブラリ名、クラス名、メソッド名が一箇所になるように目次を作成した refe2x コマンド ReFe2 よりも bitclust コマンドを使う方がより詳細な説明が出ることが判明。それに ReFe2 だとライブラリのリファレンスが見られないようだ。 bitclust ならば見られる。なので、拙作 refe2 コマンドを改訂して refe2x コマンドを作成した。以下からもってけ! refe2x コマンドの BITCLUS

    Ruby リファレンスマニュアルを Emacs で参照・ anything.el との連携(改訂版) - http://rubikitch.com/に移転しました
  • GNU Screenは古いの? - http://rubikitch.com/に移転しました

    時代はGNU screenからtmuxへ - Dマイナー志向 「GNU screenはもう古いので皆さんtmuxへ移行しましょう」という強烈な煽り文句が書いてあるので気になる。 とはいえ、マルチバイト文字が化けたり消えたりするんだったら、日人としては使えないんじゃないか? 俺は tscreen というGNU Screenのfork版を使っている。オリジナルにはない機能があったり、バグが修正されていたり。 GNU ScreenにはGNU/Linuxを使い始めた直後ということは13年以上もお世話になっているので、おいそれと乗り換えるわけにはいかない。GNU Screenに依存したスクリプトけっこうあるし。とくに不満があるわけでもないし。 追記 GNU Screenでも縦分割はできる。しかし、evalコマンドに致命的なバグがあったため、最新版GNU Screenではなくて、tscreenに移行

    GNU Screenは古いの? - http://rubikitch.com/に移転しました
  • Ruby 1.8.7で使えるようになったRuby 1.9のメソッドたち - ’(rubikitch wanna be (a . lisper))

    Ruby 1.8.7ではRuby 1.9からのbackportがとても多い。つまり、Ruby 1.9のあのメソッドがRuby 1.8でも使えるようになったということだ!! これがすごいという機能がもりだくさん、ちょっと大人になったRuby 1.8をお楽しみに。 Enumeratorは組み込みになり、eachなどのイテレータメソッドはブロックをつけないとEnumerable::Enumeratorを返すようになった。おかげでブロック付きメソッドの柔軟性が飛躍的にアップ! expectationsテスティングフレームワークによるテストで書いているので「gem install expectations」してから実行してみよう。手軽にユニットテストが書けるからおすすめ。書式は…見ればわかるよねw ChangeLogで現在からRuby 1.8.6リリースまでを読んだので、ほとんどカバーしていると思わ

    Ruby 1.8.7で使えるようになったRuby 1.9のメソッドたち - ’(rubikitch wanna be (a . lisper))
    soh335
    soh335 2008/05/09
    Ruby 1.8.7ではRuby 1.9からのbackportがとても多い。つまり、Ruby 1.9のあのメソッドがRuby 1.8でも使えるようになったということだ!!
  • 1