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

MACアドレスとUUIDの自動生成

Xen

MACアドレス http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/ja-JP/Virtualization/ch19s22.html より、 macgen.py: #! /usr/bin/python # macgen.py script generates a MAC address for Xen guests # import random mac = [ 0x00, 0x16, 0x…

CakePHP で配列をモデルとして定義するための DataSource

CakePHP には外部のリソースを呼び出すための便利なフレームワークがある。DataSource を実装すれば、データベース以外のリソース(たとえばテキストファイルなど)がモデルとして利用できるようになる。http://d.hatena.ne.jp/gapao/20090521/1242907727 を参…

Debian lenny でタイムゾーンの設定

dpkg-reconfigure tzdata

Debian lenny のパフォーマンス(解決?)

Debian lenny がリリースされてからずっと、カーネルのパフォーマンスが悪いのが悩みのタネでした。 http://d.hatena.ne.jp/okinaka/20090904#1251994271が、どうやら LKML でも話題になっていたそうで、いくつかの提案がありました。 http://www.atmarkit.c…

Redmine 0.8.5 リリース

Redmine 0.8.5 が先月13日にリリースされてた。http://www.redmine.org/news/27早速アップデート。しかし、管理画面でバージョンを確認しても 0.8.4 のまま。ソースを探し回ったところ、lib/redmine/version.rb が更新されてなかったみたい。同様の報告がBTS…

一時ファイル用ディレクトリのパスを取得

PHP

PHP 5.2.1 から sys_get_temp_dir() が使える。それ以前なら環境変数から取得する。http://php.net/manual/ja/function.sys-get-temp-dir.php

variables_orderの設定とgetenv()推進キャンペーン

PHP

PHP で環境変数を取得したい場合、$_ENV は、variables_order の設定によって使えたり使えなかったりするので、getenv() を使いましょうというキャンペーンらしい。http://blog.asial.co.jp/316う〜これにはハマりました。INI ファイルで仕様が変わる言語っ…

携帯メール転送[返信への対応]

携帯メールへの転送の問題は、以前解決済みだ。http://d.hatena.ne.jp/okinaka/20070323#1174623280このままだと受信者にとっての返信先は自社サーバドメインのメールアドレスになってしまう。 だが、送信者にとっては、[元のメールアドレス]で受け取りたい…

拡張メールアドレスの設定

.forward+[拡張部分] というファイルで設定できる。 書き方は以下のとおり: http://d.hatena.ne.jp/okinaka/20070117#1168995525

既存の include_path に新しいパスを追加するには

PHP

http://www.php.net/manual/ja/function.set-include-path.php/usr/lib/pear を追加。

Makefile の基本

Makefile に記述されているルールは、ターゲット(target)、必須項目(prereq)、実行コマンド(commands)の3つの部分から構成されている。 target: prereq1 prereq2 commands ターゲットと必須項目はコロン(:)で区切る。 commands 行の先頭には必ずタブが入る…

PHP のソースコードとは別のエンコードで出力するには

PHP

使えないPHPにイラッとしたが、ソースを Shift JIS で記述することを諦めて、出力のときにエンコードを変更することにした。絵文字には別途対応が必要だが、以下の方法で簡単にできた。 http://www.ideaxidea.com/archives/2008/04/phpob_start.html ここに…

PHP のソースコードは ShiftJIS で書いてはいけない

PHP

こんな簡単なコードも実行できないのか!使えんヤツ。

PHP で XHTML を扱うためのバッドノウハウ

PHP

PHPにはURLにセッションIDを自動で付与する機能(track_vars)があるが、デフォルトでは "&" でつなげることになっている。XHTML では、パースエラーになるため、"&" に変更したい。php.iniで arg_separator.output = "&"を有効にする。または、PHPス…

mbregexの初期化について

PHP

php を使っていて mbstring 関連の挙動がおかしいと思ったら、私の環境では、デフォルトのエンコード(EUC-JP)とは違うエンコード(UTF-8)を使っていたためだった。http://wiki.poyo.jp/read/PHP/tips/mbstring/caution_mbregexphp.ini は他のアプリの関係で変…

Linux に不安

デスクトップOSとしての利用には全く不満を感じないのだが、サーバOSとしては、やや不安を感じる。別のOSを検討する時期がきたのかもしれない。そう感じたのは、kernel のバージョンアップ時に劇的に性能が落ち不安定になったことが主な要因。1日1万行追加さ…

CakePHP 1.2.5 リリース

CakePHP 1.2.5 がリリースされてた。 ChangeLog を眺めていたら、 PHP 5.3 対応のため、config/core.php と webroot/index.php, webroot/test.php を更新せよとのこと。http://code.cakephp.org/wiki/changelog/1_2_5 * Applying PHP 5.3 compatibility patc…

xen-tools で Debian (lenny) 環境を作る

xen-tools を使って Debian (lenny) 上に DomU を作成する際、Debian (etch) では起こらなかった問題にぶつかった。Debian (etch)の場合: http://d.hatena.ne.jp/okinaka/20080530#1212146400ハマった点は、 コンソールにログインプロンプトが出ない (固ま…

bash メモ

# アカウントがあれば 1、なければ 0 を返す関数 function exists_user { id -u "$1" >/dev/null 2>&1 if [ "$?" = "0" ]; then return 1 else return 0 fi } # 実行 exists_user "$1" # 結果 echo $?

Debian lenny のパフォーマンス

Debian を etch から lenny にアップグレードした途端、ハードディスクへの書き込みのパフォーマンスが劇的に低下していることが判明した。頻繁にファイルの書き込みが発生するシステムが大変なことに・・・。カーネル設定でIOまわりのデフォルト値が変わっ…

git-cvsserver の制限

git-cvsserver は、完全な CVS として動作するわけではなく制限がある。 「git ブランチ = CVS モジュール」として扱う。 CVS クライアントからは、タグやブランチできない。 SSH経由だと読み書き可能。pserver だと anonymous CVS 扱い。 非技術者には cvs …

Ubuntu 9.04 で git-cvsserver を試す

Ubuntu 9.04 にて git-cvsserver を試してみた。これは、git リポジトリを CVS クライアントから利用するためのもの。SSH と pserver に対応している。とりあえず、SSH で試してみた。 ローカル上に1つ git のリポジトリを作成する CVS コマンドを使って gi…

phpDocumentor は日本語未対応

PHP

テンプレートを修正することで、コメント部分に関しては大丈夫だが、タグは日本語を使うと問題がある。HTML を生成した場合、@package や @subpackage は、生成されたファイル名やディレクトリ名に利用される。ソースコードの文字コードとOSの文字コードが一…

Debian lenny の Xen で時刻がずれる

Debian lenny が Dom0 の Xen サーバー上で DomU の時刻が丁度9時間ほどずれていた。以下のページより、 http://syo.cocolog-nifty.com/freely/2009/01/xen-1352.htmlデフォルトでは、そうなっていないのだが、今までの習慣で、わざわざハードウェアクロック…

Debian lenny で ssh 接続が遅い

(一部のサーバのみ) Debian が lenny になってから、ローカルに設置したサーバへの ssh の接続に時間がかかるようになってしまった。サーバの設定を変えて対応。/etc/ssh/sshd_config UseDNS noを付ける。

PHPマジック (呼び出し時の参照渡し)

PHP

http://www.php.net/manual/ja/migration53.deprecated.php を見ていて初めて知ったこと。PHP では、func(&$var) のように関数呼び出す際引数の前に & を付けると参照渡しになるとのこと。すごい仕様だね。 変化無し func(&$a); echo $a, "\n"; # $a => 書…

phpDocumentor を試す

PHP

phpDocumentor は、ソースコードからAPIドキュメントを作成するツール。javadoc みたいなもの。 http://www.phpdoc.org/Ubuntu にはパッケージは用意されていないため、ファイルをダウンロードしてインストールすることにした。どうやら、圧縮ファイルを展開…

Debian lenny の openjdk-6-jdk の不具合

Debian lenny では、openjdk-6-jdk の SSLのCA証明書がリンク切れしてしまうらしい。このままでは、SSL通信が使えない。http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=501487 # ls -l /usr/lib/jvm/java-6-openjdk/jre/lib/security/cacerts lrwxrwxrwx…

gearman を試してみた。

gearman は、キューイングシステムの一種。姉妹品に TheSchwartz というのもある。 特徴は、 サーバプロセスがとても軽量 クライアントがジョブを登録するとワーカーが即座に処理する 欠点は、 サーバはメモリ上でジョブを管理しているため確実性を求める処…

エラーメール解析(その3)

PHP

試していないが、PHP でエラーメール解析ができる PHPMailer-BMH という製品があるらしい。GPLライセンス。http://phpmailer.worxware.com/index.php?pg=bmh