[雑記]MBA(笑)取得

Posted under 雑記 by uechoco on 金曜日 25 2月 2011 at 08 : 02 : 12

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

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

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

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

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


[PEAR]HTML_CSS_MobileでUndefined index

Posted under php by uechoco on 木曜日 10 2月 2011 at 12 : 08 : 41

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

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

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

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

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

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

TEXT:
  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

Posted under 雑記 by uechoco on 日曜日 6 2月 2011 at 13 : 10 : 40

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

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

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

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

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

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

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

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


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

Posted under CakePHP by uechoco on 水曜日 2 2月 2011 at 16 : 26 : 33

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

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

php:
  1. class AppReadOnlyModel extends AppModel
  2. {
  3.     function _read_only_error()
  4.     {
  5.         trigger_error(sprintf('Cannot execute write query to <b>%s:%s</b>.', $this->useDbConfig, $this->name), E_USER_WARNING);
  6.     }
  7.    
  8.     /**
  9.      * save (WRITE系クエリを無効化する)
  10.      *
  11.      * @access public
  12.      */
  13.     final function save()
  14.     {
  15.         $this->_read_only_error();
  16.         return false;
  17.     }
  18.    
  19.     /**
  20.      * saveAll (WRITE系クエリを無効化する)
  21.      *
  22.      * @access public
  23.      */
  24.     final function saveAll()
  25.     {
  26.         $this->_read_only_error();
  27.         return false;
  28.     }
  29.    
  30.     /**
  31.      * saveField (WRITE系クエリを無効化する)
  32.      *
  33.      * @access public
  34.      */
  35.     final function saveField()
  36.     {
  37.         $this->_read_only_error();
  38.         return false;
  39.     }
  40.    
  41.     /**
  42.      * updateAll (WRITE系クエリを無効化する)
  43.      *
  44.      * @access public
  45.      */
  46.     final function updateAll()
  47.     {
  48.         $this->_read_only_error();
  49.         return false;
  50.     }
  51.    
  52.     /**
  53.      * delete (WRITE系クエリを無効化する)
  54.      *
  55.      * @access public
  56.      */
  57.     final function delete()
  58.     {
  59.         $this->_read_only_error();
  60.         return false;
  61.     }
  62.    
  63.     /**
  64.      * deleteAll (WRITE系クエリを無効化する)
  65.      *
  66.      * @access public
  67.      */
  68.     final function deleteAll()
  69.     {
  70.         $this->_read_only_error();
  71.         return false;
  72.     }
  73. }

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


Copyright © 2012 うえちょこ@ぼろぐ. WP Theme created by Web Top.