history

青木日記 RSS

<前の日 | この月 | 次の日>

2004-01-29

iconv

Tru64UNIX だと iconv の引数が "eucJP" でないとだめだった。

逆に、Linux (GNU iconv) には "eucJP" があるんだから "eucJP" を使うほうがポータブルかなあ。 Solaris も調べる必要があるな。

(21:19)

Solaris だと何やってもエラーが出るよ〜……と思ったら、 そもそもテーブルが入ってなかった。そりゃ動かないわな。 SUNWloc, SUNWjiu8, SUNWjfpu をインストール。

む、Solaris も eucJP なのか。 やっぱりこっちのがよさげだな。

tDiary / @referer_day_only

@referer_day_only を指定するときれいにアンテナをはじいてくれるのだが、 アンテナが全然記録されなくなってしまうのも悲しい。 「これはアンテナ」という情報だけを記録しておけるといいかもしれない。 そこでこんなパッチをでっちあげた。

--- tdiary.rb.org Thu Jan 29 19:18:47 2004
+++ tdiary.rb Thu Jan 29 21:30:46 2004
@@ -1257,7 +1257,7 @@ module TDiary
      super
 
      # save referer to latest
-     if (!@conf.referer_day_only or (@cgi.params['date'][0] and @cgi.params['date'][0].length == 8)) and referer?
+     if referer?
        ym = latest_month
        @date = ym ? Time::local( ym[0], ym[1] ) : Time::now
        @io.transaction( @date ) do |diaries|
@@ -1268,7 +1268,11 @@ module TDiary
            break if @diary.visible?
          end
          if @diary then
-           @diary.add_referer( @cgi.referer )
+           referer = @cgi.referer
+           if @conf.referer_day_only and @cgi.params['date'][0].to_s.length != 8
+             referer = 'http://antenna.example.com/antenna/'
+           end
+           @diary.add_referer( referer )
            dirty = DIRTY_REFERER
          end
          dirty

こうしとくとアンテナからのアクセスが全部 antenna.example.com にまとまって記録されるわけだ。 今日の日記の「various antennas」というのがソレ。 最初はちょっとコードが間違っていたため 他のアンテナも出てしまっているが、明日以降はうまくいくはずだ。

(00:14)

追記: @referer_day_only を流用する必要はないじゃん。 専用の変数を作るほうがいいな。

本日のツッコミ(全6件) [ツッコミを入れる]
kjana (2004-01-30 14:47)

そのための charset_alias.rb じゃないですか.多分.make の時に何かしないと
iconv.rb を作ってくれないようですが.config.charset を持ってきておいてお
けばいいのかな?

Siena. (2004-01-30 17:41)

です。config.charset を本家から持って来るでもいいですし、とりあえず手軽にこんな内容で作ってテストしてみても良いかと。
        #!/bin/sh
        # ${newname} \s+ ${oldname}
        cat <<EOD
        EUCJP EUC-JP
        EOD

あおき (2004-01-30 18:47)

いや、実は、このテストはクックブック用にやってたので、
できるだけ追加操作はなしで通したかったんです。
例えば自分で iconv を使ったプログラムを書く場合、
それをインストールする人が config.charset をいじる
必要があるわけですよね。

あおき (2004-01-30 18:49)

ちなみに手元でテストできる範囲だと
eucJP, ISO-2022-JP, UTF-8, SJIS
なら全環境で通ります。

なかだ (2004-01-30 22:59)

config.charsetはLGPLなんで、入れちゃっていいものかどうかと。
あと、それからの生成物はどうなるのかとか。

あの情報を改めて自分で集める気にはならないし。

青木 (2004-02-03 06:26)

それは確かに。自分の使う範囲だけ(日本語関係)
だったらどうにかなりそうですけど、全部だと…

名前
メールアドレス

<前の日 | この月 | 次の日>
2002|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|04|05|06|09|10|
2009|07|
2010|09|

Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved. LIRS