2007-01-01から1年間の記事一覧

setgid ビットがディレクトリにある場合

あるディレクトリの setgid ビットが立っている場合、そのディレクトリ上で作られたファイルのグループは、そのディレクトリのグループと同じになる。(通常は、ファイルを作った人のグループが新しいファイルのグループとなる)はまったのでメモ。Secure Pr…

sqlite3 でデータエクスポート&インポート

sqlite3 で データのエクスポート&インポートしようとしたが、意外と情報が少なくて難渋した。そこでここにメモする。 情報ソース SQLiteのドットコマンド .help や .schema 等 "." ではじまるコマンドのリファレンス。 エクスポート たとえばタブ区切りで…

らくらく BASIC 認証 on Rails

趣旨 Rails アプリでプロトタイプを作ったときに、BASIC 認証を掛けて限定公開したいと思うときがあるかもしれない。ところが Rails ではそれが案外難しい。Apache をかませないと BASIC 認証ができないからだ。そこで WEBrick を使って BASIC 認証を行うよ…

誰もが嫌がる仕事なんて本当にあるのだろうか?

blog 界の平成痛快男・dan kogai。しかしこのエントリにはかすかな違和感を感じた。 しかし、誰も好きになれないのに、誰かがやらなければならない仕事は現に存在する。私が好きを貫いて書評する本を届けてくれる宅配のおねーちゃんやおにーちゃんは好きを貫…

emobile に地下エリア拡大計画?

昨日、電波を地下にも通さないうちに高速化だけを発表した emobile に怒りをぶちまけたが、その後、Google 様を検索するうちに次のような記事が見つかった。 地下鉄やビジネス街・屋内を含むエリア拡充のために、Huaweiと新たな契約を行ったようです(地下・…

emobile よ、その前にやることがあるだろう?

PCデータ定額をはじめる Au への対抗心アリアリ。 イー・モバイルは26日、HSDPA方式を利用した無線データ通信サービス「EMモバイルブロードバンド」の最大通信速度を、現在の倍にあたる 7.2Mbpsに高速化すると発表した。提供開始日は12月12日で、利用には専…

trac の設定

自分自身へのメモ trac は基本的に BASIC 認証で使う htpasswd ファイルを使ってユーザ管理をしている。(apache の htpasswd コマンドでユーザー追加) apache で上記の htpasswd ファイルを使ってログイン画面へ BASIC 認証を仕掛ける。 英語を面倒がらずに …

CentOS 4.5 に Apache 2.2.6/Subversion 1.4.5/Trac 0.10.4 をインストール

趣旨 CentOS 4.5 に Apache 2.2.6/Subversion 1.4.5/Trac 0.10.4 を入れようとしてハマリまくったのでメモ。結論からいうと CentOS 4.x では yum で新しいパッケージが入れられないので、ソースコードからコンパイルするしかないようだ。さもサクッと入れら…

GETA-Ruby プラグイン公開

趣旨 GETA を Ruby を使って操作する GETA-Ruby ブリッジを作ってみた、というのが昨日までの話。そこで今度は Rails プラグインを作ってみた。Tar ball でインストールするよりはるかに簡単だ。Rails 使いの方は是非試してみてほしい。 前提条件 GETA 第2版…

3分でできる GETA 2 インストール

カンタン・インストールのススメ GETA 第2版はもともと第3版よりインストールが簡単だ。普通に GETA 本家からソースコードを取得して INSTALL ファイルを読みながらインストールしてもいいのだが、こんな小さな問題もあり、知らないと微妙に時間がかかってし…

楽しい GETA はお好きですか?(GETA-Ruby ブリッジ公開)

趣旨 GETA を Ruby を使って操作する GETA-Ruby ブリッジを作ってみた。Ruby の拡張ライブラリの勉強も兼ねてのことだ。久しぶりの C プログラミングだったが、Ruby の拡張ライブラリの書きやすさは異常。まつもとさんのプログラミングしやすさへのこだわり…

GETA 第2版 連想計算関数 wsh() の歩き方

趣旨 GETA 2 を使って連想検索を行う上で、もっともコアになる関数が libae.a にある wsh() である。しかし使い方がなかなか厄介である。ネットを探しても情報が少ないので、結局、$GETASRC/lib/ae/wsh.c というソースコードの解読を試みた。wsh.c には wsh(…

GETA 第2版 類似度定義ファイルの実装

昨日 GETA 第3版のインストールについて説明しておいて、今日はなんで第2版か?と思うかもしれないね。第3版は、情報が少ないのでなかなか扱いが大変なのだ。第3版の方が性能はいいのは間違いないので、とりあえずは第2版で慣れておいて、第3版へ挑戦しよう…

Linux ユーザーのための GETA 第3版インストール方法

汎用連想計算エンジン(GETA) は、大量のデータを高速に処理可能な高性能連想検索エンジンである。これを BSD 風のライセンスで自由に使わせてくれている国立情報学研究所は太っ腹なのだが、どうも私にはインストールが敷居が高いように感じられた。最近、最…

Debian sarge => etch のアップグレード

かなりビビッていたのだが、Debian GNU/Linux 4.0 ("etch") 以前のリリースからのアップグレードの方法の通りにしたらあっさりできてしまった。私の VMWare 上の Linux は X-Window を使わない小さいシステムだったから簡単だったのかも。ネットの情報を見る…

カーネルパッケージを間違って削除してしまったら・・・

Debian sarge (Linux 2.4.27) で、aptitude を使って、gcc を無理にアップグレードして、kernel を消してしまった。すると再起動すると、Linux が立ち上がらなくなってしまった。一瞬唖然としたが、結局バックアップから次のファイルを取得し、KNOPPIX CD か…

jpeg-6b の 共有ライブラリ(*.so)のインストール

FreeType を導入し、バインドするために、ImageMagick の再コンパイルを行った。以前、RMagick インストールというエントリで、 % ./configure CPPFLAGS="-I(jpeg-6b_dir)" LDFLAGS="-L(jpeg-6b_dir)" % sudo make install CPPFLAGS="-I(jpeg-6b_dir)" LDFLA…

漢字だけを抜き出す Ruby の正規表現

すべての漢字を取り出す正規表現がとても参考になった。結局次のような単純なコードでよいらしい。 (文字コードは UTF-8 を仮定) $KCODE = 'u' require 'jcode' puts 'aA0&!漢字です'.gsub(/[^一-龠]/, '') # => "漢字" ミソは、$KCODE = 'u' して require…

dRuby を使って Excel ファイルの中身を配信

趣旨 私は Windows (ホストOS) + VWMare 上の Linux(ゲストOS) という構成で開発を行っているのだが、どうしても Linux 側から Excel ファイルを読みたくなった。そこで、dRuby を使って Windows 側から Excel ファイルの中身を読み出す Ruby プログラムを書…

dRuby ではサーバ側のホスト指定をしないほうがいい

Java の RMI みたいな分散コンピューティング技術である dRuby。これを使おうとしてはまったポイントがあったのでメモ。 dRuby 自体は涙が出るほど使うのが簡単。たとえば、同じマシンの上で、server.rb と client.rb と2つ実行ファイルを用意しよう。 # ser…

Rails::Generator について

いま Rails::Generator のクラス群を見直していたのだが、自分でGenerator の歩き方などというエントリを書いておきながら早くも理解不能になっていてびびった。ここで、自分自身への備忘の意味でエントリを記す。(自己中なエントリですんません)Generator…

テストで特定メソッドでのみフィクスチャを読み込む

テストにフィクスチャ(テストデータ)は欠かせない。普通、次のように使う。 class FooTest < Test::Unit::TestCase fixtures :foos, :bars # 読み込む対象のフィクスチャを指定 end こうするとテストのメソッドが呼ばれる前に test/fixturs にあるフィクス…

ActiveRecord::Base の setter メソッドの謎

仕事仲間から ActiveRecord::Base#[:属性名]= と ActiveRecord::Base#(属性名)= の違いをたずねられた。 そこでちょっとしらべてみた。たとえば Entry という AR クラスがあるとして、そこに title という属性があるとしよう。 entry = Entry.find(:first) e…

Lightweight Language AHP : おすすめ軽量言語診断

Lightweight Language AHP : おすすめ軽量言語診断に触発されてやってみた。結果は、 elm200 さんにオススメの LL は Ruby (51%) > Perl (21%) > Python (14%) > PHP (13%) です! ちなみに Ruby 作者のまつもとさんは、 matz さんにオススメの LL は Ruby (…

添付ライブラリの CSV クラスで標準入力からデータを受け付けるようにする

趣旨 Ruby 標準添付ライブラリの CSVクラス は CSV ファイルの読み書きに便利である。ただ残念なことに標準入力からデータを受け付けてくれない。UNIX のフィルタ的コマンドを作ろうというときには、不便だ。 そこで、標準入力からデータを受け付けるような…

TestDisk を使ったパーティションの復活

私の使っている PC の VMWare 上 の Linux のディスク容量が残りわずかになったため、自分が以前書いた VMWare 上の Linux ディスクパーティションを拡大する というエントリを参考にしながら、パーティションの拡大を企てた。しかし、である。パーティショ…

安全なログローテーション

ログローテーションの落とし穴 Rails でのデフォルトのロガーは、Ruby 標準添付の Logger クラスを少し変えたものである。ログのサイズが大きくなったとき、サイズやら日付やらを基準にログのアーカイブ化を行う(ログローテーション)することが多い。一番…

Excel ファイルの内容を Ruby を使って高速取得する

Rails には直接関係ない小ネタをひとつ。Excel の中身を Ruby のプログラムから参照したいことがある。これは、次のように実現できる。win32/clipboard と win32ole という2つのライブラリを使う。 require 'rubygems' require "win32/clipboard" require 'w…

頭の固いおじさまには、ご隠居願えないものかなあ

ちょっと気を抜いて、気楽に雑文を書くね。ANY って知ってる?朝日・日経・読売の3新聞が共同でニュース配信サイトを作るとか。 (ANY て朝日・日経・読売の頭文字だよね?やれやれ・・・センスないなあ)基本的には、池田センセの新聞社サイトの囲い込み競…

データベースからテストフィクスチャを抽出する(to_yaml 不使用)

ar_fixtures の出力はなんだかダサくない? データベースから yaml 形式のフィクスチャを抽出するプラグインとしては、ar_fixtures がある。さっきインストールして使ってみたけど、どうも yaml の出力が気に入らない。たとえば次のような感じになってしまう…