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

CakePHP で Shell から Task を呼ぶ場合の注意

CakePHP 1.2.4 にて、Shell から Task を呼ぶ際、 どうやら、Task::$args は、PHP のバージョンによって値が異なることが分かった。 バージョン Task::$args PHP4.3.9 タスク名を含む PHP5.2.6 タスク名を含まない サンプル:

CakePHP と Ruby on Rails トレンド

最近の Google トレンドをチェックしてみた。あれれ?いつの間にか、CakePHP が Rails を抜いてしまっているようだが!?http://www.google.com/trends?q=cakephp%2Cruby+on+rails&ctab=0&geo=all&date=2009&sort=0いや、Rails はフルネームで呼ぶ人が減って…

PostgreSQL 8.3 の date_trunc を含む CREATE INDEX

今まで(<=7.4)大丈夫だったのに、8.3 になったら CREATE INDEX 時に "timestamp with time zone" なフィールドに対して、date_trunc 関数などを使うと、以下のエラーが発生してしまう。 ERROR: functions in index expression must be marked IMMUTABLEhttp:…

Tomcat 6.0.20 の仕様

久々にハマった・・・。context.xml の内容は、滅多なことでは変更しないので気づかなかった・・・。Tomcat 6.0.20 では、META-INF/context.xml を更新しても、実際に Tomcat が参照している $CATALINA_HOME/conf/Catalina/localhost/ROOT.xml を更新してく…

yum で CentOS 4 に PostgreSQL 8.3 をインストール

CentOS 4 に PostgreSQL 8.3 をインストールすることになった。http://a98.jugem.jp/?eid=344 より、/etc/yum.repos.d/CentOS-Base.repo を編集し、[base]と[update]のセクションに、 exclude=postgresql*を追加。http://yum.pgsqlrpms.org/reporpms/repovie…

テキストエリアの現在のカーソル(キャレット)位置に文字を挿入するには

jQuery とかで簡単にできるんじゃないかと検索してたら以下のページがヒットした。http://stackoverflow.com/questions/946534/insert-text-into-textarea-with-jquery http://d.hatena.ne.jp/project_the_tower2/20071228/1198785069試行錯誤して、以下のサ…

apache 起動時の警告

Forcing reload of web server (apache2)...apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName waiting apache2: Could not reliably determine the server's fully qualified domain name,…

Perl の CPAN モジュールからの RPM パッケージ作成

cpan2rpm を使ってみた。 http://sourceforge.net/projects/cpan2rpm/RedHatEL4 では、最新の DBI や DBD などは依存関係が複雑で、簡単にはインストールできなかった。 仕方なく DBI は既存のものを利用し、DBDは、 cpan2rpm -i DBD-Pg-1.32_2などとバージ…

RedHat EL4 で nkf パッケージ作成

http://orangesooda.com/centos_redhat/2009/02/nkfsrpm-centos4.html より、 $ wget http://download.fedora.redhat.com/pub/fedora/linux/releases/9/Fedora/source/SRPMS/nkf-2.0.8b-2.fc9.src.rpm $ rpmbuild --rebuild nkf-2.0.8b-2.fc9.src.rpm $ cd /…

JavaScript を縮小化

http://developer.yahoo.com/yui/compressor/ java -jar yuicompressor-x.y.z.jar

Dell OpenManage Server Administrator (OMSA) のインストール

OpenManage Server Administrator は、RAIDコントローラなど、ハードウェアの状況を確認するDELLサーバ専用のツール。いつの間にか超らくにインストールできるようになっていた。(もともと難易度高くなかったけど)http://linux.dell.com/repo/hardware/late…

Linux のマウントオプション

Linux カーネル 2.6.20 以降では、noatime は副作用が大きいので relatime を付けるといいらしい。ただし、ディストリビューションによってはデフォルトで有効になっていたりするらしいので設定すら不要な場合もあるとのこと。カーネルで有効になっているか…

xdebug + webgrind で PHP プロファイリング

出来上がったPHPのプログラムが遅いので、ボトルネックを調べることになった。 そういえば、xdebug でプロファイリングしてたなぁと思ってググってみたら、 webgrind というWebベースのフロントエンドがあることが分かった。http://code.google.com/p/webgri…

固定アドレスの割り当ては、DHCPサーバで行った方がラクチン

http://viva-ubuntu.net/?p=1876 より。なるほど。今までそういう発想はなかった。 プリンターや NAS のような機器類は、ネットワークの設定方法が独特で覚えられなかったり、仮想サーバなど管理対象が多い場合は、個別に設定していたら面倒なので、DHCPサー…

PHP の require や include にはカッコ不要

PHP

require や include は、

PHP_CodeSniffer でソースコードのチェック

数年ぶりに PEAR のコーディング規約を眺めていたら、ずいぶん変わっていたので驚いた。そこで見つけたのが、php のソースコードが規約通りに組まれているかどうかをチェックしてくれるツール PHP_CodeSniffer。Ubuntu の場合、パッケージがあるのでそれをイ…

PHP5 をソースからビルド

理想は、パッケージでの管理だが、PHP が依存するライブラリの関係で、今のサーバ環境ではソースから入れた方が管理しやすいという結論になった。 RedHat EL3 では、事前に libxml2 の最新版(>2.6.11)をインストールする必要がある。 http://xmlsoft.org/ ta…

aptitude 実行時エラー

aptitude を実行すると困ったことに。 W: There is no public key available for the following key IDs: 9AA38DCD55BE302B W: GPG error: http://cdn.debian.or.jp etch Release: The following signatures couldn't be verified because the public key is…

SQL文で random stringを発生する方法

http://itpro.nikkeibp.co.jp/article/COLUMN/20051005/222300/?ST=oss&P=5 から引用。 乱数はrandom関数で作ることができる。テスト用にランダムな文字列を作るのは面倒そうだが,md5とrandomを組み合わせることによって,簡単に32文字までの任意の長さのア…

Emacs のデフォルト・ブラウザーを firefox に設定

Ubuntu の Emacs で browse-url なる技を使うと Epiphany が起動するので設定をかえてみた。 ; デフォルト・ブラウザーを firefox に設定 (setq browse-url-browser-function 'browse-url-firefox)

svn コマンドでの失敗

"file:" の後にスラッシュは3つ必要。2つにしたら怒られた。 $ svn co file://home/okinaka/svn/trunc svn: URL に対し ra_local セッションを開始できません svn: ローカルの URL 'file://home/okinaka/svn/trunc' に含まれているホスト名はサポートされ…

GLANTANK 分解のコツ

最近まったく利用していない GLANTANK、久しぶりにハードディスクを取り出すことになった。 上下についたカバーが取れずにあせったのでメモ。 精密ドライバー or イジェクト用のピンで後部の爪を押し外す。 左右を交互に持ち上げてねじり中央の爪2つを外す…

Wake On LAN でリモートPCを起動する

大抵のPCには、Wake On LAN という機能がついている。自宅でサーバとして使用しているマシンを、普段は電源OFFの状態で置いておき、必要なときにだけ別のPCから起動するために使ってみた。同じLAN上にあるが離れた場所にサーバを設置していた場合に便利。ま…

ログ出力で Out of memory

どういうわけか、CakePHPを使ったバッチ処理で CakeLog::log() でログ出力をしていると 激しくメモリーを消費してしまう。特にPHP4 だと顕著だ。 なんでだろう。

PHP でキーボード入力

PHP

コマンドライン上で対話的に処理するバッチを作成するため、標準入力(キーボード)から文字を受け取りたくなった。ファイル入力の関数にファイルポインタとして定数"STDIN" を渡すだけで良いようだ。 "; $line = rtrim(fgets(STDIN), "\n"); echo "input=$li…

Tomcat 6.0.18 で JSTL を使うには

ここを参考にした。 Maven のリポジトリからとってくるといいみたい。 https://maven-repository.dev.java.net/repository/jstl/jars/

OCS Inventory NG

OCS Inventory NG というものをUbuntuにインストールしてみた。資産管理用のシステムで、サーバーとエージェントにわかれている。エージェントはインベントリ情報を自動的に取得してサーバに登録する機能がある。 Windows にも対応しているようだ。一方、サ…

CakePHP で複数チェックボックス(その4)

過去の記事: CakePHP で複数チェックボックス(その2) CakePHP で複数チェックボックス は、CakePHP 1.2 RC2 で確認していたのだが、いつの間にか(RC3?)仕様が変わっていたみたい。CakePHP 1.2.2 で上記の方法を試すと、期待通りの動作をしなくなっていた。…

PHP で文字列のビット演算

PHP

ビット演算をする場合、通常は整数値を使うのだが、基本的には 32ビットしか使えない。(未確認だが、64ビットOSなら64ビット整数が使える?) PHP では、文字列でもビット演算に対応しているらしいので使ってみることにする。ということで、文字の "0" と "1" …

消えた・・・。

「Myはてな」から突然 RSSリーダへのリンクが消えてしまった。 はてなアンテナもなぜかトップにリンクされている・・・。 使いにくいっタラありゃしない・・・。 4/6 追記 ひさびさに元に戻った。はてなアイディアを見ると、頻繁に起こる障害のようだ。リン…