meigens.com をリニューアルしました。
といっても内部的なリニューアルで、ユーザの皆様がご利用される機能についてはほとんど変更ありません。一点だけ、新規の会員登録でメールアドレスの認証が必要となりました。ご不便をおかけいたしますが、何卒ご理解とご協力をお願いいたします。
2008年2月29日
2008年2月28日
移植
meigens.com を自作のフレームワークに移植していましたが、ほぼ完了しました。
ついでにいくつか新機能を実装しています。
現在テスト中です。
なお、手元の記録によると、およそ60時間もかかっています!
(フレームワーク自体の改修含む)
まだまだPHPerとしては、ひよっこですね。
ついでにいくつか新機能を実装しています。
現在テスト中です。
なお、手元の記録によると、およそ60時間もかかっています!
(フレームワーク自体の改修含む)
まだまだPHPerとしては、ひよっこですね。
2008年1月15日
ブックマークレットを作成しました
更新履歴です。
- 名言登録のためのブックマークレットを作成
- ブログパーツの幅がIE6で期待した値にならないバグを修正
- 画像、CSSのキャッシュを制御する仕組みを導入
- 名言登録画面に名言の改行を削除するリンクを追加
2008年1月3日
JSONPで時々エラーになる
meigens.com で提供しているAPIはJSONPに対応しています。
これを使いブログパーツを実装しているのですが、時々コールバック関数の呼び出しが失敗します。今のところ原因不明です。
ブログパーツのJSONPの処理は以下のようになっています。
レスポンスを受信完了した時点でmeigens_jsonp_get_nameで定義した関数が呼び出されるはずですが、呼び出されないことがあります。Firebugで調べてみると関数が見つからないようです。定義しているはずなのに……。
これを使いブログパーツを実装しているのですが、時々コールバック関数の呼び出しが失敗します。今のところ原因不明です。
ブログパーツのJSONPの処理は以下のようになっています。
- meigens_jsonpを呼び出すと、JSONPでデータを取得しに行き、コールバックを呼びます。
- meigens_jsonp_get_nameは現時刻とカウンタをもとに生成した名前でJSONPの結果を受け取る関数を定義します。
- meigens_jsonp_loadは指定されたURLに接続します。
var meigens_counter = 1;
var meigens_scripts = {};
var meigens_charset = 'utf-8';
function meigens_jsonp(url, callback)
{
var funcname = meigens_jsonp_get_name(callback);
var replaced = url.replace(/{callback}/, funcname);
meigens_jsonp_load(replaced, funcname);
};
function meigens_jsonp_get_name(callback)
{
var name = 'meigens_jsonp_callback_' + (new Date).getTime() + '_' + meigens_counter;
meigens_counter++;
var cb = function(json)
{
eval('delete ' + name);
callback(json);
var head = document.getElementsByTagName('head').item(0);
head.removeChild(meigens_scripts[name]);
delete meigens_scripts[name];
};
eval(name + ' = cb');
return name;
};
function meigens_jsonp_load(url, name)
{
var script = document.createElement('script');
script.type = 'text/javascript';
script.charset = meigens_charset;
script.src = url;
var head = document.getElementsByTagName('head').item(0);
head.appendChild(script);
meigens_scripts[name] = script;
};
2007年12月29日
2007年12月19日
タスクの優先順位
狩野分析法(参照)で現在のタスクの優先度を考えてみました。
あったら
→あったらいいかも、なかったら特には
→どっちでも
お気に入りに追加機能
→あったらいいかも、なかったら別に
→どっちでも
Google ガジェットを作る
→あったら嬉しい、なかったら別に
→魅力的
名言登録時に、Firefoxのみ同じリクエストが2回来る対応
→あったらいいかも、なかったら特には
→どっちでも
選択したテキストを登録するブックマークレット
→あったらいいかも、なかったら別に
→どっちでも
AJAXでの次の名言のロードが失敗することがある。時間をおいてリトライとかするか?
→あったら嬉しい、なかったら困る
→必須
通報ボタン。よろしくないものが登録された場合のため
→あったらいいかも、なかったら別に
→どっちでも
タグの区切りをカンマにする
→あったらいいかも、なかったら別に
→どっちでも
というわけで、AJAXのロード失敗時のリトライが1位、Googleガジェットが2位ですね。
これに従って開発することにします。
あったら
- うれしい
- いいかも
- 特には
- 別にそれでも
- 困る
- うれしい
- いいかも
- 特には
- 別にそれでも
- 困る
→あったらいいかも、なかったら特には
→どっちでも
お気に入りに追加機能
→あったらいいかも、なかったら別に
→どっちでも
Google ガジェットを作る
→あったら嬉しい、なかったら別に
→魅力的
名言登録時に、Firefoxのみ同じリクエストが2回来る対応
→あったらいいかも、なかったら特には
→どっちでも
選択したテキストを登録するブックマークレット
→あったらいいかも、なかったら別に
→どっちでも
AJAXでの次の名言のロードが失敗することがある。時間をおいてリトライとかするか?
→あったら嬉しい、なかったら困る
→必須
通報ボタン。よろしくないものが登録された場合のため
→あったらいいかも、なかったら別に
→どっちでも
タグの区切りをカンマにする
→あったらいいかも、なかったら別に
→どっちでも
というわけで、AJAXのロード失敗時のリトライが1位、Googleガジェットが2位ですね。
これに従って開発することにします。
2007年11月30日
今後の予定
今後の meigens.com の開発予定&アイディア。
- 再生のカウントダウンと操作ボタンが離れているので、関連がわかりにくいかも。
→右寄せします
- お気に入りに追加機能
- どこかとコラボしてみたいなあ
→名言を提供しますよ!
- Google ガジェットを作る
→誰か作りませんか(笑)
- 名言登録時に、Firefoxのみ同じリクエストが2回来る
→重複チェックしているので多重登録にはなっていないが気になる
→名言の重複チェック用にハッシュのカラムを追加しようかな
- 選択したテキストを登録するブックマークレット
→これは早めに作ります
- AJAXでの次の名言のロードが失敗することがある
→時間をおいてリトライとかするか?
- 通報ボタン
→よろしくないものが登録された場合のため
- タグの区切りをカンマにする
→どうしよう……? 検討中。
登録:
投稿 (Atom)