« 2006年07月 | 過去ログ一覧 | 2006年09月 »

2006-08-05 (Sat)

誰も解説しない「Modify Url」の使い方

Platypus っていうツールを使っているんですが、このソフトは使いにく過ぎてヤバいです。スゴクベンリデス。

でまあ知らない人のために言っておきますと、Platypus ってのはあの Greasemonkey のユーザスクリプトを簡単に生成してくれるおもしろツールなんですね。

それで、選択したエレメントを削除したりとか CSS の属性値を変更したりとか色々機能があって何だかんだ言って便利なんですが、その中の Modify URL って言うハイパーリンクを変更する機能が高機能でスゲェんですよ。ヘルプを見ても「正規表現でURLが変更出来る」としか書いてなくてこの突き放しっぷりが素敵なんですが、さすがにこれじゃ使えてる人いなそうなのでここに解説します。

まずこれ、変更しようとするといきなり入力フォームが四つも現れるんです。四つ。

入力フォームの画像

※クリックで拡大

左上には選択したリンクを正規表現で表した値が入ってるんですよ。そんでまあ、ようするにこの左上の正規表現にマッチする部分を左下に入力したURLに置き換える事が出来るんです。もうね、それに気がつくのに随分時間がかかりましたよと。

で、右側の入力欄は何かと言うと、置換のテストが出来るんですね、これが。左側で置換のルールを作成して右側で置換のテスト。いやぁインタラクティブにテスト出来て便利だなっと。あ、右下の入力欄には入力しても何の意味もないから入力しないでね。ここは結果を出力するためにあるのさ。

最後に「Check here to apply to all links on page.」にチェックを入れておくとページ内の全ての要素に対してここで指定した置換ルールを適用してくれのでまとめて変更したい場合はコレを使うのがおすすめ。

そんで真ん中にある「Replace all matches」てのは何の機能なんだか未だにわかりません。

ちなみに「Modify HTML」って言う機能もあって、使い方はこの「Modify URL」と一緒です。「Check here...」は無いけど。

△トップ | コメント (0) | トラックバック(0)

2006-08-06 (Sun)

livedoor Reader が直った

前にこの just-size のサーバの影響で livedoor Reader がおかしな 状態になってしまっていましたが、遂に直ったようです。ありがとうございました。

△トップ | コメント (0) | トラックバック(0)

2006-08-07 (Mon)

はてなアンケートの一覧から不要なものを消し去る Greasemonkey スクリプト

はてなの アンケート一覧 を定期的に見て小銭を稼いでいますが、たまーに、自分の答えられない質問が大量に投稿される事があったので、これを消すスクリプトを考えてみました。ていうか、手段が目的でして XPath をもっと使ってみたかったってだけですけど。

で結果はこんな感じ。

// ==UserScript==
// @name          Clear Hatena::Enquete
// @include       http://q.hatena.ne.jp/list*
// /==UserScript==

var nodes = document.evaluate(
      "//img[contains(@src,'kotaeru2.gif')]/parent::*/parent::*",
      document, null,
      XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null
      );

for (var i = 0, elm; elm = nodes.snapshotItem(i); i++) {
   elm.style.opacity = '0.5';
   //elm.style.display = 'none';
}

消しちゃうのも寂しいので半透明にしてますが、見なくて良ければコメントアウトしてある display = 'none' を有効にすれば表示されなくなります。はっきり言ってどうでも良いスクリプトです。どうせアンケートもそんな多くないし。

あ、そうそうこうやって無効なモノを半透明にする効果は結構見た目がわかりやすくて好きなんですけどどうでしょう?CSS 必須だから他の方法でも無効な効果を表現しないといけませんけど。

それで肝心の XPath の話題。

前々から XPath ってすんごい意味わかんねぇなぁあとか思ってたけど、やっぱ良くわからん。とりあえず、ドキュメントは XML Path Language なんか読むと良いっぽい。これだけを見てもさっぱりだけど。つか、まだ全然読んでないし。

今回新しく覚えたのは、パスの後ろに /parent で親ノードが参照出来る事と /ancestor で祖先ノードを辿れる事。

/div/img だと div の子ノードの img が参照されて。/img/parent::DIV だと img の親ノードの div が参照される。この違いは大きい。あと例えば parent::DIV とかやって親ノードが DIV じゃない場合は何もマッチしなくなる。* は全マッチだから parent::* とかやると良い。

もうひとつ ancestor は祖先を全部辿って探してくる。例えば /ancestor::TR とかやると親の親の親と辿っていって、TR がいたら全部マッチする。今回のはてなの奴は "//img[contains(@src,'kotaeru2.gif')]/parent::TR" とかやっても同じように動作する。

今までは適当にパス指定して、後は nextSibling とか parentNode を駆使したりしていたけど、元からちゃんと指定出来るんだったらそっちの方がいいな。

しかしこれ、バッドノウハウ臭がすごいよ、まじで。便利だけど。

△トップ | コメント (0) | トラックバック(0)

2006-08-11 (Fri)

Gmail のショートカットキーを表示する Greasemonkey のアレ

Gmail はそんなに活用してるわけじゃないんだけど、これもキーバインドのヘルプが表示されない事に気が付いたので、この前の Remember the Milk の時 と同じく Greasemonkey で画面内に表示されるようにしてみた。

今回は ? キーでヘルプが表示されます。

データ作るのめんどくさかったので、ヘルプページを画面内に呼び出して表示しているだけです。ページは GM_xmlhttpRequest で取得したデータをそのまま表示しているだけでして、onload の時にうまく加工したりすれば必要な情報だけ表示する事もそんなに難しくないでしょう。 → 加工して表示するようにしたので、他のサービスで使ったりする場合は gmailHelp 関数をちょこちょこいじったりして楽しんで下さい。

ちなみに呼び出し元の URL - HELPURL - を変える事で、全然別のサービスでもすぐ使えるようにもなってます。

この前 Remember the Milk の時にテキストフィールド上でもキーバインドが反応しちゃうよプギャーとか書きましたが、イベントの取得を keypress にすると平気なようです。これで納得いきました。全然平気じゃなかったです。改善しました。

loading の画像は Ajaxload からもらいました。

» 続きを読む...

△トップ | コメント (3) | トラックバック(1)

2006-08-18 (Fri)

トラックバックスパム型検索エンジン

怪しげなトラックバックが来ました。よくあるトラックバックスパムの類だろうと思ってたけど、自動で大量にトラックバックを送りまくる悪質っていうかウゼェサイトでした。

  • keys.centerz.net

検索した単語を使って、関連サイトにトラックバックを放つっていう仕組みっぽい。だからここのサイトは使っちゃダメだよ、良い子のみんなは。

この検索&トラックバックってどこかで聞いたな~と思って探してみたら過去にもありました。

この時は key.blogdns.net っていうドメインを使っていたようで、今回のこれと何やら同じニオイがしますね~。

しかしこう、人に迷惑掛けてやるほどに儲かるもんなんすかね?アフィリエイトってやつは。報酬もらった事が無いから全然わかんねえ感覚だ。

それで、えー、実は、スパムの動作を調べるために「greasemonkey」っていう単語で検索しまくってあっちこっちにトラックバックを送ってしまったのは私です、ごめんなさい。14:55前後の出来事。

とりあえずトラックバックのリンク先URLが keys.centerz.net だったら拒否するようにしておきました。

△トップ | コメント (0) | トラックバック(0)

2006-08-25 (Fri)

テキストエリアとかリサイズ可能にする JavaScript

好評の、読み込ませるだけシリーズ の6番目。

このスクリプトを読み込ませるだけで、ウェブ上にある TEXTAREA とかその他色々好きな要素がリサイズ可能なやつに大変身。とりあえずサンプル見るのが手っ取り早いです。

テキストエリアの右下にマウスカーソルを持っていくとカーソル形状がかわるので、そのままドラッグするとサイズも変わります。

自分はグリモンスクリプトで快適なんですが、サービス提供側でこういう機能を提供してくれたら幸せな人が増えるんじゃね?とか思ったので作ってみました。

実際のリサイズ方法に関しては、愛用している Changing <textarea> Size のコードが大変参考になりました。ありがとうございます。

» 続きを読む...

△トップ | コメント (2) | トラックバック(1)

2006-08-27 (Sun)

Lightweight Language Ring 行ってキタ

昨日は LL RING へ行って来ました。一人じゃ寂しいので、組み込み系の開発をしていて全然ライトとは無縁そうな友達を誘って二人で参加。

朝、チケットを忘れて出発してしまって焦る。電車乗る前だったから助かったけど危なかった。

1stRing外観

感想とか。内容について知りたい方は誰かちゃんとした方が書いてくれるでしょう。

* Language Update

使ってない言語の最新情報なんて知らないから大変参考になった。PHPも大分進化してるのね。

ActionScript って ECMAScript に準拠してるのか。コードも紹介されてたけど、あれならすぐ使えそうな気がする。ちょっと試してみたいと思った。→ ソフトが高い?

* LL で関数プログラミング

流行り(?)の関数プログラミングについて。あんまり話しについていけなかったなー。何かちょっとやっておかないと。OCaml に心惹かれた。

一緒に行った友達はここに一番興味が湧いたようで、関数プログラミングだと何が嬉しくなるのかしきりに気にしてました。

* じゃんけん2.0

じゃんけん勝敗表

↑ じゃんけん勝負の途中経過。結果は JavaScript の圧勝で終わりましたけど、アルゴリズムの説明なかったよね?まぁ、ここは Python 頑張ったと言う事で。

* キミならどう書く

やっぱ Rails だよなー。300行くらいしか書いてないってのは凄い事だよね。自分も青色申告者だからこのアプリも気になる所。今年中には Rails 使えるようになっていないと。

この時間、三回くらいトイレに行っていたのは私です。

* LL Gong

スパムフォルダからスパムじゃないメールを捜し出す技術って話しが気になった。言われてみれば、この宝探し作業って結構時間かけてるんだよなー。

* おわり

ISBN:4774128430:image

最後に抽選でこんな本を頂きました。ありがとうございます。後で読んで感想書いておきます。

パケットとかって意外と適当に理解していた分野の事なんでありがたい。

スタッフの皆さん、発表者の皆さん、お疲れ様でした。長丁場だったけど最後まで飽きずに楽しい時間を過ごす事が出来ました。ありがとうございます。

ちなみにお昼はシャノアールが激しく空いていて、松屋とかに詰まってる人はどうかと思いました。

△トップ | コメント (0) | トラックバック(0)

2006-08-28 (Mon)

JavaScript の人気に嫉妬

テキストエリアのリサイズネタ が思った以上に好評でウハウハなんですけど、Opera が怪しいとか Safari で動かんって事なので、とりあえず Opera の対応をしてみました。Safari はちょい待ち。

どうやら Opera では(テキストエリアの)スクロールバー上で mouseup のイベントが発生しないくせに mousemove のイベントは発生するので、リサイズは開始するんだけど、解除が出来ないっていうハマリ状態になってしまうようでした。これはスクロールバーがある辺りではリサイズを開始しないようにして対応出来た、と思う。

あとは Opera8 だとテーブルとかの親要素がリサイズされないので、大きくした部分が隠れて見えなくなってしまうっていう良くわかんない問題があったんですけど、これは Opera9 にしたら解決したのできっとバグなんでしょう。

このリサイズスクリプトを作っていて思ったんだけど、こういうシンプルなネタって Greasemonkey スクリプトに参考になりそうなアイディアが詰まっていそうな予感。例えば フォームの入力内容をクッキーに保存してくれるスクリプト なんてのがあるけど、これもそのまんまの形でサービス側で提供する事も出来そう、役に立つかは別にして。

△トップ | コメント (2) | トラックバック(0)

2006-08-30 (Wed)

Yahoo!Domains は $2 で登録出来る

Gigazine の 「.info」ドメインを年間390円で登録する方法 を見て脊髄反射で書いてるので間違ってるかもしれんが。

Yahoo!Domains で最初の年だけだけど $1.99 で取得できる。新規登録だけみたいだから一回だけなのかな。

これ去年の9月に知ったんですけど、今もやってるって事は期間限定でもなさそう。

あんまり内容を詳しく読んでないし登録もしてないからもしかしたら間違ってるかもしれなくて、もしそうだったらごめんなさい。

△トップ | コメント (0) | トラックバック(0)

 
Copyright (C) Kyosuke Takayama, Some rights reserved.