フォーチュンサモナーズ
最新 追記

Don'tStopMusic

2003|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|12|
2006|01|02|03|04|05|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|

カテゴリ別 2003年 | 2004年 | 2005年 | 2006年 | 2007年 | 2008年

知り合いサイト: よんだもの / 暴想 / Linuxでやる夫 / 新宿Vipper / 僕だけが幸せになればいいのに。


2006-10-01 この日を編集

_ [Ruby]すごま このエントリーを含むブックマーク

Python Library Reference をざっと眺めてみました。メソッドの説明などを読んだ限りでは、内容の質の面では Ruby リファレンスマニュアルが劣っているわけでもないなというのが感想です。

比較して Python のそれが良い点は、

  • (おそらく)一通りのライブラリが網羅されている
  • 書きかけの項目が(見た限りでは)ない
  • ナビゲーションリンク、モジュール索引、索引などがあり検索性がよい

といったところでしょうか(マニュアルとして当たり前なところですね)。この辺は今回の整備で解消されるはず。

ドキュメントの話とはずれますが、CPAN を使っていて思うのは、一箇所で済むのは楽だということです。ドキュメントやプログラムが集約されている場として、リファレンスマニュアル、るびま、RAA、RubyForge などがありますが、CPAN のような「そこでだけ調べれば良い感」のあるサイトがほしいですね。


2006-10-06 この日を編集

_ [Ruby]google code search このエントリーを含むブックマーク

env 派は結構多い模様。ただ、Ruby に関しては、捕獲されているコードの絶対数が少ないような気がします。


2006-10-08 この日を編集

_ [Rails][システム管理]FiveRunsに期待してみた このエントリーを含むブックマーク

日本全国7万3000人(適当)のシステム管理者のみなさん、あなたのサーバとシステムを守るために何をしていますか?

  1. 何もしていない。なので、ユーザからクレームの電話が来るまで問題が起きたことに気づかない。困ってから慌てて sar を叩いたり、ログファイルを漁る。どのサーバに異常が起きたかを調べるのに、紙のドキュメントや Excel 表をひっくり返す。
  2. 24 時間目視で異常がないかを確認……
  3. mrtg などで sar の値やトラフィックをグラフ化、閾値を超えたらメールを送るスクリプトを自作している。サーバリストを Wiki や自作アプリで管理。
  4. Nagios や自作のモニタリングツールを利用。ハードウェアのリソースだけでなく、アプリケーションレベルでの監視を行う。

サーバ運用部門がいて強力なバックアップをしてくれる、便利な監視ツールなどが揃ったアプリケーションサーバを使っている、運用フェイズも当然契約に入っている業務システム、といったケースと違い、新しいウェブサービスを立ち上げようという場合には、自分たちで管理/監視ツールを用意しなくてはいけません。そうしないと夜にちゃんと眠れなくなります。

開発よりもその後の運用の方が大変なわけですが、開発に注力しているときには運用まで気が回らないのが世の常です。後の祭りです。

そこで FiveRuns です。Web 2.0 Systems Management を標榜する FiveRuns では painless な、つまり苦痛を伴わないシステム管理を可能にします。

……とここまで書いて気がついたのですが FiveRuns を使わずにTourだけ見て妄想していました。ということで、ちゃんと使ってレビューします。

_ [Rails][システム管理]FiveRunsを使ってみる (1) このエントリーを含むブックマーク

signup してもアカウントはすぐには発行されません。申し込んでから一日くらいで、30日間のトライアルアカウントのログイン情報のメールが来て使えるようになります。

ログイン画面

ログイン画面はこんな感じです。****.fiveruns.com というサインアップの時に指定したサブドメインの URL にアクセスします。

最初の設定

ログインしたらまずはセットアップです。3 STEP の手順に従って作業を行うと設定が完了します。

STEP 1 はクライアントソフトのインストールです。FiveRuns は管理対象のホストにクライアントソフトをインストールし、サーバへ情報を送ります。賢い方法ですが、業務で使うには抵抗がありますね……Windows クライアントソフトもありますので、試しに使うなら自宅のデスクトップにインストールしてみるのも手です。

クライアントソフトは、Mac OS X、Linux(RPM)、Linux(RPM 以外)、Intel Solaris、Sparc Solaris、Windows 版が用意されています。インストーラつきなのが嬉しいところです。ダウンロードページは Javascript が使えるブラウザでないとたどり着けませんので、手元のデスクトップやノートの PC でダウンロードして、サーバにばら撒くのが良いと思います。

インストーラのサイズが 30MB ちょいと大きいのは、クライアントソフトが Java 製で JRE 同梱のせいですね。インストール自体は実行するだけですぐ終わります(Gentoo Linux と Debian GNU/Linux 3.1 と Windows XP で試しましたが問題なくインストールできました)。

管理対象を選択

クライアントソフトをインストールしたら STEP2 です。管理対象にするホストを選びます。ここでは、OS、CPU の種類、メモリ、ディスクなど基本的な情報が表示されています。Windows だとうまく情報が取れないようですね。うちだけかな。管理対象にしたければ、「Manage this system?」にチェックを入れます。

最後に STEP3 で、サーバをグループ分けします。デフォルトでは OS ごとに分かれますが、本格的に使うなら役割ごとサービスごとに分けるのが良いと思います。


2006-10-09 この日を編集

_ [システム管理]FiveRunsを使ってみる (2) このエントリーを含むブックマーク

クライアントソフトのインストールと管理対象を選択すれば使い始めることができます。もちろんクライアントソフトをインストールさえすれば後からでも管理対象のホストは追加できます。

Global View

Global View

システムの健康状態を人目で確認できます。グループ/ホストごとのイベントの発生件数、イベント一覧、Availability (稼働率?)などが表示されています。

スクリーンショットの右上に Messages という枠があるのが分かると思います。FiveRuns はいくつかのアプリケーションをサポートしており、それに特化した監視もしてくれます。いまのところ、Apache 2.x、MySQL 5.0.x、JBoss AS 4.0.x、Tomcat 5.5.x に対応しています(MySQL 4.x も認識してくれます)。FiveRuns ではこういったアプリケーションを Subsystem と呼んでいるようです。

subsystem の選択

Add your MySQL, Apache systems といったリンクをクリックすると、最初の設定の STEP2 で見たホストごとの設定画面に飛びます。ここで Subsystem を監視対象にするのかを選択します。

ヘルプ

Apache を監視可能にするには mod_info や mod_status の設定が必要だったりと Subsystem ごとに設定が必要ですが、丁寧なヘルプがあります。

System Browser

CPU 負荷やトラフィックといったリソース情報をグラフで確認できます。Mac OS X のファインダみたいにして表示対象を絞り込みます。

apache

Apache では、Error Responses/sec, Requests/sec, Capacity(何だろう), Page Response Time の 4 項目があります。前者二つは mod_info や mod_status を有効にしていないとログファイルの場所が規定のパスでないと採れない模様。

Linux

Linux では、CPU Busy、Available Memory, Memory Page-in Swap per Sec., Memory Page-out Swap per Sec., Disk Transfer Speed (AVG), NIC - Total Bandwidth があります。NIC ごとにグラフ化してくれるのかは不明。I/O Busy もあるといいのに。View:All にすると、とれそうなデータはすべて確認できることがわかりました。これはすばらしい。

MySQL

MySQL では、Buffer Pool Free, Tables waiting for Locks Count, Active Threads, Queries/Sec (Avg), Key Buffer Used(%), Open Client Connections, QCache Free Memory(%), QCache Hit Rate, Innodb TX Count, Tables Open などがありますが、MySQL に詳しくないので適切な項目なのかは良く分かりません。


2006-10-11 この日を編集

_ [Ruby]日本Rubyカンファレンス2007 このエントリーを含むブックマーク

今度は参加したいなあ。

ちょっと気の早い話になりますが、日本Rubyカンファレンス2007を 来年6月9日〜10日に行う予定です。


2006-10-12 この日を編集

_ [Ruby]文章書きの参考になるページ このエントリーを含むブックマーク

通称るりまになったのかな? Rubyリファレンスマニュアル刷新計画用にブックマークから探してみました。リファレンスマニュアルの書き方というサイトはさすがになかった。典型的な後で読む状態なので読まないと。


2006-10-13 この日を編集

_ [Ruby]るりまオフライン検討会 このエントリーを含むブックマーク

用事があるので参加できず。残念。


2006-10-14 この日を編集

_ [Ruby]Code Golf このエントリーを含むブックマーク

Code Golf をはじめてみました。今のところ、99 Bottles Of Beer を Ruby で書いて 229 bytes です。Ruby でトップの人が 183 bytes なわけですが、どうやって縮めてるんだろう。まずは 200 bytes 切るのを目標にします。

しかし、楽しいですね、これ。可読性なんてまったく無視してとにかく短く書くというのは。パズルを解くのに似ている感じ。


2006-10-17 この日を編集

_ [CodeGolf]Home On The Range このエントリーを含むブックマーク

まずは入力を数字の配列にして後は長いメソッドチェーンが一つというコードを書いたら、一応 pass はしたものの 194 bytes と膨れ上がりました。配列操作だけで片付けずに端から順番に処理していく方が短くなるんでしょうね。

追記

ロジックは変えずに collect を map にしたりなど表現の置き換えをしたところ、164 bytes まで減りました。


2006-10-24 この日を編集

_ [Ruby][るりま] 第二段階に参加する準備 このエントリーを含むブックマーク

通称「るりま」ことRuby のリファレンスマニュアルを刷新するプロジェクトですが、いつのまにか第二段階になっていました(いや、私が ML を読むのをさぼっていただけなのですが)。

第一段階では、リファレンスマニュアルのソースを旧形式 (rwiki) から新形式 (bitclust) への変換を行いました。この第二段階ではマニュアルのソースに足りていない項目を補完します。

準備作業は青木さんの書いた第 2 段階の作業方法の通りですが、ちょっとメモっておきます。

必要なソフトウェア

少なくとも以下のソフトウェアがインストールされている必要があります。

  • CVS
  • subversion
  • Ruby 1.8.5
  • 使い慣れたエディタ(私の場合 vim を意味する)

前提条件みたいなもの

  • ruby-reference-manual MLに参加している
  • 青木さんに svn のアカウントを作ってもらっている
  • 少々の時間と Ruby に関する知識とやる気

準備手順

作業用ディレクトリ作成

適当に作業用のディレクトリを作ります。ここでは rubydoc とします。

$ mkdir rubydoc
$ cd rubydoc
bitclust の checkout

新リファレンスマニュアル用のプログラムを svn レポジトリからチェックアウトします。

$ svn co http://i.loveruby.net/svn/rubydoc/bitclust/trunk bitclust
リファレンスソースの checkout

新リファレンスのソース(これが作業する対象)を同じくチェックアウトします。

$ svn co http://i.loveruby.net/svn/rubydoc/doctree/trunk refm
BitClust データベースの作成

ここからが手順書に書いてある内容です。

$ bitclust/bin/bitclust.rb -d ./db init version=1.8.5 encoding=euc-jp
$ bitclust/bin/bitclust.rb -d ./db update --stdlibtree=refm/refm/api/src

この段階で rubydoc ディレクトリ以下には、

$ ls
bitclust db refm

の 3 ディレクトリが存在します。

各バージョンの Ruby を用意

1.8.0 - 1.8.5、安定版 HEAD、開発版 HEAD の 8 つをダウンロード/チェックアウトします。これを src ディレクトリに置くとします。

$ mkdir src
$ cd src
$ for i in 0 1 2 3 4 5;do wget http://www.t.ring.gr.jp/archives/lang/ruby/1.8/ruby-1.8.$i.tar.gz; tar fvxz ruby-1.8.$i.tar.gz; done
$ wget http://www.t.ring.gr.jp/archives/lang/ruby/snapshot.tar.gz
$ tar snapshot.tar.gz && mv ruby ruby-1.8 # 安定版 HEAD
$ cvs -d :pserver:anonymous@cvs.ruby-lang.org:/src login
$ cvs -z4 -d :pserver:anonymous@cvs.ruby-lang.org:/src co ruby # 開発版 HEAD
$ mv ruby ruby-1.9.0
$ rm *.tar.gz
各バージョンの Ruby の rdoc 作成

さらに rdoc データベースを作成します。

$ for i in 1.8 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9;do rdoc --ri --op ris/$i ruby-$i;done

これで準備完了です。

rubydoc ディレクトリ以下には、

$ ls
bitclust db refm src

の 4 ディレクトリが存在します。

追記

1.8.4 以下だと BitClust の一部コマンドが動かない(rdoc 関係)ので「必要なソフトウェア」を修正しました。


2006-10-26 この日を編集

_ [ネットサービス]Google Co-op Custom Search Engine このエントリーを含むブックマーク

試しに Ruby 関連のいくつかのサイトだけ検索対象とした検索エンジンを作ってみました。Google のアカウントを持っていれば数分で作れます。簡単。

基本的には全文検索エンジンを自前で用意する代わりに使われていくのでしょうね。検索ボックスだけでなく検索結果も自分でデザインしたページに埋め込めますし、確実に全ページを検索対象にしたいとか、ページが更新されたら 5 分以内に検索対象にしたいとか、特定のページだけ対象外にしたいといった細かい制御が必要でなければ十分かな。

単純な検索以外の活用方法が色々発見されるかも。例えば、特定の語句の検索結果ページをその語句の索引ページとして使うとか。

Google Co-op は特定の領域の不特定のサイトを対象とした検索も目的にしているので(というかこっちがメインかな)、検索対象を追加したりなどエンジンのカスタマイズ作業を複数人で協力してできるようになっています。例えば、試しに作った Ruby 検索エンジンに「プログラミング言語 Ruby」に関連するサイトだけ登録していけば、宝石の Ruby やハンドルネームの Ruby を含まない、ノイズの少ない専門検索ができます。

一方、閉じた検索エンジンになってしまうので、Perl の人や Python の人が Ruby について触れた記事は検索できないというデメリットも生じます。やはりそこのフォローもあって、登録サイトだけを検索対象とするのではなく、登録サイトで検索結果へバイアスをかける設定にもできます。そうすれば、「プログラミング言語 Ruby」関連サイトは上位に出やすいけれど、それ以外も検索結果に出るようになります。

_ [RubyForge]RubyForge がリニューアル? このエントリーを含むブックマーク

railschat で知りましたが、RubyForgeのトップページがリニューアルされていました。黄色と赤でちょっと目が疲れます……ちなみにログイン状態ではおなじみの灰色ページのままです。しかしいつのまにかプロジェクト数も 2000 を超えてたんですね。


2006-10-29 この日を編集

_ [ネットサービス] Gmail は件名を変えて返信すると In-Reply-To をつけてくれない このエントリーを含むブックマーク

Gmail は件名を変えて返信すると In-Reply-To をつけてくれないことが分かりました。yarv-devで上手く bug のステータスを変えられないのはこれのせいですね……

これって良く知られた仕様なんでしょうか。Gmail は同じ件名のメールをスレッドとみなしているが故の仕様なのかな。回避策を知っている人がいたら教えてください。

_ [るりま]第二段階やることメモ このエントリーを含むブックマーク

必修

  • 足りないメソッドエントリの追加

選択

  • since に置き換え可能な if を修正
  • since 1.7.0 は since 1.8.0 に修正(安定版だけ考慮)
  • クラスが途中で追加されたことを src/LIBRARIES と since で記述
  • ((<ruby 1.x.x feature>)) の削除(#@if/#@sinceがあるので)
本日のツッコミ(全1件) [ツッコミを入れる]

_ ささだ [あぁ、そんな罠だったんですねぇ。こちらでなんとかできないか検討します。]


2006-10-30 この日を編集

_ [Ruby]Ruby のロゴ このエントリーを含むブックマーク

RubyInside によれば、Ruby Logos Available to Download ということで、今の公式サイトに使われているロゴをダウンロードできるようになりました。

このロゴを使ったステッカーがほしいですね。ノートパソコンに貼り付けたいです。


最近のコメント:

  1. ささだ (10-30)

RSS
Creative Commons License
This work is licensed under a Creative Commons License
(note: text only. w/o web design, citations, (re)distributed softwares).