[雑記]MBA(笑)取得

Written by uechoco 2月 25
[雑記]MBA(笑)取得 はコメントを受け付けていません。
この記事を読む時間:26くらい

大事なことを書くのを忘れていました。

私、うえちょこは、MBAを取得しました!!!

MBAって?もちろん、MacBook Airですよ。

11 inchちっちゃくて良かー♪

鋭意セットアップ中ですが、持ち歩いて考え事に使うくらいのソフトはもう入っています。

[PEAR]HTML_CSS_MobileでUndefined index

Written by uechoco 2月 10
[PEAR]HTML_CSS_MobileでUndefined index はコメントを受け付けていません。
この記事を読む時間:159くらい

PC/mobile両対応のサイトを作ることになったので、初めてPEAR::HTML_CSS_Mobileを使わせていただきました。すばらしいライブラリを作ってくださった@yudoufuさんに感謝です。

さて、使い方は、ドコモだったら出力バッファ文字列に対してapply()するという単純なものなのですが、こんなエラーが発生しました。

  1. Notice (8): Undefined index:  h1, h2, h3, h4, h5, h6 [CORE/vendors/PEAR-1.9.0/HTML/CSS.php, line 2023]

ちなみにエラー部分で解析しようとしていたCSSはこんな感じです。いわゆるリセット用CSSの一部です。

  1. h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}

最初は複数指定が読み取れないのかと思ったのですが、そんなことも出来なければライブラリとして残念すぎるので、悩みつつ、とりあえずカンマが詰まりすぎていたのでスペースを入れました

  1. h1, h2, h3, h4, h5, h6{font-size:100%;font-weight:normal;}

・・・エラーがなくなりました。CSSの構文として間違っていたのでしょうか?とりあえず、まぁ、よしとするか。ちなみに、関連すると思われるバグチケットも発見しました

Bug #16544 :: HTML_CSS undefined index on malformed input

試した環境はphp5.1.6、PEAR 1.9.0、HTML_CSS 1.5.4(のはず)、HTML_CSS_Mobile 1.8.0です。

[雑記]もしかして:uechoco

Written by uechoco 2月 06
[雑記]もしかして:uechoco はコメントを受け付けていません。
この記事を読む時間:135くらい

とても、とてもすごいことを発見してしまいました。

Googleで「uechoco」と検索してみてください。きっとこういう検索結果がでてくるでしょう。

もしかして:うえちょこ」って出てくるんです

ついに、Google先生に認められた!かどうかはわかりませんが、昔よりは知名度が上がってきたんじゃないかと勝手に思い込んでいますw

この記事を書いていて、昔もこんな記事書いてた気がする感じがして、調べてみると、有りました。「[雑記]Google先生の教え(うえちょこ@ぼろぐの場合) : うえちょこ@ぼろぐ」という記事を、3年前、2008年1月4日に書いていました。このときはこのブログのタイトルである「うえちょこ ぼろぐ」というキーワードで検索すると、「もしかして:うえちょこ ブログ」とご親切に教えてくれるというものでした。この時、「いつか『うえちょこ ぼろぐ』で検索してももしかしてが出ないくらいに知名度をあげよう」なんて考えていました。今、検索してみると、こうなります。

そう、もしかしてが表示されない!!!3年前の目標が達成されていたようです。

ちなみに、もしかしてが表示されることと、知名度が上がっていることに、相関性があるかどうかはわかりませんww まぁ、勝手に思い込む分には誰にも害はないのでいいですよね?

そういうわけで、うえちょこはより一層ブログの執筆に勵むのであります!これからもどうぞよろしく^0^

[CakePHP]read-onlyなモデルを作る

Written by uechoco 2月 02
[CakePHP]read-onlyなモデルを作る はコメントを受け付けていません。
この記事を読む時間:335くらい

アプリを作っていると、複数のDBを使い分けたり、master-slave構成だったりすることは良くありますよね。そういったDB構成の場合、心配なのはread-onlyなテーブルに間違って更新をかけてしまわないかということです。

そこで、とっても簡易ですが、更新してしまわないようにする予防策をしておきます。read-onlyなモデルは、下記AppReadOnlyModelを継承するだけで安心できます(更新系処理のコールバック関数って以下の関数くらいでいいんですよね?)。CakePHP 1.3.7で試しています。

[phpcode]
class AppReadOnlyModel extends AppModel
{
function _read_only_error()
{
trigger_error(sprintf(‘Cannot execute write query to %s:%s.’, $this->useDbConfig, $this->name), E_USER_WARNING);
}

/**
* save (WRITE系クエリを無効化する)
*
* @access public
*/
final function save()
{
$this->_read_only_error();
return false;
}

/**
* saveAll (WRITE系クエリを無効化する)
*
* @access public
*/
final function saveAll()
{
$this->_read_only_error();
return false;
}

/**
* saveField (WRITE系クエリを無効化する)
*
* @access public
*/
final function saveField()
{
$this->_read_only_error();
return false;
}

/**
* updateAll (WRITE系クエリを無効化する)
*
* @access public
*/
final function updateAll()
{
$this->_read_only_error();
return false;
}

/**
* delete (WRITE系クエリを無効化する)
*
* @access public
*/
final function delete()
{
$this->_read_only_error();
return false;
}

/**
* deleteAll (WRITE系クエリを無効化する)
*
* @access public
*/
final function deleteAll()
{
$this->_read_only_error();
return false;
}
}
[/phpcode]

php4系ならばfinalキーワードを外してください。