foldrr's weblog

旧ブログ http://d.hatena.ne.jp/foldrr/

2009-07-01から1ヶ月間の記事一覧

CSS テーブルの枠線を1本に(細く)したい

問題 TABLE タグの枠線を1本にしたい。 解決方法 table に border-spacing を設定する。 table { border-spacing: 0px; }

はてなダイヤリーのデザイン設定を消しちゃった

間違えてはてなダイヤリーのデザイン設定で、フッタにスタイルシートの内容を貼り付けてしまったorz フッタにサイドバーを書いていたのでサイドバーが大変なことにw ちゃんとバックアップとろうね。>自分。

CakePHP モデルの読み込みは App::import ではなく ClassRegistry::init で

環境 CakePHP 1.2.3.8166 問題 動的にモデルクラスを読み込みたい。 例えばバリデーションで相関チェックをする場合に、別のモデルを利用したい。 解決方法 ClassRegistry::init を使う。 find('all'); ?> 注意 下記のコードでも同様の処理ができるがやって…

CakePHP Error: The requested address '' was not found on this server.

環境 CakePHP 1.2.2.8120 問題 新しく CakePHP アプリケーションを配置してブラウザからアクセスすると下記のエラーが発生する。 Error: The requested address '' was not found on this server. 原因 app/config/database.php の設定が間違っている。 app/…

Firefox Tab Mix Plus とツリー型タブを同時に使うと新しいタブが2つ開いてしまう

環境 Firefox 3.0.12 Tab Mix Plus 1.0.6 ツリー型タブ 0.7.2009072401 問題 Tab Mix Plus とツリー型タブを同時に使うと、別タブを開いたときに同じ URL を表示するタブが2つ開いてしまう。 原因 不明。 対策 以下の手順を踏むことで、別タブを開くリンク…

Mixi のログイン メールアドレスを変更する

環境 Mixi 2009/07/31 時点 問題 Mixi のログイン メールアドレスを変更したい。 解決方法 Mixi へログインする。 トップメニューから設定変更をクリックする。 基本設定をクリックする。 基本設定画面に入る前に認証画面になるのでパスワードを入力し、次へ…

登場人物が多い話では相関図を使う

問題 登場人物が多い話を人に伝えるのはとても難しい。 「誰が誰に何をしたという事は、誰にとっての事実なのか」を明示しなくてはならないし、明示することが面倒で指示語(これ、それ、あれ)を使うと、文章を組み立てることが難しくなってくる。 解決方法…

PHP エンコーディング変換関数 conv_enc()

PHP 標準の mb_convert_encoding() では連想配列の変換ができないので作ってみた。

SFTPとは

SSH を利用した「疑似FTP」のこと。 実際には FTP プロトコルは使っていない。 SFTP というプロトコルがあるわけでもない。 FTP サーバはいらない。 SSH さえ動いていれば SFTP も使える。

vim エンコーディング自動認識

どこかのサイトにあったもの。 手元のメモから貼り付けたもので、転載元を失念…。 vi ~/.vimrc" 文字コードの自動認識 if &encoding !=# 'utf-8' set encoding=japan set fileencoding=japan endif if has('iconv') let s:enc_euc = 'euc-jp' let s:enc_jis …

MacOS フォントの格納場所

フォントの格納場所 /System/Library/Fonts /Library/Fonts フォントの管理方法 FontBook というアプリで管理する。 アプリケーション → FontBook

MacOS 日本語入力ソフト「ことえり」の基本

設定画面 画面右上の「あ」にある。 読めない漢字を入力する方法 例えば「神」と入力したい場合。 「ネ申」と入力する。 入力した「ネ申」を範囲選択して、Ctrl+1 を押す。 「神」となる。

phpMyAdmin をインストール

config.inc.php を編集する。 $cfg['Servers'][$i]['controluser'] = ''; // 管理者ユーザー名 $cfg['Servers'][$i]['controlpass'] = ''; // 管理者パスワードさらに以下を追加する。 $cfg['LoginCookieValidity'] = 60 * 60 * 24; // 接続時間(秒)

設定ファイルは公開設定と非公開設定を分けよう

設定ファイルを公開設定と非公開設定で分けておくと、バージョン管理が楽になる。 公開設定とは画面文言やパラメータのこと。 非公開設定とはデータベースのパスワードのこと。 非公開設定はリポジトリにコミットしないほうがいいので、別ファイルになってい…

PHP call_user_method(_array) で Notice が発生する

環境 CentOS 5.2 PHP 5.1.2 問題 call_user_method を使おうとすると下記 Notice が発生する。 PHP Notice: call_user_method_array(): This function is deprecated, use the call_user_func variety with the array(&$obj, "method") syntax instead in ..…

CakePHP メール送信時は Debug.level = 0 にする

環境 CakePHP 1.2.3.8166 問題 メール送信時にデバッグ情報が出力されてしまう。 原因 CakePHP では Debug.level > 0 の時に、メールへもデバッグ情報を出力してしまう。 対策 config/core.php で Debug.level = 0 に設定する。

avast! ライセンスキーを更新する

環境 Windows XP Professional SP3 avast! 4.8 Home Edition 問題 avast! のライセンス期間が切れてしまったので延長したい。 解決方法 ライセンスキーを再発行することでライセンスを延長できる。 パソコンを起動する。 タスクトレイの Avast アイコンを右…

CakePHP Controller::set() に連想配列を渡すと camelCase されてしまう

環境 CakePHP 1.2.3.8166 問題 Controller::set() に連想配列を渡すとビュー変数の名前が camelCase になってしまう。 そのため下記のコードでは2つのビュー変数ができる。 set(compact('item_name')); // $itemName $this->set('item_name', $item_name); …

CakePHP トランザクションを使う時は Model::saveAll() を使わないように

環境 CakePHP 1.2.3.8166 問題 Model::saveAll() は内部でトランザクション処理をしている。 そのため、外側のロジックで制御しているつもりのトランザクションが、Model::saveAll() によって途中でコミットされてしまう。 対策 Model::saveAll() の第2引数…

Google Bookmarks で簡単にエントリを先頭に持ってくる

2クリックで先頭になる。 スターをクリック。 再度スターをクリック。 GoogleBookmarks では更新のあったエントリは先頭にくる。 スターを付けたり外したりするだけでもエントリを更新したことになるので、スターを2回クリックすればエントリを先頭に持って…

BTS の有力候補は?

疑問 Candycane が正式公開されるまでのつなぎとしての BTS の有力候補は? 回答 有力候補は Mantis である。 Trac, Redmine サーバ環境的に厳しいので却下。 Chaw http://thechaw.com/ オープンソースじゃないので却下。 Mantis http://www.alles.or.jp/~so…

Windows へ Mantis をインストールする

環境 Windows XP Professional SP3 Apache 2.2.24 MySQL 5.0.77 PHP 5.2.9 Mantis 1.1.8 ダウンロード 下記より mantisbt-1.1.8.tar.gz をダウンロードする。 http://sourceforge.net/projects/mantisbt/files/ 展開 ダウンロードしたファイルをドキュメント…

CakePHP Model::beforeSave() は保存内容のみを変更する

環境 CakePHP 1.2 調査 モデルの保存前にコールバックされるメソッドである Model::beforeSave() でモデルデータを変更し、バリデーション エラーが発生した場合、beforeSave() での変更内容はビューに反映されるのか? 結果 反映されない。 考察 beforeSave…

CakePHP ロジックをコントローラに書いてしまう悪癖の動機

環境 CakePHP x.x 疑問 モデルに書くべきロジックをコントローラに書いてしまう悪癖の動機は何か? 悪癖を正常化するために何か工夫できるか? 回答 動機は、楽だから。 なぜ楽なのか? コントローラは制御を司る場所なので絶対に触れる場所であり、2つファ…

CakePHP 入力項目と非入力項目が混在するコントローラのパターン

環境 CakePHP 1.2 疑問 データベースから初期値を取得する項目群があり、項目群には入力項目と非入力項目が混在している場合、コントローラのロジックはどのようなパターンとなるか? 回答 コントローラは以下のパターンになる。 array( ... ), )); $this->…

結婚観

普段お世話になっている不動産会社の方と夕食。 食事をしながら色々な話ができた。 結婚 男性は奥さんを受け入れる十分な準備ができてから結婚したいと思うらしい。 女性は「準備も含めて一緒に作り上げていきたい」と思うらしい。 女性は共に作るという気質…

はてなダイヤリーが日毎にエントリをまとめてしまうので検索結果が不便

はてなダイヤリーはエントリを日毎にまとめて管理している。 そのため、検索した結果も日毎に結果が表示され、キーワードがヒットしたエントリと同じ日の関係ないページまで表示されてしまう。

はてなダイヤリーの移転先を検討した

はてなダイヤリーはエントリが1日単位にまとめられてしまうことに我慢ができない。 我慢しきれなくなったのでブログ移転を検討してみた。 結論 Livedoor 検討候補 Google Livedoor アメーバブログ 実際に検討したもの Google Livedoor アメーバはユーザー登…

はてなダイヤリーから livedoor Blog への移行が大変そう

環境 以下へ移行を考えている。 移行元: はてなダイヤリー 移行先: livedoor Blog ライブドアブログは、以下をサポートしている。 はてな記法 はてなダイヤリーからの引越 問題 livedoor Blog の受付データは MT 形式のみ。 そこで、はてなから MT 形式でエ…

はてなダイヤリーの見出しにある数字の羅列は何か?

はてなダイヤリーから livedoor Blog への移行に際して、投稿時刻をどこから引っ張ってくるか分からなかったので調べてみた。 見出しにある数字が投稿時刻を表している。 投稿事項のエポック秒らしい。 エポック秒なら値を拾ってそのまま strftime() に渡し…