2007-06-01から1ヶ月間の記事一覧

Etch の PHP4 での問題 (mb_send_mail関数のSubjectの文字化け)

Sarge から Etch にアップグレードした際、 PHP4は 4.3 から 4.4 へと変わった。その際、mb_send_mail 関数でメールを送ると Subject が文字化けすることが分かった。先人が(1年半も前に!)おなじ障害にあっていることが分かった。http://nucleus.mochy.com/…

文字列演算 (31ビット以上、51ビット以下の整数は float を使え!)

PHP

PHPの演算は、混乱する仕様だ。文字列で演算する場合、一度 float などに 型変換されているようだ。PHP: 文字列の変換 文字列は、'.'、'e'、'E' のどれかが含まれている場合は float、それ以外は整数として評価されます。 と書かれているが、実際には 31ビッ…

locale の設定

cron メールの文字化けを調べていたら、locale を設定していないことがわかった。 http://debian.fam.cx/index.php?Japanese#p9c3db8f を参考にした。 dpkg-reconfigure locales でよい。

Etch へのアップグレード (cronのメール文字化け)

Etch にアップグレードしたら cron の実行時のメールに Content-Type がつくようになった。 Content-Type: text/plain; charset=ANSI_X3.4-1968 いままではなかったので、文字コードの判定はメーラー(Thunderbird)が行っていたが、 ヘッダーのおかげで英語と…

GPG

http://www.gnupg.org/download/index.html から Windows 版のGnuPG 1.4.7をダウンロード。http://enigmail.mozdev.org/download.html から Thunderbird 2.0 用の Enigmail をダウンロード。http://enigmail.mozdev.org/langpack.html から Enigmail の言語…

気になる言葉 "frob"

認証APIを調べていて、何気にパラメータに使われている語の意味を調べた。http://en.wikipedia.org/wiki/Frobhttp://dictionary.goo.ne.jp/search.php?MT=frob&kind=ej&mode=0&base=1&row=0 forb 【コンピュータ】(マウスなどを)いじりまわす.

etch で Apache 2.2 と Tomcat の連携

apache 2.2 になったので、mod_proxy_ajp 経由で Tomcat と連携する。mod_proxy_ajp を有効にする。 # a2enmod proxy_ajp /etc/apache2/sites-avilable/defaultに以下を追加。 ProxyPass ajp://localhost:8009/ allow from all

etch へのアップグレード3

一部のサーバでは、 mdadm のアップグレードで以下の作業が必要だった。 rm -f /var/lib/mdadm/CONF-UNCHECKED update-initramfs -u -k all

Xen 3.1 released!

Xen

見逃しておりました。 http://lists.xensource.com/archives/html/xen-announce/2007-05/msg00002.htmlkernel 2.6.18 ベースということで、Debian Etch と相性がよさげ。 とはいえ、すでに xen 3.0.3 がパッケージ化されているので、わざわざ バージョンアッ…

標準エディタの変更

Etch にアップグレードすると標準エディタが nano に変わってしまった。 update-alternatives コマンドを利用。 update-alternatives --config editor

国別のIP取得状況 (APNIC)

APNICで管理しているIPアドレス一覧を取得し、アクセス制限などに活用したい。http://openmya.hacker.jp/hiki/hiki.cgi?Openmya%C5%AA%A5%BD%A5%D5%A5%C8%A4%C7%CD%DF%A4%B7%A4%A4%A4%E2%A4%CE (1) APNIC から "delegated-apnic-latest.txt" を取得 wget htt…

cut コマンドの実装

ruby で組んでみた。対応しているのは、-f オプションと -d オプションのみ。 それ以外は使わないので。 require 'optparse' class Fields def initialize(rule) @ranges = [] rule.split(",").each do |v| if /^(\d+)?(-)?(\d+)?$/ =~ v b = $1 ? $1.to_i :…

etch へのアップグレード2

/etc/init.d/ntpdate がなくなっていた。 ntpdate をcron で定期実行していたのだが、 気がつくと ntp デーモンが動いていた・・・。ntp を使うために /etc/ntp.conf の設定を行った。

etch へのアップグレード

うまくいったりいかなかったり。 resolvconf パッケージがうまく更新されなかった。 /etc/resolv.conf を手動で作り直して対応。リリースノートの"第 4 章 - 以前のリリースからアップグレードする"を見ながら作業していたのだが、"4.3 パッケージのマークを…

コマンドライン引数でオプションを扱ってみる

optparse::チュートリアル を参考にする。

cat プログラムを書いてみる

3行でできた。たぶん1行でもいける。 while line = ARGF.gets print line; end

JRuby 1.0 Released!

JRuby 1.0 がリリースされたとのこと。Ruby 1.8.5 相当だそうで。 C言語のRubyは、環境に依存する。C版だとプログラマーでないユーザにも 使ってもらうにはバージョンアップのたびに再インストールはどうかなと前から思っていた。 Java環境さえ入れれば、ア…

IPアドレスの保存方法

PHP

ip2long(), long2ip() という関数があるとのこと。http://itpro.nikkeibp.co.jp/article/COLUMN/20070507/270104/ http://www.php.net/ip2long http://www.php.net/long2ipPostgreSQL に格納する際には、データ型を inet 型としているので プログラム側で何…

たつ鳥後を汚さず

なべちゃんが会社を辞めるまでに残していったバグ。 彼が一番詳しいので任せた最後の仕事はバグだらけでした。 致命的でした。そして初歩的なものでした。 十分時間を与えていたのだけど、 彼はぎりぎりまで修正していたからなぁ。修正したのでとりあえず大…

MIMEタイプ (=Content-Type)

http://memorva.jp/memo/mobile/content_type.php携帯電話で使用する特殊なデータ(着メロ、着うた、ムービーなど)は、 サーバでContent-typeの設定が必要。

ダウンロード

au object タグ http://www.au.kddi.com/ezfactory/tec/spec/wap_tag5.html CGI によるダウンロード http://www.au.kddi.com/ezfactory/tec/dlcgi/download_1.html docomo Aタグによるダウンロード SoftBank Aタグによるダウンロード S!アプリ 「コンテンツ…

Trac 0.8.1 でチケット更新時にメール送信エラー

Trac でメール通知機能を有効にしているのだが、メールアカウントを削除すると 削除したアカウントでアサインしたりコメントを書いたチケットでは、更新するたびに 以下のエラーが毎回出るようになってしまった。Oops... Trac detected an internal error: {…

メールアドレス(宛先)の最大サイズ

http://labs.unoh.net/2007/06/post_89.html 携帯のメーラでは宛先に入れられるByte数が決まっています。 DoCoMo: 50Byte au: 64Byte SoftBank: 128Byte 上記のByte数より長いメールアドレスへは端末からは絶対に送信できません。 以上のように制限があるた…

Subversion の複数のリポジトリを統合するには

CVS から Subversion 移行する際には、 一気に全部を移行せずに部分的に始めたいと思った。 そういったとき、複数リポジトリが出来てしまうので 統合する方法を調べる必要がある。なぜ、統合する必要があるかというとTrac を使いたいから。ググると、ちょう…