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

Ubuntu 8.04 での Samba の文字化け対策

古いNASサーバは、UTF-8に対応しておらず、Shift_JIS でなければ、日本語ファイル名が文字化けしてしまっていた。ところが 8.04 に乗っている smbmount では、codepage が指定できなくなってしまった。 Ubuntu 8.04にアップして以来、困った問題だったのだが…

数値文字参照 を文字列に変換

PHP

$utf8 = html_entity_decode('〜', ENT_NOQUOTES, 'UTF-8');

Firefox のオフラインモードの解除

emobile の D02HW で繋いでみた。ネットワークは生きているのだが、Firefox だと「オフラインモード」になってしまい、閲覧できない。http://forum.ubuntulinux.jp/viewtopic.php?id=2255この場合、手動でオンラインモードにするといいらしい。 メニューから…

aptitude 失敗

aptitude を実行して、upgrade しようとすると ATAL -> Failed to forkと表示されて落ちてしまった。 ネットで調べたら、メモリー不足時に起こる現象らしい。 いらないデーモンを落として空きメモリーを増やした後、 実行すると出来た。

CentOS 4 の yum 実行時メッセージ

yum update を実行したとき、控えめな感じでメッセージが表示された。 sqlite cache needs updating, reading in metadataう〜む。 yum clean cacheとかすればいいのかな?

CakePHP のマニュアル翻訳。

CakePHP のマニュアルは、Wiki風の作りになってて簡単に追加・編集できる。日本語版に今まで投稿してる人は数人しかいないけど、どうしてなんだろう。何か深い理由でもあるのだろうか? ここ最近は、CakePHP を使った開発をしている。分からないことがたくさ…

hwclock でエラー

新しいサーバー(PowerEdge860)では、hwclock でエラー表示になってしまう。 # hwclock --utc select() to /dev/rtc to wait for clock tick timed out --directisa オプションをつけるといいらしい。 # hwclock --directisa --utc Sat Jul 19 02:01:56 2008 …

rinse で RPM系ディストリの chroot 環境構築

Ubuntu 8.04 (hardy) にて、CentOS4.6 の chroot 環境を作った。 rinse インストール sudo apt-get install rinse rinse 最新バージョンの取得 最新バージョン(v1.3)は、以下の URL から取得できる。 http://www.xen-tools.org/software/rinse/Ubuntu 8.04 …

CakePHP 1.2 の Pagination

Pagination とは、データ一覧をページ切替で表示する機能。 ちょっとだけコントローラーとビューを修正することでできた。http://book.cakephp.org/ja/view/166/ただし、URLにおいて、アクション名の後にパラメータを指定しているような場合、ビューで、 $pa…

CakePHP 1.2 の FormHelper::input() の飾りの無効化

1.2 FormHelper参考例より、飾りをすべて無効にする。 input('id', array('label' => false, 'div' => false));

CakePHP 1.2 のACL: コンポーネントによるチェックの方法

コントローラ中で、Aclコンポーネントを使って、アクセス権があるかどうかをチェックする。http://aranworld.com/article/163/cakephp-acl-tutorial-how-to-check-accessコントローラー中でAcl コンポーネントを利用することを宣言しておく。セットで Auth …

CakePHP 1.2 の ACL: 初期設定

コマンドに関するざっくり説明。http://aranworld.com/article/162/cakephp-acl-tutorial-initial-setup 管理用テーブルの作成。 ACL 管理用のテーブルを作成する。app ディレクトリ上で、以下を実行。 cake schema run create DbAcl ARO や ACO 管理コマン…

CakePHP 1.2 のACL

「誰が」、「何を」、「できる or できない」? を管理するための仕組みを ACL (Access Controll List) という。CakePHP 1.2 には、ACL の仕組みが用意されている。・・・が、よくわからない。 まずは概念を理解しつつ、利用方法を考えていく。http://aranwo…

削除できないファイルを削除できるようにするには

http://q.hatena.ne.jp/1070170951 Administrator権限のあるユーザーでログオンします。 削除できないファイルのプロパティを表示させます。 「セキュリティ」タブにある、[詳細]ボタンを押します。 「所有者」タブを選択します。”所有者の変更(O)”で所有者…

CakePHP 1.2 アプリケーション固有の定数

app/config/bootstrap.php に記述する。

CakePHP 1.2 でファイルアップロード

http://cakebaker.42dh.com/2006/04/15/file-upload-with-cakephp/ より、ビュー: フォーム作成時のオプション 'type' に 'file' を指定する。 create('MyFile', array('action' => 'add', 'type' => 'file')); echo $form->file('File'); echo $form->end()…

CakePHP 1.2 の Model::find()

Model::findAll() や Model::findCount() が非推奨になって、Model::find() が、若干カオスな状態になってるみたい。古い記法と新しい記法があることがわかった。APIリファレンス参照: http://api.cakephp.org/class_model.html#e60758f27fa8486a063b8cc424…

CakePHP 1.2 のシェルで標準入力を取得

Shell クラスから見て $this->Dispatch->stdin に標準入力のハンドラがある。 Dispatch->stdin; while (!feof($stdin)) { $buffer = fgets($stdin); // 1行取得 echo $buffer; // 何らかの処理 } } }

CakePHP 1.2 の AuthComponent

そろそろ、ログイン機能を検討してみる。AuthComponent を使うといいみたい。http://blog.ne2ma2.com/archives/160 http://blog.ne2ma2.com/archives/161 http://blog.ne2ma2.com/archives/163・・・初回はどうしたもんかね。ログインしないとユーザも追加で…

CakePHP 1.2 モデルのqueryメソッドでfind、findAllと同等の返り値を得る方法

http://d.hatena.ne.jp/ngtn/20080409/1207747539 より、 $this->User->query("SELECT * FROM users"); のように、SQL文を直接実行した場合、結果のデータの構造が find などと違っている。 同じ形式にするには find メソッドで発行する SQL文と同じものを生…

CakePHP 1.2.0.7296 RC2 released!

http://bakery.cakephp.org/articles/view/release-some-rc2-sweetnessあ、新しいのがあがってる。色々バグフィックスしてるんだって。 最近リリースのペースがいい感じだね。 CakePHP 1.2 RC1 -> RC2 cake ディレクトリと app/webroot/{index,test}.php を…

CakePHP 1.2 でSQLの値をエスケープ

Sanitize::escape() が使えそう(試してない)。CakePHP 1.1 だと Sanitaize::sql() だったけど、 1.2 になってどこに移動したのか分からなかったがようやく見つけた。

CakePHP 1.2 で大量データの処理

Model::findAll() だとすぐにメモリー不足になってしまうような処理も、 DboSource::fetchRow() で逐次読み込めば大丈夫。 $db =& $this->User->getDataSource(); $row = $ds->fetchRow("SELECT * FROM users"); while (!empty($row)) { var_dump($row); // …

CakePHP 1.2 で SQL の Where 句生成

DboSource::conditions() でできた。これで、Model::findAll() のための条件データ($conditions)からSQLが容易に作成できる。DboSource::limit() や DobSource::order() とかもあるので、試してみたい。直にSQL文を書いてもいいんだけど、DB差し替えなんて大…

CakePHP 1.2 でバッチ処理

Shell クラスを継承したファイルを app/vendors/shells の直下におくと、cake コマンドで実行できるらしい。以下が参考になる。 http://www.syuhari.jp/blog/archives/185また、細かいところは、APIを参考にするといいかも。 http://api.cakephp.org/class_s…

CakePHP 1.2 RC1 の非推奨

find -name "*.php" | xargs grep -B 1 -A 10 "@deprecated"とか打って調べたら結構あるね。いつから非推奨なのかは不明なものが多いけど。非推奨の関数一覧は、 http://api.cakephp.org/1.2/deprecated.html にまとめてある。・・・ありゃ、Model::findAll(…

CakePHP ポケットリファレンスの RC1 マイグレートシート

PHP

こちらより、いくつかピックアップ。現状では、ポケットリファレンスで分からないところは、ネットで調べたりソースを読んでいる。やはり、まとまったものがあると助かる。 Configurations ACL クラスの名前が変わりました Beta : Configure::write('Acl.cla…

Berkeley DB Release 4.7

http://www.oracle.com/technology/products/berkeley-db/db/index.htmlう〜む。いつの間にか(5/20?)、新しいバージョンがリリースされてた。こういったニュースって、ネット上には話題に上がってこないものだね。社内のシステムで Berkeley DB 4.6 を利用し…

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

ビューに関しては動作を確認できた。 モデルについて確認する。コントローラで受け取ったチェックボックスのデータは、配列になっているので、 モデルでは、ちょっと工夫が必要。以下の機能を実装する。 DBに保存する際には、カンマ区切りで保存する事にする…

CakePHP で複数チェックボックス

ビューで以下の様にすると面白いことになった。 checkbox('User.sex.1')?>男性 checkbox('User.sex.2')?>女性 コントローラーでは、$this->data['User']['sex'] が配列になる。var_dump($this->data['User']['sex'] をとると、 array(2) { [1]=> string(1) "…