タグ

ブックマーク / hail2u.net (8)

  • JavaScriptで配列をシャッフル

    配列をシャッフル、つまりランダムに要素の位置を入れ替えるというのを、sortメソッドを使ってやってみたのだけど、明らかにダメダメなものになってしまった。その後、あーでもないこーでもないと考えたのだけど、算数が得意すぎて頭が痛くなった。ということを某所でぼやいたらはてのくんがコードを見つけてくれた。どうやらFisher-Yatesという有名なアルゴリズムでやると良いらしい。 最初に書いたコードは、 var a = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9); a.sort( function (a, b) { return Math.ceil(Math.random() * 3) - 2; } ); というもの。sortメソッドは、パラメータに与えられた関数が負の値・0・正の値を返すことによって要素の順序を決定するので、その関数がランダムに値を返せばランダ

    JavaScriptで配列をシャッフル
  • JSONPに同期リクエスト

    コールバック関数を指定する形のJSONPへforループなどで複数回リクエストする場合、コールバック関数の実行される順はforループで回した順と一致するとは限らない(Opera除く)。そのため何番目にリクエストした結果に実行されたコールバック関数なのかといった処理状況をコールバック関数内で知ることが面倒だったりする(不可能というわけではない、多分)。それをあえて同期リクエストにすることでどうにかしてみようとかいう話。 同期リクエストするためには、forループなどでJSONPへのリクエストを一気に処理するのではなく、リクエストをひとつに留めてコールバック関数内で次に進むといった形で実装するが良さそう・・・とアイディアをバソキヤ求めて三千里の人に貰った。 つまり、 var urls = [ 'http://del.icio.us/feeds/json/cho45', 'http://del.ic

    JSONPに同期リクエスト
  • hail2u.net - Weblog - 圧縮フォルダを使わないようにするとエクスプローラがキビキビ動く

    Windows XPの圧縮フォルダというほとんどの人が使っていないと思われる機能(私見)を解除したら、エクスプローラがキビキビ動くようになった気がする。というようなことを某所で言ったら、試した人が「すげぇかるくなった kyo++」とかインクリメントしてくれたので、エントリにしておこうとか。 圧縮フォルダ機能の解除の方法は、コマンド プロンプトで、 regsvr32 /u zipfldr.dll regsvr32 /u cabview.dll と、入力してやるだけ。多分再起動は必要ない。 これにより特にエクスプローラのツリー表示なんかが高速化する気がする。エクスプローラ以外ではファイラーっぽいので特に高速化する感じで、僕の環境ではACDSeeのツリー表示がとんでもなく高速化した。 また、デフォルトの検索機能が圧縮フォルダ内を探さなくなるため高速化し、いつまでたっても終わらないということは少な

    hail2u.net - Weblog - 圧縮フォルダを使わないようにするとエクスプローラがキビキビ動く
  • セクション・ターゲット

    Google AdSenseでは広告を最適化するためにセクション・ターゲットという機能が提供されています。このセクション・ターゲットは、コンテンツ部分(またはコンテンツ以外の部分)を明示することが可能なので、いろいろな再利用法が考えられそうかなとかいう感じ(セクション・ターゲットそのものについてはSEO関連のサイトでピックアップされているだろうと思うので触れません)。 はてなブックマークの概要抽出に利用してもらう セクション・ターゲットの開始タグにつづく文章を255文字目まで切り出すとかいう単純な実装で、かなり自然な概要になるんじゃないかなーとか。 Tagyuのタグを抽出する文章に利用する はてなブックマークの概要に利用するというのとほぼ同じですね。単にURLを指定してタグ候補を受け取るよりも、よりコンテンツにマッチしたタグを推薦してくれるでしょう。この場合はこちら側でセクション・ターゲッ

    セクション・ターゲット
  • Amazon ECS 4.0のXMLからフィードやJSONに

    Amazon Web ServicesのE-Commerce Service 4.0ではクエリにStyleというパラメータでXSLTスタイルシートのURLを指定することによって返ってくる結果のXMLを整形することが可能です。前からありますけど。久々にAmazon熱が出たので、RSS 2.0とJSONに整形するXSLTスタイルシートを書いてみました。 RSS 2.0で整形(XSLTスタイルシート: ecs42rss20.xsl) JSONで整形(XSLTスタイルシート: ecs42json.xsl) JSONで出力する場合は、クエリにStyleと共にContentTypeというパラメータでtext/javascriptを指定してやると良さげです。あーあと最速の人に教えてもらって、Internet Explorer対策にnullとか仕込んでます。こうしないとカンマで終わってるところでエラーが出

    Amazon ECS 4.0のXMLからフィードやJSONに
  • hail2u.net - RSS

    RSSとは? RSSとはRich Site Summaryの頭文字をとって略された名称で、実体はXMLです。Resource Description Framework (RDF)に基づいたRSS 1.0では、RDF Site Summaryの頭文字をとったものとされています。また、RSS 0.9系の後継として、RSS 1.0とは別に開発されたRSS 2.0では、Really Simple Syndicationの頭文字をとったものとされています。 サイトの見出しやリンク、要約などを定型に従って記述でき、ウェブサイトのコンテンツ一覧や、ヘッドラインなどに利用されています。 XML形式なため、プログラムなどからも柔軟に扱うことが出来るので、一種のデータベースとしても活用でき、過去のドキュメントの内容をRSS形式で保存し、それを検索して必要な情報だけを抜き出すなどということも可能でしょう。 M

  • hail2u.net - RSS - Pigeonhole

    Pigeonholeとは? 多くのRSSリーダーではOPMLというフォーマットを利用して、RSSの購読状況を管理しています。RSSリーダー開発者の尽力によって、それなりにRSSリーダー間で互換性も保たれており非常に有用です。 PigeonholeはRSSの購読状況が羅列されているOPMLファイルを編集するソフトウェアです。ブックマーク管理ソフトウェアと同じようなものだと考えていただければわかりやすいと思います。RSSファイルの購読状況の管理はこのソフトウェアで行い、保存し、利用している各RSSリーダーでその保存したOPMLファイルをインポートして利用というのが主な利用環境になると思います。 ひとつのRSSリーダーしか使っておらず、そのRSSリーダーに高度な購読管理機能が実装されている場合は、このソフトウェアの出番はほとんど無いと思います。しかし、購読管理機能が弱いRSSリーダー(Webサー

  • hail2u.net - Weblog - Bloglinesのクロール間隔

    IRCでインターフェイス! インターフェイス! な人に教えてもらったのですが、Bloglinesはクロールする間隔をsubscriber数に合わせて調節するみたいです。といっても、何かものすごいアルゴリズムでインテンリジェントに制御するというわけではなく、subscriber数が10人以下(くらい)だと四時間に一回とかになるというだけ。通常は一時間に一回で、これが最短のクロール間隔です。 どういう理由でこういう仕様になったのかは知りませんが、動的かつ無限にRSSを生成しているBulkfeedsやFeedBackなどには多少ではあるでしょうが優しい仕様な気がする。Yahoo! NewsやMSN Searchなど、動的かつ無限にRSSを配信するサービスが増えたことなどを受けた仕様変更なんでしょうかね。 ちなみにFeedBurnerも一時間に一回。これくらいが最もサーバーとクライアント双方にとっ

    hail2u.net - Weblog - Bloglinesのクロール間隔
  • 1