Pages

2011年8月23日火曜日

Zend_Form エラー文言で項目名を表示させたい

ん~ どうもZend_Formってやつはこういうところですぐにつまづくな。。

とりあえず正規の方法でできる事を調査してみた。

結果としては、Zend_TranslatorをElement単位で指定してやるしかなさそうでした。
%value% みたいにElementのnameをZend_Validateに渡せたら文句無いのにな。。

以下例です。(試してないので間違ってたらゴメンなさい)

$translate = new Zend_Translate(
  array(
    'adapter' => 'array',
    'content' => '/path/to/titleElement.php',
    'locale'  => 'de',
    'delimiter' => ':'
  )
);


$form->getElement('title')->setTranslator($translate )
titleElement.csv の中はこんな感じ?
return array(

    "Value is required and can't be empty" => "タイトルは必須です。",
);

2011年8月5日金曜日

今日は開発に関してでは無いですが、気になった記事があったので。


http://mag.executive.itmedia.co.jp/executive/articles/1107/11/news012_2.html

以下抜粋----------------------------------

・上司が期待している力で若手の認識が低いのは
(1)「困難を克服する力」
(2)「与えられた仕事や目標をやりぬく力」(%差は小さいが、順位差が大きい)

・若手が成長したいと考えるが、上司が重要視しないのは
(1)「業務に関する知識や技術」
(2)「仕事のおもしろさを感じる力」

------------------------------------------

前にテレビでドラッガー系の番組をやってたんですが、その中で会社は面白い仕事を積極的に選ぶべきだとありました。
たしか理由は社員のモチベーションアップから社員の質が向上し、会社に貢献する結果となるという内容でした。


2011年8月2日火曜日

Galaxy SⅡのテレビチューナーが使いものにならない。。

ドコモでは買う時に説明してるところもあるそうだけど、大阪府茨木店では何の説明もなかった。。
これは必要だろう。。

酷い。。酷すぎて最近は映らない事を逆にネタにしてるよ。。
阪急電車に乗っても映らない。。
街中でも映らない。。
車の中でも映らない。。
どこで見れるんですか。。

リコールお待ちしています。。
とりあえずドコモショップに持って行ってみよう~♪

2011年 ドコモ冬のLTE Androidモデルは見送りが無難

http://gigazine.net/news/20110801_docomo_packet_flat/

上記ページを見ると下記のようなコメントが。

冬にはXi対応スマートフォンを4機種(国産2機種、海外2機種)発売する予定ですが、ヘビーユーザーの多いLTEの料金体系については、従来のFOMAのようなパケット定額プランを継続していくのは苦しく、従量課金を検討しているとのこと。

冬にはLTE Androidが展開されるとドキドキしてたけど、エリアも問題だけど料金的な問題もありそうなので盛り上がりはなさそうですね。。

とりあえず今年の冬にLTEは維持費も高そうだしやめた方がよさそうですね。。

2011年7月7日木曜日

PHP pdo_oci を利用してDB(SJIS) の時にUTF8で取得したい場合

PHPのDB接続モジュールは非常にできが悪い。。
MSSQLの時も苦労した。。

今回もや。。
もう嫌や。。
PHPで商用DBは絶対使わない方がいい(T。T

今回の原因はDBがSJISの時にvarchar2(100)なんてカラムを作成して「あ」を50文字入れる。
すると100byteいっぱいになる。

それをPHPからPDO_OCIを利用してUTF8で取得しようとする。
すると、こんなエラーが出る。

「PDOStatement::fetchAll(): column ** data was too large for buffer and was truncated to fit it in ***」

バッファー容量より大きいぞ。っていう内容だと思う。
調べてみるとどうやらPDOがデータを取得しようとした際にDB側の情報を見てバッファ容量を確保する。
しかしこの際にDBはSJISでUTF8でデータくれっって言ってるんだから、1.5倍するとかしてバッファ確保しないと取得できないに決まっている。
しかしそこは全く考慮せずに普通にDB側で200byteなので、200byteしか用意しない。。
結果容量足らずにエラー。。

以下内容によって対応可能だが、これやっちゃうとSJIS ORACLE専用のモジュールになっちゃう。。


# cd ext
# cd pdo_oci
# vi oci_statement.c
510行目付近
col->maxlen = data_size;

col->maxlen = data_size*1.5;
# ./configure
# make
# make install

Followers