タグ

JavaScriptとlivedoorReaderに関するwackyのブックマーク (8)

  • 最速インターフェース研究会 :: Fastladderを使い始めた

    livedoor Readerの海外版のFastladderがリリースされました。 どうやって使おうか微妙に悩んでたのだけれど、シンプルにFastladderに興味のある人のOPMLをインポートしまくって、livedoor Readerで購読しているフィードをFastladderから削除することにした。(逆でもいいけど既読管理とかあるので、追加分をFastladderに寄せた) livedoor Readerで既に購読しているフィードのURLを保存するlivedoor Readerでスクリプトを実行する。Firebugとか、javascript:を付けてアドレスバーに貼り付ける。「既読フィードも表示」の状態で実行する。 feedlinkをJSONで保存 prompt("これをコピーする",subs.model.list.pluck("feedlink").toJSON()); サイトURL

    wacky
    wacky 2007/07/10
    JavaScriptを使ってlivedoor ReaderとFastladderの重複フィードを削除する方法。
  • *「ふっかつのじゅもんがちがいます。」 - もっとエレガントにsetTimeoutをメソッド化する方法

    ※追記:あまりにも記事タイトルが適当すぎて我ながら日語でおkと思ったのでタイトルを変えました。 http://labs.cybozu.co.jp/blog/kazuho/archives/2006/12/oo-settimeout.php http://blog.livedoor.jp/dankogai/archives/50714622.html このネタはmalaさんが1年半前に通過した地点なのである程度常識の部類かと思ってました。 でもdankogaiがわざわざやるってことは知らない人も多そうだし、malaさんが同じネタをまたやるようにも思えないので、ついでにLDRに現在使われてるFunction.prototype.laterとかを紹介してみる。 Function.prototype.later = function(ms){ var self = this; return fu

    *「ふっかつのじゅもんがちがいます。」 - もっとエレガントにsetTimeoutをメソッド化する方法
    wacky
    wacky 2007/01/01
    livedoor ReaderのFunction.prototype.later()の解説。setTimeoutをエレガントにFunctionオブジェクトのメソッド化。キャンセル/即実行も可。
  • 最速インターフェース研究会 :: ライブドアのテクノロジーセミナーでしゃべってきました

    昨晩はライブドアで開催されたテクノロジーセミナーで「Technologies for UI」という題でプレゼンをやりました。 発表資料はpdfhtmlで公開する予定ですが、とりあえずテキストだけ先にアップしておきます。 http://ma.la/files/livedoor/seminar2006/seminar.txt プレゼンツールがFirefox専用だったりするので、これも少し手直しして公開予定です。 こういう機会があるたびにプレゼンツールを作ってるような気がします。 ---- 追記:12/15 ライブドアのtechblogの方に発表資料をアップしました。 http://blog.livedoor.jp/techblog/paper/ldtech2006/ 上下カーソルキーでページをめくれます。

    wacky
    wacky 2006/12/15
    講演資料「Technologies for UI」を公開。Webアプリケーションの「正しいUI」とは何か。livedoor Readerにおけるクライアント/サーバ・チューニングの事例。
  • LDR のメモリ・リーク問題について - (new Hatena).blog()

    フィード一覧の全フォルダを一気に開くスクリプトを書こうと思い、ソースを読んでいたら、ある問題にぶつかりました。 ツリー表示における各ルート (フォルダ) は TreeView というオブジェクトによって表されています。そして、それらは後からの参照のためにテーブルに格納されています。 問題と言うのは、作成された全ての TreeView インスタンスが格納されっぱなしになってしまう、ということなんです。 リロードを行う度に新たに TreeView インスタンスが作成されるんですが、その際、もう使われることのない古いインスタンス (への参照) は捨てられずに残ってしまうんですね。 例えばレート表示の場合、リロード回数掛ける 6 個のインスタンスが保持されることになり、これがメモリ・リークとなってしまいます。 以下をアドレスバーで実行して確認してみてください: javascript:alert(k

    LDR のメモリ・リーク問題について - (new Hatena).blog()
    wacky
    wacky 2006/11/18
    livedoor Readerのメモリリークの問題箇所を指摘。ようやく原因が・・・。誰も言及しないのが不思議なくらい派手にメモリリーク引き起こしてたもんなぁ。
  • livedoor Reader のテンプレートをカスタマイズ - (new Hatena).blog()

    LDR では、フィード一覧や記事など、あらゆるデータの表示が JavaScript+HTML のテンプレート・システムによって行われます。 この HTML 側のテンプレートを変更することで、表示を自在にカスタマイズすることが可能になります。 全てのテンプレートは TEXTAREA 内に文字列として格納されています。 単純な変更であれば $("TEMPLATE_ID").innerHTML = $("TEMPLATE_ID").innerHTML.replace(search, replace);のようにすれば良いんですが、一からセットし直す場合は、"<" ">" 等の特殊文字をエスケープする必要があります: $("TEMPLATE_ID").innerHTML = 'HTML コード'.escapeHTML(); /* Greasemonkey の場合は * new unsafeWindo

    livedoor Reader のテンプレートをカスタマイズ - (new Hatena).blog()
    wacky
    wacky 2006/09/18
    livedoor Readerの外見を自分用にカスタマイズするヒント。
  • デスクトップに livedoor Reader - (new Hatena).blog()

    Windows のアクティブ・デスクトップにウェブ上のページを表示する手法については以前から分かっていたんですが (META リフレッシュ / location.href によるリダイレクト、インライン・フレーム) 、アクセス制限により外部スクリプトでの拡張が出来ない、という問題がありました。 そのため、デスクトップに常に最新の情報が表示されれば良いな (LDR をデスクトップに表示したいな)、という思いが個人的に強くあったんですが、LDR を拡張すればするほど、それが遠くに追いやられていく結果となっていました。 この問題が、ローカル・プロキシによって解決できることがようやく分かりましたので、ご紹介したいと思います。 Proxomitron を使っています (緑のアイコン)。 元々はレファラ規制で画像が表示できないブログ等の対策として導入したんですが、ページのフィルター機能を使うことで外部

    デスクトップに livedoor Reader - (new Hatena).blog()
    wacky
    wacky 2006/08/30
    Proxomitronのフィルター機能を利用して、Greasemonkey的な外部JavaScriptによるページ拡張を実現。
  • 最速インターフェース研究会 :: Shibuya.js #2 でしゃべってきました

    前回に続き、shibuya.jsでしゃべってきました。 プレゼン資料はこちら。諸事情により少しフォントが小さめです。 http://ma.la/files/shibuya.js/techtalk2.html JavaScriptが無効でも閲覧できるように画像に変換しておきました。 いくつか補足 - APIは最初から全部できてるわけじゃなく、必要に応じて拡張していく感じ - 最初はダミーのJSONを読み込ませたりする - プログラマはクライアント側一人、サーバー側一人、の計二人 - UIを作るのは分業できない気がする。 - 「とりあえず動く」状態ものは10日ぐらいで出来た。3月の頭ぐらい。 - プロトタイプを発展させてって、そのまま番用になった。 - APIは今のところPlaggerで使ってる例もあるけど(Plagger以外で使ってる例ないけど)、人間向けのサーバーにアクセスが来るのは良く

    wacky
    wacky 2006/07/04
    開発者mala氏が(ちょっとだけ)明かすlivedoor Readerの内側。JavaScriptによるイベント付加の高速化デモもあり。
  • inside LDR (1)(mala) - ma2’s diary

    LDR(Livedoor Reader)は「APIありき」の実装。まず全APIを先に作り,LDRはそのAPIを使う1クライアント。 例えばBloglinesはAPIを公開しているが,それを使ってBloglinesが実装できるわけではなく,開放されていない機能がある。 APIが決まっていれば,サーバ側(クローラとかDBチューニングとか)とクライアント側(JavaScriptとか)で分業できる。 LDRでは全データをJSONでやりとりする。扱いやすい。小さい。サーバ負荷が低い。 Behavior.jsはhtmlロード時にDOMを解析してイベントをフックする。LDRのように画面書き換えが頻繁なアプリでは,そのたびに走りなおすので負荷が大きすぎる。 イベントをまとめて捕まえて,イベント元を見て対応する処理を行うようにしている でもそうするとhtmlの書き方に制限が出る onMouseClick=

    inside LDR (1)(mala) - ma2’s diary
    wacky
    wacky 2006/07/01
    Shibuya.js Technical Talk #2 のレポート。livedoor Reader内部のJavaScript利用について、中の人が紹介。
  • 1