zt日記

書いているのは Kazuhiro NISHIYAMA a.k.a. ZnZです。
2001|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|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|11|12|
2006|01|02|03|04|05|06|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|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|
2012|04|05|06|09|

この日記にはツッコミを入れられます。 ツッコミを入れたい日付をクリックすると、フォームが現れます。

xreaでtDiaryを使う方法はxrea.com で tDiary を使う方法インストールメモXREA + tDiary + Namazuをどうぞ。


2003年04月03日(Thu)

[GUI] プッシュボタンの話

Windowsのボタンを押したときに文字も動くというのは初めて使ったWindowsの時に気づいて、それが当たり前かと思っていて、他の環境で文字が動いていないことに気づいたときに驚いたような気が。

[ruby] shim/ruby16/tests/test.rb

ruby 1.8.0 (2003-04-03) [i686-linux-gnu]で実行すると「68 tests, 311 assertions, 1 failures, 4 errors」になって、最初の2つのclosed streamの件はruby-bugs-jaに投げた。3つ目と5つ目はそれぞれMatchData#to_aryとRange#to_aryが無くなったことに対応できていないだけのようなので、削ってしまえばよさそう。4つ目のFailureがよくわからない。ちゃんと調べてからメールしようと思ってると忘れてしまいそうなのでここに書いておいてみる。
  4) Failure!!!
test_yield_nest_2(TC_Proc) [./features/ruby18/tc_proc.rb:68]:
<2> expected but was
<[2]>
  def test_yield_nest_2
    yielded = false
    proc {|x, (y, z)|
      assert_equal(1, x)
      assert_equal(2, y)
      assert_nil(z)
      yielded = true
    }.yield(1, [2])
    assert(yielded)
  end

2003年04月04日(Fri)

[web] リンク切れ

昨日のプッシュボタンの話のところのリンクが切れていた。ちゃんと偽偽夜食日記の部屋にあるJavaScriptのコピー機能を使ってコピーしたURLだったのに。

この日記の下のところからリンクしてますが、クールなURIは変わらない -- Style Guide for Online Hypertextとか。

[tDiary] What's new?

Linuxビボ〜ろくで2003-03-26以降の日記にすべてNEW!がついているのが気になってるんだけど、ずっとNEW!がついたままで、月ごとの方を見てもNEW!が付いている。どういう条件で付いているんだろう?

tDiary Plugin Viewerのバグに気づいたのは原因が気になってWhat's Newプラグインかなと思って確認しようとしたから。What's Newプラグインが入っているというのは確認できたけど、その先(プラグインのソースとか)は見てないので結局原因はわからないまま。

本日のツッコミ(全1件) [ツッコミを入れる]

むとぽん [私のところからだとNEW!はついてませんねぇ。なんでしょう。 クッキーをクリアしたらうまくいくとか?]


2003年04月05日(Sat)

[tDiary] What's new?

今見たらNEW!が付かなくなっていた。ずっと付いていた頃との違いというと200303.htmlと200304.htmlをみたというぐらいしか思いつかないんだけど。

[web] 入力補助とクッキー

tDiaryのツッコミ欄のように次回の入力の手間を省くためにクッキーを使っていると必要以上にユーザを特定できる可能性があるけど、誰も気にしてない?

そのためのP3Pかと思ったけど、そもそもサーバ側に送信せずにブラウザ側に記憶出来ればいいのでP3Pよりいい方法があるのかも。

[cygwin] ~/.cvsignore

*.defを追加。これでshimとかの拡張ライブラリをcheckoutしたディレクトリでコンパイルしているものをcvs updateしたときにも静かに。

[web] ソース表示とXSS

Content-Typeを無視するブラウザがある限りContent-Type: text/plainでのXSSの可能性はあり続けるのですが、それの対策はtext/htmlにしてしまうのでいいとして、w3mlの添付ファイルの扱いのようなものはどうすればいいのかが難しそう。w3ml 0.4-20020625はそれ以外にもXSS対策という点では問題がたくさんありそうですが…。


2003年04月06日(Sun)

[ruby] nバイト以下に安全に切る

IRCでの話より。"あいうえお"[0,5].scan(/.+/) #=> ["あい"]という方法を出してみたけど、今の正規表現の実装で/./が片割れのバイト列にマッチしないということに依存しているので、将来的に使えなくなる可能性が0ではないのがちょっと苦しい。


2003年04月09日(Wed)

[programming] Whitespace

ものすごく読みにくい言語なんですが。

[CSS] Re: 閉じ中括弧の前に";"

省略可能だったような気がする。(調べずに書く系)

[Windows] Re: 一時ファイルディレクトリ

Windows 98まではautoexec.batにset TMP=C:\tmpset TEMP=%TMP%を入れてました。今はD:に変わってますが、Windows XP Homeなのでコントロールパネルで同じように設定してます。

[Emacs] Re: without cadar,caddar

(require 'cl)すればいいはず。本当はadconの中でrequireするべきだと思うんだけど。static-condはstatic.el(APELの一部)で定義されてるみたいだから(require 'static)。auto-loadはautoloadのtypo?

[mail] Re: Bayesian破り出現か?

コメントタグ(って何?)が多ければspamということでいいような気が。

本日のツッコミ(全2件) [ツッコミを入れる]

なかだ [DOSのころから使っていた人には多いんじゃないでしょうか。<\TMP Windowsで勝手に(システムディレクトリの..]

yuu [http://www.w3.org/TR/REC-CSS2/syndata.html#declaration なので..]


2003年04月11日(Fri)

[web] Client side TOC

TOC(Table Of Contents)ってクライアント側で生成できそうな気がするけど、サイドバーとかでそういうことが出来るUAはあるんだろうか?

[ruby] UnboundMethod < Method

ReFeをirb上などで使うのにMethodオブジェクトからドキュメントが出せたら便利かもしれないと思ってrefe-on-irb.rbというのを作っていたら、1.8ではUnboundMethodがMethodを継承しなくなっていたことに気づいた。他にもMethodオブジェクトからクラスやメソッド名を取り出すのがメソッド1つ呼び出すだけでは出来なくて面倒。

本日のツッコミ(全1件) [ツッコミを入れる]

さかい [Amayaにはあったような気がします > TOC生成]


2003年04月12日(Sat) Rubyお花見関西

[off] Rubyお花見関西

寝て起きたらほとんど忘れてる気が…。というわけで他のまとめを書いてあるところを見ながら思い出したのをメモ。ちなみに終電は23時過ぎじゃなくて24時過ぎでした。というわけで家に帰り着いたのは24時過ぎ。
  • 自己紹介。話が広がってなかなか一巡しませんでした。
  • 猫がよってこなかったのは直前になにか(すずめ?たぶん違う)を食べてたから?
  • (略)(フレームのもと:-1)
  • Rubyの話、Rubyの話…
  • せっかくあおきさんがいるんだから…
  • nestした定数のautoloadはあんまりオーバーヘッドもなさそうだし入れてほしい。
  • lib直下に入るtk*.rbはtk/*.rbにならないか?

2003年04月13日(Sun)

[RWiki] RWiki2-installer

要望がたまっていたのでupdate。ruby 1.6のCVS版でしか動作確認してないので、古いバージョンだとgetoptsとかtimeとかuriで問題があるかも。1.6.8より古いバージョンだとtime.rbとuri.rbが標準添付になっていないのでRWiki2自体も問題がありそうなので、これでよさそうな気もする。


2003年04月14日(Mon) ['Just ','another ','Ruby ','hacker,'].sort{|a,b|b[0]%13<=>a[0]%13}.display

[ruby] getopts

getopts(nil, 'foo-bar:')のような「-」を含むオプションが1.6.7だと使えなかった。


2003年04月15日(Tue)

[debian] dhcp client

dhcpcdがなぜかつながらなくなってて大変なことになってしまっていた。モデムの方が悪いのかと思ってWindowsをつないだらちゃんとIPアドレスが取得できたので、dhcpcdが原因と言うことでもうパッケージも消えてることだしということで、dhcp-clientのdebパッケージをWindowsでダウンロードしておいて置き換えたら、つながるようになって一安心。前は/etc/init.d/networkingの中でifupを実行しているのにPATHの設定がなくてcronで再接続できなかったこともあったし、リリースのちょっと前から使ってるからかどうかはわからないけどwoodyのネットワーク周りの自動復帰処理に使うところは不安定なことが多い気がする。


2003年04月17日(Thu)

[Linux] bus error

mmapでSIGBUSがおこるのを発見。ポイントはmmapの第2引数のlengthを大きめにして、「バッファのうち、ファイルに関連づけられていない部分」を作っておくこと。lengthが小さいと範囲外にアクセスしても単なるSIGSEGV。
/* $ gcc -Wall bus-error.c -o bus-error && ./bus-error
 * Bus error (core dumped)
 */
#include <sys/mman.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
 
int main(int argc, char **argv) {
	char *map;
	struct stat stbuf;
	int fd = open(argv[0], O_RDONLY);
	stat(argv[0], &stbuf);
	if((map=mmap(0, stbuf.st_size*2, PROT_READ, MAP_SHARED, fd, 0))==(char *)-1) {
		perror("mmap");
		return -1;
	}
	printf("%x\n", map[stbuf.st_size*2]);
	return 0;
}

[off] Rubyお花見関西 追記

ruby-bugsのSPAMと判定されたメールはもう流さなくてもいいのでは?という話もあったのを思い出した。


2003年04月19日(Sat)

[ruby] blade

ruby-extJump to [ruby-ext: ] Goのところに02146と入れたら1126にとばされるという話が。Integer('02146') #=> 1126を使っている?

[RWiki] The RWiki - Lua

"http:..."というリンクになっていたのでURL:http:...に修正。

本日のツッコミ(全2件) [ツッコミを入れる]

たむら@yodobashi [すんまっそん。ありがとうございました。]

はら [意図してるってことはあり得ないですか、、、ないですね(^^;、、、直しました。]


2003年04月20日(Sun)

[ruby] caller

いつの間にか変わってたので、こんな対応をしてみた。
% cat foo.rb
obj = Object.new
def obj.==(other)
  p caller(1)
end
1 === obj
% ruby16 -vd foo.rb; ruby18 -vd foo.rb
ruby 1.6.8 (2003-03-26) [i686-linux]
["foo.rb:5:in `==='", "foo.rb:5"]
ruby 1.8.0 (2003-04-14) [i686-linux-gnu]
["foo.rb:5:in `=='", "foo.rb:5:in `==='", "foo.rb:5"]
%

2003年04月21日(Mon)

[Linux] passwd -l foo

samba専用ユーザのようなログインに使わないアカウントをロックした。どうなるのかと思ったら/etc/shadowのパスワードの最初に!が追加されていた。

[Ruby][JARH] webrick, net/http

206 Partial Contentに対応していないというのを確認するだけのつもりでwebrickのソースを見てたのに。
require 'webrick'
require 'net/http'
lo = '127.0.0.1'
port = 2000
log = WEBrick::Log.new(nil, WEBrick::Log::WARN)
s = WEBrick::HTTPServer.new(:BindAddress=>lo,:Port=>port,:Logger=>log)
s.mount_proc('/') do |req,res|
  res.body = 'Just another Ruby hacker,'
end
th = Thread.new { s.start }
Net::HTTP.get_print(lo, '/', port)
s.shutdown
th.join

[Ruby][JARH] WEBrick::GenericServer

GenericServer版。
require 'webrick'
lo = '127.0.0.1'
port = 2000
log = WEBrick::Log.new(nil, WEBrick::Log::WARN)
s = WEBrick::GenericServer.new(:BindAddress=>lo,:Port=>port,:Logger=>log)
th = Thread.new do
  s.start do |sock|
    sock.print 'Just another Ruby hacker,'
  end
end
sock = TCPSocket.open(lo, port)
print sock.gets
s.shutdown
th.join

[web] Ruby Home Page

http://www.ruby-lang.org/ja/ のtitle要素に「スクリプト」がついてないのはなぜ?という話が。


2003年04月23日(Wed) require 'erb';ERB.new('Just another Ruby hacker,').run

[ruby] IRC

%rrrはruby-win32の主要メンバーが集まるチャンネルになってしまったような感じ。

[ruby] ERB

[ruby-list:37609]のパッチのerb.def_method(self, methodname)にfnameが付いていないのを見て、ERBのインスタンスにfnameをもっておいてERB::DefMethod.def_erb_methodにファイル名が渡されたとき以外もファイル名をevalに渡せばいいのに、と思った。

本日のツッコミ(全2件) [ツッコミを入れる]

 [うーん。なるほど。 ERBつくるときに、ファイルからつくる、っていうのも あればいいのか。]

(う) [ひょっとして邪魔? だとしたらすみません...]


2003年04月25日(Fri)

[ruby] Etc

mswin32版にはetc.soがない?

[ruby] Re: IRC

邪魔とかいうことは全然なくて、closedな感じになってしまわないかどうかがちょっと心配なだけです。

本日のツッコミ(全1件) [ツッコミを入れる]

やまだあきら [単に興味本位なのですが、%rrrというのはだれでも参加できるチャネルなんですか? (どういうチャネルかもよく知らない..]


2003年04月26日(Sat)

[Windows] PowerPoint 97、2000、および 2002 ユーザー用 PowerPoint Viewer 97

2000以降のプレゼンテーションが表示できても97のままなのは、すべての機能がサポートされているのが97までだからかな。

[IRC] %rrr

だれでも参加できるかといわれれば、制限はしてないのでIRCのシステム的には%rubyと同じようにだれでも参加できるはず。


2003年04月27日(Sun)

[web] TrackBack Ping URL

headの中にmetaやlinkで書いておくというのはダメなのかな?

SDを探したけど近所の本屋には無かった。

[vim] netrw

vim http://www.kaoriya.net/vimdoc_j/pi_netrw.txtで直接開けた。EmacsだとhttpはTRAMPでは無理なのでemacs-w3mでみることになりそう。

[mail] チェーンメール

引用が全部削除され、かつ、Subject が変化している場合には、 MUA は送信前にReference と In-Reply-To を削除するかどうか尋ねるべきではないだろうか。」と「基本は転送されて来たメールを転送しないこと」というのをみて、「MUAは転送されてきたメールを転送する場合にはチェーンメールの可能性があるのではないかと確認するべきではないか」という主張を思いついた。


2003年04月28日(Mon)

[ruby] etc.so

mswin版1.6で使えないのはRWiki2-installerがどの程度の環境で動くのか確かめていたときにrw-config.rbのテンプレートでADDRESS = <%= Etc.getpwnam(Etc.getlogin).gecos.split(/,/)[0].dump %>とやっていたのがsplitの結果が[]になりdumpがNameErrorになって失敗する環境があったのでいろんな環境で試していたというだけなので、使えないなら使えないでそういうものと思ってしまいました。

そもそもRWiki自体がファイル名の大文字小文字問題などで正式にはWindows対応していないし。

[apache] HTTP_HOSTとSERVER_NAME

name baseのvirtual hostで運営している場合、SERVER_NAMEはreal hostが入ってしまう」という記述が気になったので調べてみた。

SERVER_NAMEはhttpd.confのServerNameディレクティブで指定したホスト名が入る。つまり値が変になるのはapacheの設定がちゃんと出来ていない可能性が高い。

HTTP_HOSTは他のHTTP_で始まる環境変数と同様にHTTPリクエストヘッダのHostの文字列が入る。つまり値は、正常な場合でクライアント依存でホスト名のみの場合(localhostなど)とポート番号がついている場合(localhost:80など)が考えられる。正常ではない場合は設定されていない場合(HTTP/1.0のクライアントでHostリクエストヘッダなしの場合)とわざと変な値を入れられている場合(Host: <s>testなど)が考えられる。

[tDiary] ツッコミへのリンク

クリックしたらhttp://web.sfc.keio.ac.jp/?date=20021103#c01にとんでしまって驚いた。こういうのを自動でチェックすることは出来ないのかな。HTTPのGETやHEADでリンク先の存在チェックだとうまくいかない。

本日のツッコミ(全6件) [ツッコミを入れる]

Before...

kolobondo [internet advertising http://spirit.ac.ca/internet-advertis..]

web [biaxin http://funny.]

dres [amoxil http://choose]


2003年04月30日(Wed)

[ruby] XML Tree Viewer

cygwin上で使ってみた。「ひらがな」という内容のXMLファイルを用意して開いてみたら、spanの内容のところが四角2つと&#x304C;&#x306A;になってしまった。全部&#xNNNN;になるのならなんとなくわかるんですが文字によって違うというのが不思議。

[ruby] Re: XML Tree Viewer

UTF-8かと言われればUTF-8とも見なせるASCIIの範囲内のテキストで「<span>&#x3072;&#x3089;&#x304C;&#x306A;</span>」という内容だったのですが。手抜きをしてちゃんと&とかに置き換えていなかったのでうまく伝わっていなかったようで。

本日のツッコミ(全1件) [ツッコミを入れる]

むとぽん [試していただいてどうもです。XMLファイルはUTF-8ですか?書くの忘れたんですが、UTF-8しか表示できないです。..]


copyright © 2001-2013 ZnZ
Key fingerprint = 6E14 2C9C DBD7 874D 8B3C CAA8 9B58 5538 ED7E 1B73