http://plnet.jp に対応サービス一覧のページと、対応サービスやたら増やしてみました。単にWebサービスの一覧としていいかなとか思いました。
ユーザの方が手動でフィードを登録してる中から登録できそうなサービスを片っ端から対応しました。かなり疲れた…。
登録しまくってみると、これはいい!というところもあれば、これはひ(r という部分もいろいろありました。 さらに増やしたいので知ってるサービスが抜けてたら教えてください。
対応できる条件は、”“(idとかじゃなくて)ユーザ名からフィードURLが推測できるもの”です。 対応っつってもdel.icio.usでいえば、”“http://del.icio.us/rss/##username##”みたいなフォーマット用文字列を手で登録してるだけです。
一個前のエントリをふまえて、http://plnet.jp のJSONP使ったwidgetをIE対応にしてみました。
<div id="widget"></div>
<script type="text/javascript" src="http://plnet.jp/scripts/Plnet/PlnetWidget.js"></script>
<script type="text/javascript">
var widget = new PlnetWidget();
widget.draw('widget', 'komagata'); // target, username
</script>
HTMLの好きな場所に↑を書く。(サンプル) 元のサーバが503出したりしてるので動かない時があるかも。
そもそも以前のエントリ含めて、「ただのブログパーツじゃん、何が嬉しいの?」って話ですが、このPlnetWidget.jsのようなもの自体を”“サードパーティ”が”“HTMLだけで(=サーバ無しで)”作れるとこが嬉しさです。
(function (modules) {
/*
for (var i = 0; i < modules.length; i++) {
var script = document.createElement("script");
script.type = 'text/javascript';
script.src = modules[i];
document.getElementsByTagName("head")[0].appendChild(script);
}
*/
var script = '';
for (var i = 0; i < modules.length; i++) {
script += "<script type=\"text/javascript\" src=\"" + modules[i] + "\"></script>\n";
}
document.write(script);
})([
'http://plnet.jp/scripts/MochiKit/Base.js',
'http://plnet.jp/scripts/MochiKit/Iter.js',
'http://plnet.jp/scripts/MochiKit/DOM.js',
'http://plnet.jp/scripts/MochiKit/Style.js',
'http://plnet.jp/scripts/MochiKit/Signal.js',
'http://plnet.jp/scripts/MochiKit/Async.js',
'http://plnet.jp/scripts/MochiKit/Logging.js',
'http://plnet.jp/scripts/AsyncJSONP.js'
]);
外部jsの読み込むタイミングが良く分かんない…。 この後に読み込んだライブラリを使うコードがあるとして、上記スクリプトでは上手くいくんですが、コメントアウトしてる方(appendChildのヤツ)だとタイミングによって読み込めてたり、読み込めてなかったり(IEで)。
MochiKit.jsでもGoogle Ajax Searchでもdocumnet.writeで読み込んでるからこっちが良いんでしょうな。でも何が違うんだろ。
Lispとかに慣れてると何でも無いのかもしれませんが、
(function (list) {
var tmp = '';
for (i = 0; i < list.length; i++) {
tmp += list[i];
}
alert(tmp);
})(['foo','bar','baz']);
おしゃれな人のjsによく出てくるこういうの、びっくりしました。 おれもマネしよう。
Development Environment ConferenceDevelopment Environment Conference、開発者の開発環境のカンファレンスを 2006年9月8日にデジタルハリウッド大学(秋葉原ダイビル)にて開催しました。
DECon行ってきました。 やっぱりためんなって楽しかった。
- vim小技
- svk
- オートリロード
とかは、すぐにでもやらなきゃ!って思いました。(あとpgrep, pkill知らなかった…。生まれなきゃよかった。) それとしつこいですが、デプロイ管理、運用系のツールが気になる!yumリポジトリ作ったり監視IRCボットとか、Plaggerリリースツールとかおしゃれだなー!(そんなことはない)
6aでは自作みたいですが、Capistrano的なのはperl, PHPにあるのかな?Catalyst、Symphonyとかにはあるのかも。あったら試してみたい。
top - 22:42:03 up 39 days, 5:58, 2 users, <strong>load average: 100.87, 102.55, 102.72</strong>
Tasks: 616 total, 66 running, 550 sleeping, 0 stopped, 0 zombie
Cpu(s): 57.5%us, 41.3%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.8%hi, 0.3%si, 0.0%st
Mem: 451776k total, 446556k used, 5220k free, 812k buffers
Swap: 1317288k total, 1160684k used, 156604k free, 34596k cached
なんかCPUが可哀想…。
回転と脱線UmbrelloでUML書くとjavascriptのコードにも落とせます。
javasciptでOOってどうやるの?って思ってる方は参考にしてみてはどうでしょう?
しらなかったー。 のでやってみました。
/**
* class Parser
*/
Parser = function ()
{
this._init ();
}
/**
* _init sets all Parser attributes to their default value. Make sure to call this
*/
Parser.prototype._init = function ()
{
/**
*/
this.m_handler = "";
/**Aggregations: */
/**Compositions: */
}
/**
*/
Parser.prototype.parse function ()
{
}
ココでいうと、『プロトタイプにメソッドを追加する。コンストラクタをプロトタイプに実装する。』タイプですな。
あれ、でも最後のParser.prototype.parse function ()とか動くのかな?
引き続きJSONP勉強。
http://plnet.jp に sourceとentriesのjsonフィードを追加してみました。
http://plnet.jp/komagata/json/entries // エントリリスト http://plnet.jp/komagata/json/entries?raw // 生JSON http://plnet.jp/komagata/json/entries?count=5 // 5件 http://plnet.jp/komagata/json/entries?callback=hello // JSONP http://plnet.jp/komagata/json/sources // ソースリスト http://plnet.jp/komagata/json/sources?raw // 生JSON http://plnet.jp/komagata/json/sources?count=5 // 5件 http://plnet.jp/komagata/json/sources?callback=hello // JSONP
デフォルトではdel.icio.usと同じで Plnet.entries = {...} というようにしました。
サンプルとして昨日のMochiKitAsyncJSONPを使ってブログパーツ風のものを出してみました。(このラップの仕方、本末転倒かも)
Widgetサンプル (IEで動かないことに今気づきました)
<h1>Plnet Widget</h1>
<div id="widget"></div>
<script type="text/javascript" src="http://p0t.jp/misc/PlnetWidget/scripts/widget.js"></script>
<script type="text/javascript">
var widget = new PlnetWidget();
widget.draw('widget', 'komagata');
</script>
JSとMochiKitの理解度が低いので何作るにも手間取る…。