2010-06-21
■ [ruby][memo] 1.9のスレッド
pros
- Tkなどのネイティブスレッドを使うライブラリとの相性が良くなった
- コンテキストスイッチが速い
cons
- スレッドを作ったときにスタックが固定量確保されるので:
- stack level too deepになる限界が早くなった
- (動かさない)スレッドを大量に作った場合にもメモリ消費が大きい
まあどちらかというとFiberの方が活用された気もしますが…
■ [ruby] ruremaコマンドでローカルWebサーバを起動できるようになった
るりまの私家版コマンドラインツール、myruremaをバージョンアップしました。
るりまの公式ツールであるbitclustには、ローカルでサーバを起動して、Web版と同じ画面をブラウザで見られるという機能があります。 今回のバージョンアップで、ruremaコマンドをこれに対応させました。
$ rurema --server --browser
とすると、自動的にサーバが起動し、ブラウザで http://localhost:9292/view/ を開きます。
■ [ruby] 毎回「git」と打つのが面倒な人のためのツール、reposh 0.1.8をリリースしました
便利だと思うんだけど俺以外に使ってる人をみたことないツール、reposhを久しぶりにバージョンアップしました。
reposhは毎回「git」とか「svn」とか打つのが面倒な人のためのツールです。
reposhがない場合:
$ git st $ git add -A $ git ci
reposhがある場合:
$ reposh > [Enter] # 空Enterでgit statusを表示します > add -A > ci
普通のコマンドは「:」から始めます。
> :ls
あと、設定ファイル(~/.reposh.yaml)で俺コマンドを定義できたりもします。 最近はgit svn rebaseを「get」、git svn dcommitを「put」に割り当てています。
どのVCSを使っているかは、.gitや.svnの存在を見て自動的に判定されます。*1
今回のアップデートではgitに対応した(.gitがあったらgitと判定)のと、カレントディレクトリに.git等がない場合は上のディレクトリも見るようにしました。
インストール
(1) gemでインストールする
$ gem install reposh
(2) 必要なら設定ファイルを書く
$ vi ~/.reposh.yaml
サンプルの設定ファイル: http://github.com/yhara/reposh/blob/master/sample.reposh.yaml
(3) プロジェクトのディレクトリに移動し、起動する
$ reposh loaded config file: /Users/yhara/.reposh.yaml Welcome to reposh 0.1.8 (mode: git) >
(4) Enjoy!!
*1 なのでsvnとhgとsvkを使い分けてた時代はとても便利だったんですけど、最近はgitしか使ってないという…