12月
11
2009
0

[jQuery]IEがajaxのリクエスト結果をキャッシュする問題の解消方法
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

DBにあるデータをランダムに取得する処理をjQuery.ajaxで書いたところ、Firefox(多分ヤツ以外は)ではうまくいくけど、IEだけは常に同じデータを取得してくるという問題に遭遇。
どーせヤツのことだ、ググれば答えは一発で出てきた。

どうやらIEはXmlHttpRequestの結果をキャッシュするらしい。
そして、それを防ぐためには$.ajax()の前に下記を追加すればいいとのこと。

$.ajaxSetup({ cache: false });

参考サイト

IEがajaxキャッシュするのを抑制 – はらぐろブログラマン
大変助かりました。ありがとうございます!

余談ですが・・・

僕のまわりでは、もうMSはブラウザを作らなければいいのにってみんな言ってます。
素晴らしいブラウザは他にたくさんあるんだから、OS作りに全精力傾けて欲しいものです。。。

Written by suzukenn in: メモ | タグ: ,
9月
26
2009
0

[Eclipse]同じファイルを分割表示
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

皆さん当たり前にやってることかもしれませんが、僕はずーっとできないと思ってました…orz

Eclipseで同じファイルを分割して表示する方法。

  1. タブを右クリック->新規エディタ で新しいタブに同じファイルが表示されます(たったこれだけw)
  2. あとは新しく作られたタブを画面の端っこにドラッグして分割できます
Written by suzukenn in: メモ | タグ: ,
9月
12
2009
0

[CakePHP]paginateでbindModel
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

これはみんなは知ってることなんだろうなぁと思いつつPOST。
僕は少々気付くのに時間がかかりました。

問題

paginateでbindModelしてもうまくいきません (><)

回答

paginateでbindModelを使うときはbindModelの引数にfalseを渡しましょう

		$this->Model->bindModel($bind, false);
		$this->paginate = array(
			"Model" => array(
				"conditions" => $conditions,
				"limit" => 30,
				"order" => array("Model.created" => "ASC"),
			),
		);
		$lists = $this->paginate("Model");

解説

bindModelの第2引数はクエリを投げた後にbindをリセットするかどうかのフラグで、デフォルトはtrueになっています。
paginateでデータを取得する場合、最初にデータ数をカウントするクエリを投げるので*1 カウントではbindされているのですが、2度目のデータ取得ではbindが外れてしまうことが原因でした。
bindModelの第2引数にfalseを渡すと、その処理においてはbindの設定が持続しますのでカウントした後のデータ取得でもちゃんとアソシエーションが維持されると言うわけです。

  1. データ数/limitでページ数を算出したりするためでしょう。 []
Written by suzukenn in: メモ | タグ: ,
8月
28
2009
0

[SEO][メモ]google,Yahoo,bing(msn)のサイトマップ登録先
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

新しいサイトを立ち上げたのですが、旧msn(現bing?)のサイトマップの登録先がわからなくて探しました^^;
主要検索サイトのsitemap.xmlの登録先をメモしておきます。

2009-08-28時点
Google
yahoo
msn(bing)

参考にさせていただいたのはこちらのサイト
XML サイトマップファイル(sitemap.xml)の作成方法 (SEO対策) | ネットビジネス支援 情報サイト
他にもSEO関連の記事がとても充実していて勉強になります。
フィード登録して、後でじっくり読もうっと!

Written by suzukenn in: メモ | タグ: ,
8月
04
2009
2

[PHP]文字列の下○桁を取得する一番の方法を教えていただきました
このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

miau_jpさんより、Twitter入電!素敵な方法を教えていただきました。


$keta = 4;
// 文字列
$test = "24578455";
$result = substr($test, -$keta);
// 数字
$test = 24578455;
$result = $test % pow(10, $keta);

// 指定桁数未満の場合0で埋めるなら
$result = sprintf("%04s", substr($test, -$keta));

スッキリしました。miau_jpさん、どうもありがとうございます!

—以下元の記事

例えば

24578455の下4桁、8455を取得したいとき、皆さんならどうやります?
多分セオリー的なやり方はあるんでしょうけど、僕はわからないので、

		$test = "24578455";
		var_dump(strrev(sprintf("%-04.4s", strrev($test))));

こんな風に訳のわからない方法*1 でやってるんですが、お優しい方助言いただけたら幸いです。

  1. strrevで文字を反転させて頭4桁取得、4桁未満なら0埋、で、最後にstrrevで再反転してます。愚かですよね…orz []
Written by suzukenn in: 記事 | タグ: , ,

| I have been indebted to Aeros Theme. | Background image owner is NASA.