新しいブログに引っ越しました

tomotomoSnippetは新しいブログに移動しました
http://develtips.com/

2009-12-21

[GoogleMapAPI]マウスホイールによるズームイン・ズームアウトを有効にする

myGMap2.enableScrollWheelZoom();


この一行でマウスホールによるズームイン&ズームアウトが有効になります。

2009-12-18

JQuery.animate()のbackgroundColorにハマった

JQueryで背景色を変えるアニメーションを作ろうとした。

$('#element').animate( {backgroundColor: '#F2ABCA'}, 'fast' );


動かない。
FFのエラーコンソールを見ると
色であるべきところが'NaNpx'になっています。
と怒られました。

調べると公式ドキュメントにちゃんと書いていました。
http://semooh.jp/jquery/api/effects/animate/params%2C+%5Bduration%5D%2C+%5Beasing%5D%2C+%5Bcallback%5D/
そもそも数値型の値をとらない属性(backgroundColorなど)には、animate関数は対応していません。

じゃあどうするかというと、Color Animationプラグインを読み込めばいいみたいです。
http://plugins.jquery.com/project/color



$('#element').animate( {backgroundColor: '#F2ABCA'}, 'fast' );


今度はちゃんと動きました。

2009-11-22

[CakePHP]Model::afterSaveでユーザー名を自動登録する

ユーザー作成の際にusernameを自動で登録したい場合があるかもしれません。
そんな時は、モデルのafterSaveメソッドを使って一発登録することができます。


// APP/models/user.php
function afterSave($created)
{
// 新規登録時自動的にusernameを作成
if ($created) {
$username = $this->createUsername();
$this->saveField('username', $username);
}
}

function createUsername()
{
// ランダムでユーザー名を作成するコード
}


コントローラで$this->User->save($data)を実行すれば、自動的にユーザー名を登録することができます。

Model::afterSaveメソッドの引数$createdは
INSERT時にはtreu、それ以外の場合はfalseが代入されます。
このサンプルの場合、ユーザー情報を編集してもユーザー名は変更されません。

2009-09-25

amadana電卓の説明書

amadana 電子計算機LC-104(写真はLCA-104-OL-DB)

愛用しているんだが、説明書を無くしてしまった。
と思ったら、ちゃんとPDFでダウンロードできるように用意されていました。
http://www.amadana.com/customer/download/lc104.pdf

使い方を一部メモ。。。
【消費税の計算】
・[5]→[SET UP tax]→[WITH tax]で、5%に設定
・[SET UP tax]→[WITHOUT tax]で、税率の確認
【レート換算】
・91と入力→[RATE]→[LOCAL]で、$1=91円に設定
・100と入力→[CURRENCY]で、9,100円($100を円に)
・[RATE]→[CURRENCY]で、レート確認

レート換算機能って便利だなぁ。


ついでに、レート換算ができるサイト。
為替レート変換君
リアルタイムでレート換算できる。Google電卓のレート換算よりは確かそう?



ついでのついでに、Google電卓が結構高機能な話。
http://www001.upp.so-net.ne.jp/yama-k/memo/googlecalc.html
http://google-mania.net/archives/1032

2009-09-11

CakePHPで単一フィールドをアップデートする方法

元記事:
How to update a single field in CakePHP Danny's Learning Box

単一のフィールドの値を保存するには、saveFieldメソッドがあります。

$this->Post->id = 15;
$this->Post->saveField('hits', 1);

実行してみれば分かりますが、`modified`フィールドも更新されてしまいます。
記事のヒット数を増やすだけなら、modifiedが更新されると困る。

そこで、元記事のコード。(オリジナルとは違うよ)

$data = array(
'Post' => array(
'id' => 15,
'hits' => 1,
'modified' => false
)
);
$this->Post->save($data, false, array('hits'));

第2引数でバリデーションをオフ。
第3引数でセーブしたいフィールドを配列で指定。
実行してみるとmodifiedは更新されず。
UPDATE `posts` SET `hit` = 1 WHERE `posts`.`id` = 15

ミソはmodifiedにnull以外の値を渡すことです。
だから、trueでも良いし、2009-09-11でも良い。
何となく、更新したくないんだからfalseが良いかな、ってことで例ではfalseを代入しました。

It is important that `modified` does not have value of null,
if you don't hope to update `modified` field.
(元記事が英語だから英語で書いてみたけど、あってんのかな?)

CakePHP User in Japan
modifiedフィールドを更新したくない場合・・・
この投稿の問題も解決ですな。

BloggerでSyntaxHighlighterを使用する

http://fazibear.blogspot.com/2007/09/blogger-syntax-higlighter.html
上記記事を基にBloggerにSyntaxHighlighterを設定します。

1.http://fazibear.googlepages.com/blogger.html にアクセス
2.Add to Bloggerをクリック

おわり。

テスト
Class Example extends Object
{
function Example() {
echo "Hello";
}
}


できたー!
感動するぐらい簡単でした。

人気のエントリー