タグ

ブックマーク / d.hatena.ne.jp/brazil (37)

  • Helma、リンク - FAX

    Helma、リンク リンク 頭の中がごちゃごちゃで、まとめきれんかった。 サーバーサイドJS、リンク で続きですが、気になっているHelmaです。 まず、体と関連プロジェクトは以下です。 Helma Helma概要/アプリケーションの作り方 Helma - 概要 Helma - チュートリアル(1/2) Helma - チュートリアル(2/2) Helmaドキュメント mod_gcj/rhinola Rhinola - Rhinola 0.5 リリースノート OpenMocha Gobi Chopper OpenMocha - JavaScriptヘブンへの小さなステップ Helma、mod_gcj、rhinolaはすべて、Apache XML-RPCの作者でもあるHannes Wallnoeferさんが中心になって作られています。 Helmaは、Jettyの上で動くサーバサイドJava

  • Tombloo、GitHub移行、寄付募集 - FAX

    GitHub- tombloo TomblooをGitHubへ移しました。youpyとConstellationがfolkしてパッチくれたりして楽しいです。あまりブログに更新のお知らせを書いていませんが、現在0.3.10まで進み、抽出元やポスト先も追加され、マウスショートカットなどにも対応し、ずいぶん機能が増えています。 GoogleCodeの説明は古くなっていたので、新たにチュートリアルをわかりやすく書き直しています。(ノリノリで、ちょっとアホみたいな文章だけど) あと、Tombloo、寄付を募集しはじめました。 Pledgie ― Donate To: Tombloo Pledgie経由でPayPalを使って送金できます。Pledgieは、プロジェクトに対して募金を呼びかけるサービスで、寄付者のリストや、寄付回数、寄付総額などを表示できるサービスです。GitHubに置いたプロジェクト

  • URIについて - 実用

    メモ詳しくないけど。パラメータを無くすのがクールみたいな風潮あるのかな。 昔は、ページが静的だった、モノ/名詞だけだった。今は、動的なページが多くて、コト/動詞であることも多くなった。動詞だと、どんな動作をするか指定する必要がある。何を削除するのか、何を検索するのか、どんなふうに表示するのか。つまり、URIの質的な構造とはこういうことだと思う。 名詞/動詞?どんなふうに Twitterのユーザーページで考えてみると http://twitter.com/users/findByName?name=33 というのが基としてある。どう見てもダサいけど、質的にはこうなってる。でも、usersの動作の中でfindByNameが最も大事だから省略できるようにしようとなって、 http://twitter.com/users/33 になる。で、Twitterというアプリケーションの中で、ユ

  • ページ遷移前に確認をする、onbeforeunload - 実用

    JavaScriptwindowのonbeforeunloadハンドラで、Event#returnValueに値を入れると、ページ遷移直前にユーザーに確認ダイアログを表示することができる(んだって)。 以下コードの正常動作を、Firefox 2.0とIE 7で確認した。Operaでは実行されなかった。 window.onbeforeunload = function(event){ event = event || window.event; event.returnValue = '?'; } 以下は、IEとFirefoxの確認ダイアログのキャプチャ。 MochiKitでは、Event#confirmUnloadで確認ダイアログを出せる。 connect(window, 'onbeforeunload', function(event){ event.confirmUnload('?'

  • Collection & Copy - 相対パスを絶対パスに変換する

    JavaScriptIE 6、IE 7、Firefox 2.0、Opera 9で確認。 function absolutePath(path){ var e = document.createElement('span'); e.innerHTML = ''; return e.firstChild.href; } alert(absolutePath('/')); 関連リンクJavaScriptな日々 | 相対パスを絶対パスに変換する方法Imageを使っています。 getAttribute href bugBug Report: getAttribute(”HREF”) is always absolutegetAttribute("href",2)とか。既存のa要素のhrefは上記の方法で絶対パスになるけど、document.createElement('a').href='/'では、

  • Collection & Copy - Deferred、遅延リソースのインターフェース、パターン

    JavaScript setTimeoutで実行される関数の中で発生するエラーは、セットした部分のtry/catchで補足することはできません。 function throwError(){ throw new Error('ERROR'); } try{ setTimeout(throwError, 3000); } catch(e){ // ここには到達しない alert(e); } MochiKit.Async.Deferredを使うと、エラーバックでエラーを補足できます。 callLater(3, throwError).addErrback(function(e){ alert(e); }); エラーの補足以外にも、Deferredのインターフェースから以下が行えます。 キャンセル(cancel)状態(fired)コールバックの追加(addCallback)エラーバックの追加

  • LDR、重複エントリをグレー表示するGreasemonkeyスクリプト、約第三版 - 実用

    JavaScript LDR - Dedupe Entries – Userscripts.org LDRで表示したエントリーと、訪問済みのエントリーをグレー表示するGreasemonkeyスクリプトです。フィードを既読にするタイミングでフィード内の全エントリーのアドレスが保存されます。以降同じエントリーは「以前表示したことがある」とわかるように文字と写真が薄くなって表示されます。以前のバージョンが入っている場合は、「関連付けられた設定も削除」をチェックして一度アンインストールを行ったうえで、再度インストールを行ってください。 このブログには書いてませんが、今までに、何度か大きく更新をしていて、最初のバージョンよりずいぶん良くなってます。エントリー表示テンプレートを書き換える方式になり、エントリーが多いときでも固まらなくなりました。このバージョンではDOM Storageを使うことで、10

  • GM_xmlhttpRequestを使えなくする - FAX

    JavaScript 追記 3ダメやん、arguments.callee.caller.caller.callerで辿れる。あと、変数とかを渡すのも大変か。やっぱりGreasemonkeyスクリプトとも連携取れないからだめだよな。 追記 2あきらめかけたけど、こんなんどや。 safeCall(function(){ evil(); }) function safeCall(f){ delete unsafeWindow.GM_safeCall; window.location.href = "javascript:function GM_safeCall(f){eval('('+f.toString()+')()')}"; unsafeWindow.GM_safeCall(f) } テストコードは以下。 返り値は、値を置いて、すりかえられないようにすぐに取るかんじになるかなー。 こんなこ

  • GreasemonkeyスクリプトからDOM Storageを使う - FAX

    JavaScriptGreaseSpot - Code snippets - make an array persistent in globalStorage これを見た。 storage('user', 'taro'); ok(storage('user')=='taro'); storage('user', null); ok(storage('user')===void(0)); storage('user', {a:5}); ok(storage('user').a == 5); storage('user', [1,2,3]); ok(storage('user').length == 3); ok(storage('user')[0] == 1); function ok(exp){ exp? console.info('OK') : console.error('FAIL

  • メモ、Signal、音、リアクション - FAX

    音無しのスーパーマリオブラザーズ、音無しのフィードリーダー。音が無いと、ゲームおもしろくない。ジャンプした感じ、既読にした感じ、剣で切った感じが減る。 何かを書くと、必死にオススメしてるバカな感じになるのはなんでだろう。ただ、今日よぎったことだ。明日は、違うことを言いたい。 ShereOnTumblrは、ポストしたときに、画面では何も起きないところを失敗した。写真がグレーになるなり、なんらかのリアクション、手応えを表すべきだった。音は、リアクションの一つだ。だとすると、音はユーザーインターフェースだ。 視覚だけでなく、聴覚も使って情報を伝える。リアクションを確かなものにすることで、利用者を世界に招き、より集中へ近づける。 YHCでは、アニメーションで進捗と速さを視覚化した。これを音で代替できるかもしれない。視覚情報を聴覚情報へ移し、画面の要素を減らし簡単にできる。作業のリズムを作り没頭へ

    bunhiko
    bunhiko 2007/10/07
  • 内容に合わせて伸縮するテキストエリア - FAX

    JavaScript追記 miya2000の日記 - 「内容に合わせて伸縮するテキストエリア」を Opera にも id:miya2000さんが、クロスブラウザに書き換えられています。GJ!こっちで!! デモビデオは以下(12秒)。 ユーザーが自分でリサイズできるテキストエリアをよく見かける(はてなも)。それを補助するGreasemonkeyスクリプトもある。 テキストエリアを横にリサイズしたいことはあまりない。バーを掴んで最適な高さにするのはめんどくさい。使う人は、ただ全部の内容が見えるぴったりの高さになってほしいだけなんだと思った。 サンプルコードは以下。fitting?、fittable?、expand?(逆に小さくもなる) キーダウンのイベントでも実装してみたけど、日本語入力を検知できないし、方向キーとか無視するコードもいるし、イベントハンドラ内では内容がまだ更新されてなかったり

  • LDRにYouTubeのサムネイルを追加するGreasemonkeyスクリプト - FAX

    JavaScriptLDR - Add YouTube Thumbnail – Userscripts.org 07/09/19 14:44アップデート、YouTubeへのリンクしかないエントリーと、はてなダイアリーに対応。ちょっと便利だと思った。 さっき書いて、ほとんど使わず、今ポスト。エントリー内にYouTubeへのリンクがあると、その下にサムネイルを3枚追加する。 http://img.youtube.com/vi/VIDEO_ID/[1-3].jpgこれで、サムネイル画像取れる。僕はDashboardほとんど見ないんで、Tumblrのフィードをどうかしたい。

  • スライドショーのようにテキストを読むGreasemonkeyスクリプト、YHC - FAX

    JavaScript YHC – Userscripts.org 長文をスライドショー形式で読むテキストリーダーです。デモビデオ(1分半)は以下。kotorikoさんの『捨松定吉』を、ランダムフィルタをかけて読んでいます。 機能説明ウィンドウ右下のGreasemonkeyメニューから[YHC]を選びスタートさせます。先に文章の一部を選択している場合はその部分を、そうでない場合は対象となる部分をマウスで指定します。 操作は主にキーで行います。 キー機能Esc終了↓ or S再生開始/停止→ or J or Space次のスライド 再生中はスピードアップ← or K前のスライド 再生中はスピードダウンGジャンプHome先頭のスライドEnd最後のスライド ↓キーで再生を開始して、→キーで再生速度を少し速くして、速すぎたら←で遅くして。気になるところに戻りたい場合は、↓で止めて、←→で移動して手動

  • 入力したキーを表示するGreasemonkeyスクリプト - FAX

    JavaScriptFLASH KEY – Userscripts.org 操作を録画すると、マウスはカーソルが見えますが、キーは何を打ったかわかりません。このスクリプトは、最前面に角丸四角のボックスで押下されたキー内容を表示します。 適当です。セミコロン周辺や、ファンクションキーはマッピングしていません。適時、追加してください。

  • Collection & Copy - ドキュメントのロード完了に合わせて関数を実行する

    JavaScriptページロード時にプログラムを実行するためにwindow.onloadやbody.onloadがしばしば使われる。しかし、ページ内に大きな画像が存在する場合などは、画像のロードを待つため、実行が遅れてしまう。「ドキュメントのロードが終わっていて、かつ、イメージのロードが完了する前」に関数を実行する方法のリンク2つの要点をコピー。 script要素defer、DOMContentLoadedイベントを利用する方法The window.onload Problem - Solved! Firefoxの場合非公式のイベントハンドラ、DOMContentLoadedを利用する。 // for Mozilla browsersif (document.addEventListener) { document.addEventListener("DOMContentLoaded",

  • 実用 - ウィンドウの外で発生するmouseupイベントを取得する、Firefox

    JavaScript save the assistants 上記のスライダー、ドラッグを開始して、ウィンドウ外でボタンを離し、再度ウィンドウに戻るとずっと押しっぱなしのおかしな状態になる。これは、たぶんマウスが離されたことを検知できていないため。 WebFXのスライダーは、ちゃんと動く。実装を読んでみた。 Slidebar (WebFX) Firefoxは、文字を選択するようにドラッグを開始すれば、ウィンドウ外でマウスのボタンを外した時にもmouseupが起こせるようだ。これを利用し、見えない文字を選択し、選択状態も見えなくして、スライダーが正常に動作するようにしていた。 簡単なサンプルは以下。スライダに限らず、ドラッグ全般に使えると思う。mouseup以外に、mousemoveなども取れた。 IEの場合は、onlosecaptureイベントを使っていた。WebFX++

  • Collection & Copy - 次の画像/前の画像、ブックマークレット

    JavaScript[J]と[K]で、次の画像/前の画像へ移動できるようにするブックマークレット。ウェブで、写真や画像を、よく見る人には便利なことと思う。 以下のページのように、一つのページの中に多数の画像があるページで利用する。(全部のページで正常動作を確認した。) Dark Roasted Blend: Lords of the Logistics, Part 3らくがきVintage Photographs -- Entries on 3rd January 2006Flickr: Photos from hiramekii スクロールをするために、視線をスクロールバーへやったり、マウスを操作したりすることを煩わしく思ったため作った。ページの上部に次々に写真が現れるため集中できる。おかしな位置でスクロールが止まり、画像が切れてしまうこともない。 以下は、Firefox 2.0とIE

  • 日付関連 - FAX

    日付関連 JavaScript, リンク 2008/5/1 最終更新 strftime: strftime for Javascript John Resig - JavaScript Pretty Date cloned.log - PHP互換のJavaScript日付フォーマット関数をモジュール化した memo.xight.org - JavaScriptでビルトインオブジェクトハック (Dateクラス編) Hawk’s W3 Laboratory : 日付と時刻のフォーマット Enjoy*Study - 日付フォーマット変換を行うライブラリを作ってみました。 format.js更新: dara-j Datejs - A JavaScript Date Library design-noir | Web Development | JavaScript | Date.format &

  • Podcastle Night。、ありがとうございました、SAGOOLをフーフーする - FAX

    Podcastle Night。、ありがとうございました、SAGOOLをフーフーする Wiki小話/Vol.7 - Podcastle Night。 まず、会場を提供してくださった沖電気さん、平沼雄一郎さん、どうもありがとうございました。 最高の環境のおかげで、たくさんの人が楽しい時間を過ごせました。 権限のある立場の方が技術に理解があり、今回のようにサポートしてくれることは、とても、すばらしいことだと思います。 当に。 結局、パパ、パトロンなんとちゃうんかなぁ。 あと、塚牧生さん(ほかスタッフの皆さま)、諸雑務おつかれさまでございました。 立パーティー、すごくよかったです。 いろいろな人と喋れました。 あと、id:nagayama総一郎の、幹事。 何も考えないで、ダラダラ連いていけば、そこは居心地のよい空間という、ハーメルンの笛吹き的ナイスさ。 交渉で安くなってたり、すごい!!

  • Deferred、結果値の保存、非同期にインターフェースを合わせる - FAX

    JavaScript はじめてMochiKit.Async.DeferredのJSON取得のサンプルコードを見たとき、「いつ取得の処理が開始されるのか」、「なぜ、はじめにコールバックを渡さなくてよいのか」という疑問が起きました。ベルトコンベアで流れ作業を行うときに、作業者が並ぶ前に、材料を投入してラインを始動してしまっているような感覚です。そのサンプルコードは、以下のようなものです。 var deferred = loadJSONDoc('http://sample.com/data.json'); deferred.addCallback(function(data){ alert(data); // JSONデータが渡される }); MochiKit.Async.Deferredの最初のテストコードでは、ハンドラをセットして、コールバックして、その後に再度ハンドラをセットするテストが