タグ

ブックマーク / amachang.hatenablog.com (24)

  • Firefox 拡張を jQuery で書く! Jetpack を使ってみた。 - IT戦記

    はじめに JavaScript が書ければ、誰でも簡単に Firefox の拡張が書けてしまう。しかも、もれなく jQuery が付いて来る! というものを Mozilla Labs がリリースしたみたいですね。 https://jetpack.mozillalabs.com/ というわけで 少し触ってみました Jetpack Feature の書き方 Jetpack で書く Firefox 拡張を「Jetpack Feature」といいます。 これは、以下の 2 つのものを用意すれば誰でも簡単に公開することが出来ます。 JavaScript ファイル 公開用 HTML ファイル JavaScript ファイル JavaScript ファイルには、 Jetpack Feature のアプリケーションコードを書きます。 (function() { Jetpack.statusBar.appe

    Firefox 拡張を jQuery で書く! Jetpack を使ってみた。 - IT戦記
  • JavaScript1.7 の yield を使って、非同期処理を同期処理のように書く方法 - IT戦記

    経緯 id:kazuhooku さんが一年前にやってたことですが Kazuho@Cybozu Labs: JavaScript/1.7 で協調的マルチスレッド 今日やっと挙動が理解できたのと、 Weave のソースを読んでいたらこのテクニックをバリバリ使っていて「ちょwwおまwww」ってなったので、自分でも作ってみようと思いました。 ほとんど id:kazuhooku さんのと同じものなので、既出です><当にありがとうございました>< まず、 yield とは何か yield とは、 JavaScript 1.7 から導入された機能です。 以下に yield の細かい挙動を示しておきます。 function f() { // なんかの処理 yield; // ... (1) // なんかの処理 yield; // ... (2) // なんかの処理 } var g = f(); // こ

    JavaScript1.7 の yield を使って、非同期処理を同期処理のように書く方法 - IT戦記
  • Safari や Google Chrome でもはてなスターで選択範囲を引用できるようにする Bookmarklet - IT戦記

    今まで Google Chrome ではてスタしても、選択範囲の引用ができなかった>< というわけで ブックマークレット作った。 以下のブックマークレットを実行してから、テキストを選択して、はてスタすると引用できるようになる。 javascript:window._gs = window.getSelection; document.onselectstart = document.ondblclick = function() { window._s = _gs()+'' }; window.getSelection = function() { return window._s || '' }; void(0); この方法だと、 getSelection を上書きしてるので、グリモン的に自動読み込みでやるのはお勧めしない。 もし、 HatenaStar.js を直すとしたら。 以下、

    Safari や Google Chrome でもはてなスターで選択範囲を引用できるようにする Bookmarklet - IT戦記
  • ライブドアがクリップのデータを公開したので、早速使ってみた - IT戦記

    詳細は以下 livedoor (Line Corporation) · GitHub すばらしいですね! こんなに貴重なデータを丸々公開だなんて当にすばらしいですね! というわけで このデータを使ってさっそくアプリケーションを実装してみた http://amachang.art-code.org/edgetan/#%E3%82%AF%E3%83%AA%E3%83%83%E3%83%97%E3%81%AE%E3%83%87%EF%BD%9C%E3%82%BF%E3%82%92%7C%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%BE%E3%81%97%E3%81%9F;%E4%BD%95%E3%81%8B%E3%81%97%E3%82%89%E3%81%93%E3%81%AE%E6%84%9F%E3%81%98;%E3%81%8F%E3%81%97%E

    ライブドアがクリップのデータを公開したので、早速使ってみた - IT戦記
    tokada
    tokada 2009/01/15
  • id:otsune さんと id:otsnue さんを間違えないようにする Greasemonkey - IT戦記

    最近、はてなユーザーも多様化してきて 似た名前のユーザーって多いですよね><! たとえば、以下のように名前を間違えるというようなこともままあります。 id:otsune id:kajuntkさん。そのidは私じゃありません。 2009/01/12 id:kajuntk id:otsune その辺は考慮して書いてると思うよ/ホントだ!今気がついた。 2009/01/12 id:otsnue amachangはアイドルであり身内だからな。身内が叩かれるとプッツンしてさらに過激にdis返しをするのが奴らの恒例行事。トコロテンさんが気の毒です。 2009/01/12 はてなブックマーク - なんかブコメで叩かれまくってる - Automatons Hacking Guide これは困ってしまいました>< なんと、かの id:TAKESAKO 氏ですら見間違えてしまうほどです! というわけで 間違え

    id:otsune さんと id:otsnue さんを間違えないようにする Greasemonkey - IT戦記
  • マイミクのページから直接「足あと」を消せる、グリースモンキー - IT戦記

    はじめに mixi の足あと機能がパワーアップしましたね! 「足あと」の機能改善においては、ページデザインのリニューアルと同時に、「マイミクシィ」(友人)の表示に加えて、これまで足あとページでは分からなかった「マイミクシィのマイミクシィ」(友人友人)についても、アイコンが表示されるようになりました。これらの機能改善により、自分のページを訪れたユーザーとのつながりが、今まで以上に分かりやすくなります。 また、新機能「自分の足あと」の提供により、自分が訪問した先(プロフィールや日記など)のユーザーのニックネームを、時系列で最大30件表示いたします。なお、意図しないユーザーのページへ訪問してしまったときのために、相手の足あとページから自分の足あとを削除できる機能*1を追加しています。 株式会社ミクシィ どうやら 自分の足あとを削除できるようになったみたいですね! ただ この機能、便利なんですけ

    マイミクのページから直接「足あと」を消せる、グリースモンキー - IT戦記
  • はてなブックマーク JavaScript 高速化計画 補足 - IT戦記

    はじめに id:jkondo さんがブクマしてくれてるのでちょっとだけ補足 以下のつづき http://d.hatena.ne.jp/amachang/20081126/1227700830 追加修正 id:Yuichiro さんのハック 2008-11-27 - つれずれなるままに… 注意:ただ、これ appendChild 時のコストが増えていることが分かったのでちょっと要確認ですね。 id:Yuichiro さんのハックを getImage にも適用 gotImage: [], getImage: function(container) { var src = Hatena.Star.Button.getImgSrc(Hatena.Star.Star,container); if (!this.gotImage[src]) { var newimg = document.create

    はてなブックマーク JavaScript 高速化計画 補足 - IT戦記
  • はてなブックマークのコンテンツの JavaScript を高速化する - IT戦記

    はじめに 「新はてなブックマーク」になったということで、とっても便利になったのですが、ブックマーク一覧ページ*1が若干 JavaScript に時間が掛かっているみたいです。 というわけで 調査してみたいと思います。調査して、改善できそうなところは後で纏めて「はてなアイデア」にでも登録しようと思います。 この日記は調査しながら、過程を書いていくつもりです。 準備 まずは、人のサイトの JavaScript を書き換えて試してみるための環境を作ります。 作業用ディレクトリを作る とりあえず、ホームに HatenaJS というディレクトリを作ります。 $ mkdir HatenaJS $ cd HatenaJS CocProxy をダウンロードしてくる 以下から CocProxy というツールをダウンロードしてきます。 http://coderepos.org/share/wiki/CocPr

    はてなブックマークのコンテンツの JavaScript を高速化する - IT戦記
  • はてなブックマークのスタッフロールをスターウォーズっぽくするブックマークレット - IT戦記

    Firefox 3.0 以上か WebKit Nightly 以上で、以下のページへ行って http://b.hatena.ne.jp/help/staff 以下のブックマークレットを実行してみてください! javascript:(function(d,s){s=d.body.appendChild(d.createElement("script"));s.src="http://amachang.art-code.org/starwars.js"})(document) 補足 Firefox 3.0 でも動くけど、まじめに演算してるので Firefox 3.1 Beta 以降や WebKit の Nightly じゃないと、パフォーマンスはでないかもしれません><

    はてなブックマークのスタッフロールをスターウォーズっぽくするブックマークレット - IT戦記
  • 被はてブランキングと、そのブックマークレット - IT戦記

    お知らせ はてな側の負荷が高そうなので、公開を中止いたします。 はてなの皆様、大変ご迷惑おかけいたしました。

    被はてブランキングと、そのブックマークレット - IT戦記
  • ひょっとして、はてブのお気に入りって 500 人までしか出来ない? - IT戦記

    501 人目でお気に入りできなくなってしまいました。。。orz 「まだ、いける、いけるいける、気持ちの問題だ、頑張れ頑張れ」って感じで連打してみましたが駄目でした。 今のところの使用感的には、お気に入りを 2000 人くらい集めると非常にいい感じになりそうだと思っていました>< これ以上、お気に入り増やせないのはちょっと寂しいです><

    ひょっとして、はてブのお気に入りって 500 人までしか出来ない? - IT戦記
  • そろそろ新はてなブックマークの感想を書いておく - IT戦記

    「お気に入りページ」がいい 現在のはてなブックマークでは「お気に入り」に数十人入れただけで、情報がすぐ流れてしまうようになって使いづらかった。 新しいはてなブックマークでは 400 人以上「お気に入り」に入れても、使いにくくならない。 まず、そこが一番いい。 「お気に入り」がその場で追加出来るのがいい 「お気に入りページ」で面白い記事を見つけて、記事を読んだあとにその記事の「エントリーページ」を見る。 そうすると、おもしろい視点を持ったコメントを書いている人がたくさんいる。 新しいはてなブックマークでは、そんなときに「エントリーページ」から直接「お気に入り」に入れられる。 これもいい。 こうやって、どんどん「お気に入り」に入れていくと自分の「お気に入りページ」がどんどんおもしろくなっていく。 いい! 「非表示」がその場で追加出来るのがいい 逆に、その場で「非表示」に入れられるのもいい。 「

    そろそろ新はてなブックマークの感想を書いておく - IT戦記
  • JavaScript はどのように実行されるか - IT戦記

    JavaScript はどのように実行されるか Safari*1 の実装を例に JavaScript はどのようにして実行されているかを書く。自分用のメモ。日語の出来は気にしない 1. ブラウザを起動して以下のようなページを開いたとする <html> <head> <script> var a = 1; var b = 2; alert(a + b); </script> </head> <body> </body> </html> 2. インターネットからデータが到着する そうすると WebCore::FrameLoader::write という関数に生の文字列が渡される。型は char* だ。 http://trac.webkit.org/browser/trunk/WebCore/loader/FrameLoader.cpp#L990 この関数の中では、到着した文字の文字コードを解

    JavaScript はどのように実行されるか - IT戦記
  • 「ニコニコが見たい」んじゃなく「ニコニコで見たい」んだ - IT戦記

    DVD を借りてきても、映画館で映画を見てても、これをニコニコ動画で見たいなあと思ってしまう。 当にニコニコ動画の「仕組み」が好きなんだよなあ。 みんなの「これ、豆知識な」や「ベタな冗談」を聞きながら動画を見るのは当に楽しい。 音楽に関しても、歌詞を見ているときに「この歌詞いいよね」とか共感が伝わってくると嬉しい。 やっぱニコニコ動画のコンテンツは「コメント」なんだよなー。 同じ CD を買って聞いている人、同じ DVD を買って見てる人、その人たちの気持ちが伝わってくるような家電があればいいのに。 今、その家電の一番近くにいるのは、間違いなく「ニコニコ動画」だと思う。みんなが幸せな形でいろんなものにコメントが付けられるようになればいいなあ。

    「ニコニコが見たい」んじゃなく「ニコニコで見たい」んだ - IT戦記
  • 明日は、 1000 人スピーカプロジェクトの第四回カンファレンスです! - IT戦記

    いよいよ、明日ですね!参加者の皆様! 忘れてないですよね>< 基調講演 今回の基調講演は、「デベロッパーズサミット」の運営をしている、翔泳社の岩切さんにお願いしています。 岩切さんならではの苦労話やアドバイスなどが聞けるのではないでしょうか^^ スピーカ陣は以下の方々です(敬称略) hogelog 「Wannabe ProgrammerからReal Programmerにいたるまで」 jj1bdx 「Learning Erlang - from a Prolog dropout's perspective」 isocchi 「Wiiリモコン、赤外線がうまくいかない。フツーにASについて話します」 kuzuha 「タイトル未定」 Issm 「タイトル未定」 earth2001y 「おっぱいシミュレータではじめる有限要素法入門〜ポロリもあるよ〜」 ranha 「ゆとりでも作るOSとエミュレータ

    明日は、 1000 人スピーカプロジェクトの第四回カンファレンスです! - IT戦記
    tokada
    tokada 2008/04/26
  • XPathGraph がすごい件と、XPath で出来ることのヒント - IT戦記

    XPathGraph とは http://xpath.kayac.com/ URL と XPath を指定すると一日に一回その URL をスクレイピングして XPath 式が示す値をグラフにしてくれる!という画期的なサービスです。 例えば、 URL と XPath を指定するだけで以下のようなグラフが作れてしまいます。 当に楽しいことが出来そうでワクワクしてます! でも まだ XPath を登録している人が意外と少ないので、「ひょっとして、このサービスの使いどころが分からないのかなあ。」と思いました。 というわけで XPath で出来ることのヒントを少し紹介したいと思います。 足し算、引き算、かけ算、割り算 XPath では普通に数値の演算ができます。 たとえば、 //div[@class=counter] で取得してきた div 要素が 1000 という数値を持っていたとすると 2 *

    XPathGraph がすごい件と、XPath で出来ることのヒント - IT戦記
    tokada
    tokada 2008/04/19
    XPathで数値の演算が可能
  • 第 2 回 1000 人スピーカカンファレンスの参加者が決まりました - IT戦記

    第 2 回について 今回は、参加者のかたよりを無くすため、「いまから、募集!」というような告知は一切しないという形式で募集してみました。 それにも関わらず、意外と人が集まってくれてホッとしました。皆様ありがとうございます>< エロと風俗情報満載 どう抜く? 当日は生放送されます 当日は、以下のページで生放送されますので、誰でも参加することができます。 1000speakers ぜひぜひ、参加してください^^ 第 3 回について 次回も同様な形式で、募集を行いたいと思いますのでよろしくお願いします^^ エロと風俗情報満載 どう抜く? 第 1 回の雰囲気は動画で見ることができます 第 1 回の様子は coji さん の協力により、ニコニコ動画や Google Video で視聴することができます^^ ニコニコ動画 1000speakers:1 (2008-01-19) by coji - ニコ

    第 2 回 1000 人スピーカカンファレンスの参加者が決まりました - IT戦記
    tokada
    tokada 2008/02/11
  • 話したい人のためのカンファレンスを開催します。(追記あり - IT戦記

    鉄は熱いうちに打て! ということでこの話題が盛り上がってるうちに企画しちゃいます。 話したい人のためのカンファレンスを行います。 このカンファレンスは「自分の技術について話したい!」という人のためのカンファレンスです。 人に伝えるということは知識を得るための一番手っ取り早い方法だと思いまが、 世の中にはなかなかそういうチャンスがないんじゃないかと思って、このカンファレンスを思いつきました。 話す内容は? ソフトウェアに関連する技術についてなら、どんなことでもかまいません。 話す時間は? 一人 10 分〜 20 分くらいで、話してください。 詳細は? 詳細は、現時点で以下のようになっています。決定次第、更新していきます。 日程:1/19(土曜日) 13:00 〜 17:00 (参加者が少なかったら早く終わります) 18:00 〜 (飲み会?) 場所:未定 参加費:未定(諸経費を割り勘) 話し

    話したい人のためのカンファレンスを開催します。(追記あり - IT戦記
    tokada
    tokada 2008/01/10
  • JavaScript の配列と連想配列の違い - IT戦記

    id:cheesepie:20070131:1170172709 最近は、こういう風に JavaScript を勉強する人が増えていてとても嬉しいです ^^ id:cheesepie さん頑張ってください! で、ちょっと配列と連想配列の使いかたが違うようなので、エントリーを書こうと思いました。おせっかいだったらすみません>< ! やっぱり、このへんが JavaScript の難しいところのひとつなのだろうか。 ということで、 JavaScript の配列と連想配列の違い いってみよおー 連想配列とは JavaScript では連想配列は一番シンプルなオブジェクトのことである。つまり、すべてのオブジェクトは連想配列である。 以下のすべての連想配列はまったく同じものである。 // 1 var obj = { hoge: 'hoge' }; // 2 var obj = { 'hoge': 'h

    JavaScript の配列と連想配列の違い - IT戦記
  • JavaScript でこんなパッケージ管理はどうか? - IT戦記

    まず、以下のような package 関数を作る。 function package(name) { package.__hash__ = package.__hash__ || {}; if (!package.__hash__.hasOwnProperty(name)) { package.__hash__[name] = { def: function(name, value) { return this[name] = value; } } } return package.__hash__[name] } で、こんな感じで使う // ここは hoge の名前空間 with (package('hoge')) { def('var0', 1); // 変数は def 関数で定義 def('var2', 2); alert(var0); // 1 alert(var2); // 2 }

    JavaScript でこんなパッケージ管理はどうか? - IT戦記