2009年7月アーカイブ

全米が泣いた(呆れて)

| | コメント(0) | トラックバック(0)

アフタヌーンの編集長と八戸TVの会長は漢字も同じ同姓同名

| | コメント(0) | トラックバック(0)

opensocialネタ

| | コメント(0) | トラックバック(0)

mixiはnewUpdatePersonAppDataRequestで日本語保存すると化ける。

mixiはたまにcssの読み込みをサボる。
>IE6だけ?requestNavigateToで同じview内を飛ぶと発生するっぽい
>$('head').append('');して力ずくで解決

mixiはrequestNavigateToでstring以外の値を渡すとgetParamsで取得できない。

mixiのscript cacheを普通のscript tagに分解するfiddler scriptを書いてみた。
(これでlocalproxyを通しやすくなる)
速度とか気にしないならfiddler scriptもいけるかも。
if
(oSession.url.match(/app0\.mixi-platform\.com\/gadgets\/ifr\?country=JP/)) {
oSession.utilDecodeResponse();
var oBody =
System.Text.Encoding.UTF8.GetString(oSession.responseBodyBytes);
var script = '';
var template = '';
oBody = oBody.replace(/ src="\/gadgets\/concat\?rewriteMime=text\/javascript&(.+?)".+<\/script>/i,
function (nil, match) {
var qstr = match.split(/\&/);
for(var i = 0, l = qstr.length;i < l;++i) {
var k_v = qstr[i].split(/\=/);
k_v[1] = unescape(k_v[1]);
if (!k_v[1].match(/\.js$/)) continue;
script += template.replace(/%file%/, k_v[1]);
};
FiddlerObject.alert(script);
return script;
});
oSession.utilSetResponseBody(oBody);
};

google botのAccept-Languageが空な件はJSで切り替えるというのもありかも

| | コメント(0) | トラックバック(0)

botはJS効かないし。JS切ってるenな人はどうしようもないけど。

電気屋のポイントでPlaggerの本買ってみた

| | コメント(0) | トラックバック(0)

家電買うよりお得(な気がする)

opensocialネタ

| | コメント(0) | トラックバック(0)

jquery-opensocial-simple使うと一回の通信で複数の情報をとるような処理がで
きない。
コマンドっぽくしてもいいけど、そうするとjqueryっぽくないんだよなぁ。。。

opensocialでキャッシュ関係の指定がまともに効いた記憶がない。
外部接続APIでも、xmlでも、画像キャッシュでも、url parameterでも
とにかく無効化を指定して効いたことがない。
信じられるのはブラウザキャッシュの無効化とlocal proxyくらい。

last script tag

| | コメント(0) | トラックバック(0)

var currentScript = (function (e) { if(e.nodeName.toLowerCase() == 'script') return e; return arguments.callee(e.lastChild) })(document);
で、「動かない」との問い合わせ2件目
ちゃんとファイル名を見るように修正。

ATOK賢くていい

| | コメント(0) | トラックバック(0)

これで月300円は格安。
ただ、たまにmozilla系のソフトで効かなくなる(MS IMEになる)

自分で書いたコードが3時間後に理解できなかった

| | コメント(0) | トラックバック(0)

やはり短ければいいってもんじゃないなーと思って書き直した。

PHPでメールを送るときに件名が文字化けする問題

| | コメント(0) | トラックバック(0)

http://q.hatena.ne.jp/1117708187
PHPでメールを送るときに件名が文字化けする問題でこんなの見つけた。
でもこれ参照元の情報は2003年で、今発生した環境はbuilt: Jul 23 2008。。。
5年以上放置?
しかも報告されてる環境は4.3.11だけど、手元の環境は5.2.3。。。

.keyupで.valをいじるとieでカーソルの位置が末尾に戻ってしまう問題

| | コメント(0) | トラックバック(0)

単純に末尾に移すだけなら簡単。
現在位置を取ることもできるので変なところへ飛んだカーソルを復元することも可能。
ただ、クロスブラウザじゃないし、ざっくり探した範囲ではjQueryプラグインもないので追っかけるとはまりそう。
(たまにちゃんと制御してるサイトもあるので解決することは可能だと思うけど)
気になる人はsetSelectionRangeとかcreateTextRangeをgoogleにでも投げてください。

mixiアプリの紹介文に開発者のcanvasへのリンク

| | コメント(0) | トラックバック(0)

mixiアプリの紹介文のURLは自動でリンクになるのでここに開発者のcanvasへのリンク入れるといいかも。
(プレビューあるならそっちがいいけど)

最近Fiddlerで通信が表示されない

| | コメント(0) | トラックバック(0)

最近Fiddlerで通信が表示されないなーと思ってたけど、
(AutoResponderとかは正常に動いていた)
ESET SmartSecurityが中継してるのが原因だったよう。
(Fiddlerは標準でブラウザからの通信しか表示しない)
表示を「All Processes」にしたら表示されるようになった。

opensocialネタ

| | コメント(0) | トラックバック(0)

よく考えたらたいていのimg hover,pngfixライブラリで
opensocialに対応してるのないかも。
(コンテナがimg cacheするので)
sisso.jsを対応させてみた。

あちこちからデータ持ってきて表示ってのが多いので
JSDeferredを使いたいけど、使い方がよくわからない。
と、言うか自作のjQuery.opensocial_simpleでは使えない気がする。
(非同期処理もとりあえずいったん値を返してから処理するので)

複数のIDで指定したユーザの情報を取得する機能を実装してみた。
前にgoogle groupで中の人がしゃべってたのを覚えてたのでよかったけど、
公式ドキュメントだけじゃわからんぞこれは。。。

自分の携帯からのメールに「htmlをimgのsrcにセットしてキャッシュさせる」ってあった。
見直してとんでもない内容にびびる。

opensocialは動的に追加したhtml($('body').append(''))の参照先も自動的にキャッシュ経由で読まれるように書き換えられてる気がする。
ほんとだったらすごいけど、気のせいかも。

端末がXPになったので気兼ねなくすごいたぶちさん使用中

| | コメント(0) | トラックバック(0)

とりあえずFiddler,KeePass,Skype,iTune,Eclipse(OSDE),Bubblesを入れた。

Fiddlerを起動したまま終了するとproxyの設定を127.0.0.1にしたままになることがある

| | コメント(0) | トラックバック(0)

この状態でwindowsのアクティベーション要求されるとネット経由で認証できなくなる。
ひさしぶりにMSに電話した。

戦うプログラマ読み中

| | コメント(0) | トラックバック(0)

読み物としては面白いけど、参考になる話はあんまりなかった。
上巻の半分しか読んでないせいだと思う。
テイクダウンとかカッコウは面白くて結構ためになったのでこれから期待。

mixiアプリ用にJSで簡単テンプレートエンジン組む

| | コメント(0) | トラックバック(0)

昔Perlでテンプレートエンジン作った経験が生きてる
(今後どんな機能が必要そうか、互換性保ったままどう拡張するかがわかる)

$(':checkbox').val([1,2,3,4])でcheckboxを一括で:checkedにできる

| | コメント(0) | トラックバック(0)

select[multiple="multiple"]でも同じようにできる。
指定された値以外の項目は:not(:checked)になる。

google analyticsで各ページ毎の検索ワード、参照元URL、飛び先URLの表示させ方がわかった

| | コメント(0) | トラックバック(0)

このUIわかりにくい気がする。

技術英語の読み方ってページで「parameterとvariableは明確な違いはない」って書かれててびびった

| | コメント(0) | トラックバック(0)

ちがうよ!ぜんぜんちがうよ!

opensocialネタ

| | コメント(0) | トラックバック(0)

shindigは.getとか.getDOMで取ってきた日本語が化ける。
httpheaderでutf-8を指定しても化けるのでそんなもんなのかな。
encodemaniaxでjavascript形式にしてjsonにして.getJSONで読み込んだ。
何か間違ってるのかなぁ。。。
->shindigのバグっぽい。mixiでは普通にとれる

shindigのバグがmixiで結構直ってる。
っていうかshindigバグおおすぎ。。。
(OSDE付属のバージョンが低いのか?)

mixiはDOM内からscript tagを抽出して一ファイルにまとめてくれる。
(勝手に)
が、関係ないscript tag(srcの無い直書きのもの)もなんかしてるっぽい。
script tagにclassつけてたら勝手に削除されてた。
まあ、普通やらないからなぁ。
(script tag内にJSのコメントで内部用のメッセージ文言を保持してた)

JSのローカルキャッシュならEx DOM Storageが興味深い。
(IE6+でlocalStrageが使えるようになる)
キャッシュには使ってみてもいいかも。
特にmixi appには有効かも。

mixi app tips

| | コメント(0) | トラックバック(0)

コンテナでwindow.configurationって定義してるので
var configuration = {};とかやるとまずい。
(名前空間切ってほしいなぁ)
cssとか、htmlってのも要注意

owner_idの取得はサーバに聞くしかなさそう。
myspaceではいくつか抜け道あったんだけどなぁ。。。
(location.href.match(/owner_id=(\d+)/)[1]とか)

opensocialのgadgets.window.adjustHeight();はposition:absoluteしてる要素は無視する

| | コメント(0) | トラックバック(1)

float:rigth;position:relative;top:-nnpx;して回避可能。
(今回は使わなかったけど)

「ギャリック砲」をyahooとgoogleで検索するとおもしろい

| | コメント(0) | トラックバック(0)

yahooはベジータの紹介ページ(画像いっぱい)がトップだが、
googleはwikipediaがトップ。
yahooトップのページはSEO対策もされてないっぽいし、
タイトルどころか本文にも「ギャリック砲」なんて書かれてない。
でも、検索したときにどちらが適切かといわれたらyahooだなぁ。。。
普段yahooはgoogleと比べてサイト評価アルゴリズムが簡単な印象あるけど、
検索文とのマッチでいえばyahooの方がすごいかも。
とりあえずクローラを作ったとして「ギャリック砲」でこのサイトが
トップに出るアルゴリズムはかなり大変な感じになると思う。
http://www.ahww.or.jp/ani/cel_01.htm

一度jQueryでアクセスした要素は内部キャッシュに保存してるけど、IEで.htmlをとったときにそのIDも一緒にコピーされる

| | コメント(0) | トラックバック(0)

「jQuery\d+="null"」みたいになってるけど、これがあるとjQueryでアクセスできなくなるっぽい。
キャッシュを吹っ飛ばす方法がわからなかった
(jQuery.cacheを吹っ飛ばすのは危険すぎると思った)
ので、この部分だけ無理矢理別処理書いて逃げた。

IEはwindow.opener.close()したあとでも、window.opener.locationがtrueになる

| | コメント(0) | トラックバック(0)

で、window.opener.location.reloadの存在確認をすると()をつけて実行する前でもエラーになる。
-> try {} catch (e) {}して回避

いいコードは知識でくめるけど、デバッグは経験と勘が重要だとおもう

| | コメント(0) | トラックバック(0)

jQueryでwindow.openerの中で$をいろいろしようとするとselector is nullになる

| | コメント(0) | トラックバック(0)

たぶん普通のwindowとjQueryの見てるwindowが違うのが原因だと思う。
呼び出すときにsetTimeout(function () {}, 0);して解決

IEはDOMの変更が.html()に微妙に反映されない

| | コメント(0) | トラックバック(0)

checkedが反映されないものこれっぽい。
.nameの修正が反映されない問題もある。

各種サイトのお問い合わせフォームUIが気になる

| | コメント(0) | トラックバック(0)

登録画面とか、お問い合わせフォームってかなり重要だと思うけどどこも結構おざなり。

google analytics用GreaseMonkeyほしいな

| | コメント(0) | トラックバック(0)

キーワード毎の検索順位表示とか、複数ワードの除外とかしたい。

ヘルプとかの内部リンクをgoogle analyticsに飛ばすJS

| | コメント(0) | トラックバック(0)

ユーザがどの項目に注目してるかわかるかも
new function () {
var reg = new RegExp('^' + location.href.split(/#/)[0]);
$A(document.getElementsByTagName('a')).each(function (a) {
var href = (a.href || '').replace(reg, '');
if (!href.match(/^#/)) return;
Event.observe(a, 'click', function (env) {
var href = (Event.element(env).href || '').replace(reg, '');
pageTracker._trackPageview((location.pathname + '/').replace(/\/\/$/,
'/') + href.replace('#', ''));
});
});
};
諸事情によりprototype.js

helpの内部リンクにはanalyticsの解析タグ入れる

| | コメント(0) | トラックバック(0)

どの項目が読まれたのかわかる
でもできれば各項目を個別ページにした方が解析は楽

google analyticsにはiPhoneユーザだけ表示とかできる。

| | コメント(0) | トラックバック(0)

なんに使うんだよw

そのうちandroidユーザだけの表示もできるのかな。

jQuery 1.3.2の変更点

| | コメント(0) | トラックバック(0)

http://semooh.jp/jquery/cont/doc/release_1.3.2/
>.appendTo()などが、新たに追加された要素を返すように
この修正微妙に怖いかも。
たぶん大丈夫だと思うけど、appendToは結構わかって使ってなかったときもあるので若干不安。

google(yahooかも)はIE7,6で違う検索結果を返すとか聞いた

| | コメント(0) | トラックバック(0)

表示が崩れるページはそのブラウザで検索すると順位が下がるとか。
うそかも。うそであってほしい。

document.timeContainer

| | コメント(0) | トラックバック(0)

AptanaによるとIEにはdocument.timeContainerってのがあるらしい。
どこにもそんな情報無いけど、何だろう?

google analyticsの使い方

| | コメント(0) | トラックバック(0)

入力項目のどの項目がどんなエラーになったかとか取るとすごいいい気がする。
エラーが頻発してる項目改善すればいいし。

type="text/javascript"> _uacct = "xxxxx-x";
urchinTracker("/404.html?page=" + _udl.pathname + _udl.search);
を404に入れれば、どこから404にリンクされているかわかる。

tenjin.web/5(クライアントサイドにおけるMVCの設計と実装)の資料みる。

| | コメント(0) | トラックバック(0)

http://tenjin-web.jottit.com/workshop/mvc
http://tockri.blog78.fc2.com/blog-entry-185.html
http://d.hatena.ne.jp/kiwanami/20090315/1237137796
やはりサーバサイドと比べると結構ややこしい(気がする)
でも、実際そこまで困ってないのは規模が小さいものばかりやってるからかな。。。

libraryの作り方

| | コメント(0) | トラックバック(0)

調子に乗ってmethodの乗っ取りでいろいろ実装してたけど、
結局詰まって次の処理手順を変数に持たせる形へ。

非同期実行時の排他制御は変数じゃないときつい。。。

emacs(meadow)の勉強中。。。

| | コメント(0) | トラックバック(0)

gnuservで新規立ち上げ時に既存のwindowのバッファに入れられるようになった。
ahkでいろいろ変更してると使いにくい。

jQueryの微妙な仕様8選

| | コメント(0) | トラックバック(0)

・$.grep
$.map、$.eachも含めて書式が微妙
・$.data
書式と名前を指定しないと全部吹っ飛ばすこと
・:hidden
:textや:buttonと同じように使うとまずい
・attr(key,fn)
使う?
・andSelf()
わかりにくい
・makeArray()
複数配列受け取らない、名前長い
・inArray
1.2系はIE7で動作おかしかったけど1.3系は直った?
・uniq
1.2系はjQuery objectしか受け取らなかった気がする

QUnit使い中。

| | コメント(0) | トラックバック(0)
ネットにwindow.openして別htmlの検証やる方法が紹介されてたけど、
タイミングの問題か、スムーズスクロール系の動作が発動しないことがあった。
いろいろやったけど解決しなかったので、
window.openをiframeに変更して解決。
QUnit用の追加ライブラリみたいなのはもうちょっと作りたいかも。
(成功するまでこのfunctionを呼び続けるとか)

アフタヌーンの編集長と八戸TVの会長は漢字も同じ同姓同名

| | コメント(0) | トラックバック(0)

Q「あたり屋ってなんですか?」、A「ATARI社のレア基盤を買い集めるブローカーだと思ってください」

| | コメント(0) | トラックバック(0)

天才とは99%の努力を無にする、1%のひらめきのことである

| | コメント(0) | トラックバック(0)

人が人を嫌う理由は、嫉妬か同族嫌悪

| | コメント(0) | トラックバック(0)