hagino3000's blog

平成アーカイブス (更新停止)

JavaScript

nikkei.comで右クリックを使えるようにするGreasemonkeyスクリプト

日本経済新聞のページ見てる最中にいきなり右クリックが使えなくなって、Macbookのタッチパッドが壊れたかと焦った。動きを見るに、DOMContentLoadedのタイミングでcontextmenuイベントに悪さしてる様なのでjQuery.unbindした。これくらいなら元のソースを読…

WEB+DB PRESS Vol.56にJavaScriptのデバッグやビルドについて記事を書きました

WEB+DB PRESS Vol.56WEB+DB PRESS編集部今月末発売のWEB+DB PRESSは新連載が4つもスタートしてますね。ゆーすけべー氏の「Twitter時代の技術者コミュニケーション術」も面白そう。 私の書いた記事はやや現場寄りの話で、実践的なデバッグの方法やビルドにつ…

第一回Katsushika.js開催

私の家で開発合宿するだけのイベントです。 Katsushika.js : ATNDhttp://atnd.org/events/4092 設備 電源 インターネット モニタ何台か貸せます(サブモニタ用) こたつ 寝る場所 銭湯 サブモニタを使いたい場合は映像出力用のケーブルを持ってくるのが良さげ…

MacOS 10.5 でjQueryをビルドする

超個人的なメモ 前準備 Closure Compilerを起動するのにJava 1.6が必要になるので、次のコマンドを使って使用するJavaのバージョンを1.6にしておく。 /Applications/Utilities/Java\ Preferences.app/Contents/MacOS/Java\ Preferences コマンド git clone g…

一歩進んだjQueryサンプル集

radikoのJavaScriptソース読んでたんだけど、コード圧縮してない上に懇切丁寧なコメントも残したままなので、jQueryのサンプルとして紹介されそうだなと思った。ttp://radiko-dl.ssdl1.smartstream.ne.jp/radiko-dl/player/js/player.js radiko.jphttp://rad…

WEB+DB PRESS Vol.55にCommonJSの記事を書きました

WEB+DB PRESS Vol.55WEB+DB PRESS編集部需要があるのかどうかわかりませんが今回はサーバーサイドJavaScriptについて書きました。CommonJS + CouchDB + α という具合です。 今思えばCommonJS特集でもよかったかなと。CommonJSというのは、GoogleグループのCo…

DevFest Quizパッチワーク問題の回答 CommonJS編

DevFest Quizの回答期限が過ぎたのでエントリにします。パッチワーク問題はJavaScript(CommonJS, Narwhal on Rhino)で解きました。 Google Japan Blog: クイズに答えて DevFest に参加しようhttp://googlejapan.blogspot.com/2010/02/devfest.html "A" また…

Server-side JavaScript と CommonJS

Python Hack-a-thon #3でLTした時の資料をslide shareにupしました。Google App EngineでServer-side JSやれるよ、といった内容なのですがスライドの内容が殆ど無いのと、CommonJSとかその辺の説明をおもいっきり省略したので、少し補足。Google App Engine …

試験問題を解いてみました

人生を書き換える者すらいた。: 人材獲得作戦・4 試験問題ほかhttp://okajima.air-nifty.com/b/2010/01/post-abc6.html こういう問題を解くの楽しいですね。仕事では滅多に使いませんが。 回答 動作ページhttp://hagino3k.appspot.com/sample/keiro.html C…

Ext JSのイベントバブリング

BPStudyで発表した奴。ExtJSのコンポーネントに設定したイベントをバブリングさせる方法です。 やり方 バブリングさせたいイベントをもつコンポーネントで // updateイベントをバブリングさせる this.enableBubble('update'); しておいて getBubbleTarget : …

WEB+DB PRESS vol.54にExt JSの記事を書きました

WEB+DB PRESS vol.54WEB+DB PRESS編集部JavaScriptイマドキ活用術という連載を社長から引き継ぎました。今回は9ページでExt JSについて書きました。サンプルコードを紙面に詰め込み過ぎて、至る所が(略)になってしまいましたが、気になる人は見てやってくだ…

ATNDのイベント画面にGoogleカレンダーへ予定を登録するボタンを追加するブックマークレット

こんな感じになります。 2009-12-17:Safariで動かなかったので修正しました。 コード javascript:(function(){var eventId=window.location.pathname.match(/([0-9]*$)/);$.getJSON('http://api.atnd.org/events/?event_id='+eventId+'&format=jsonp&count=1…

BP StudyでJavaScriptの話をします。

開催直前、今週の金曜日です!!当初はExt JSの話をしようかと思っていたのですが、参加者の1/3がPython Hack-a-thon#2と被っていたので他の話にしようかなと考え始めました…… ATND:BPStudy#28 http://atnd.org/events/2271

Python Hack-a-thon#2での発表資料をupしました

Ext JSとGearsを使って、クライアントサイドTUEEEなアプリ開発の話をしようとしたのですが……。Ext JSの紹介に時間を割きすぎて失敗。次の発表は時間配分ちゃんとしなければ。Extjs + GearsView more presentations from hagino 3000.おつかれさまでした。次…

TwitterのListにユーザーを一括登録するブックマークレットの作りかけ

時間がなくなってしまったので、誰か完成させてくれると嬉しいです。ブックマークレットを起動すると入力フォームが出てきて。listOwner, listName, listMembers(テキストエリア)を入力してボタンを押すと起動する感じ。もっと良い奴があればこんなクソコー…

Python Hack-a-thon #2でExt JSの話をします

事前に宣言する事によって、後戻りできなくするライフハック。 Python Hack-a-thon #2 : ATNDhttp://atnd.org/events/1288 ネタはたくさんあるけど持ち時間が20分なので、内容をどうするか迷い中。多分Ext JS自体をあまり知らない人が多い場だと思うので、そ…

Server Side JavaScript を書いて思った事

というか、はまりまくったのでメモ。 Lotus Notes/Domino 8.5でLotus Scriptの代りにServer Side JavaScriptで同様に開発ができるとの事でやってみました。 サーバー・サイド JavaScript は XPages 用に用意された Lotus Domino サーバー上の ECMA 262 準拠…

Firefox 3.5の変更点メモ

JavaScriptのパフォーマンスに関する所で気になった点のみ。もっと後で試す。 ネイティブJSONのサポート window.evalを使わなくても文字列からJSONオブジェクトが作れる様になった。誰かベンチ取ってくれてると思うけど、速くなってるはず。 var jsObject = …

JavaScript開発を高速化したい

何がしたいかというとブラウザへのJavaScriptコードのHot Deployがしたい。ブラウザに読み込ませるJavaScriptのコード量が数MByteにもなってくると、画面のリロードに数秒かかってしまう。いちいちコードを修正する度に画面のリロードをしたくないので、編集…

みんなもっと JavaScript Shell 使おうぜ!!

今日の若手IT勉強会でちょっとしたデモをやるのに使ったのですが、そんなに知名度が高くなかったみたいなので紹介。簡単に説明するとブラウザ上で動作する対話式JavaScript実行環境です。Firebugのスクリプトコンソールと同等の機能ですが、シェルっぽい動作…

ブラウザの閉じるボタン制御したいんだけどとかいう話

友人から質問があったので、一応携帯メールで返信したけどこういう事ですかね?jQuery使ってます。 <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>unload test</title> <script type="text/javascript" src="./js/jquery-1.3.2.min.js"></script> <script> $(window).bind('beforeunload', function(e){ if(context.edi…</meta></head></html>

JavaScriptの再帰処理の限界

JavaScriptの再帰処理をarguments.calleeを使って書くか、関数リテラル名指定で自分を呼び出すかでエラーになった時の挙動が違ったのでメモ。 arguments.calleeの場合 ブラウザ エラーになる回数 エラーメッセージ メモ IE6 438 スタック領域が不足していま…

IEでメモリリークしてる箇所を検出しまくる方法

JavaScript Memory Leak Detectorのver. 2が出てたのでリンク修正前から気になっていたツールを実際に使ってみたのでメモ。 javascriptでメモリリークしている箇所の検出はJavaScript Memory Leak Detector、IEの使用メモリのチェックはProcess Explorerを使…

IE専用技のdocument.createStyleSheetは使いすぎると駄目らしい

IEでのみ使えるdocument.createStyleSheetですが、使いまくるとJavaScriptエラー「この操作を完了するのに十分な記憶域がありません」が発生します。DOM操作で変更できない所(htmlに対する指定等、下の検証コードがそうなっています)のStyleもいじれるので…

助けてー。IE6の「この操作を完了するのに十分な記憶域がありません」エラーについて

解決しました!!原因及び解決法は次のエントリを参照http://d.hatena.ne.jp/hagino_3000/20090313/1236882843 タイトルのエラーにここ数日悩まされております。このエラーメッセージをそのままgoogle検索にかけても日本の情報しかhitしないので、海外版だと…

IEでのjavascriptデバッグ手法比較

社内勉強会向けのネタかなぁ。この辺のツールの比較調査してみたい。 DebugBAR Microsoft Script Editor Aptana Studio Professional Edition

ブレークポイントをコードとして仕込む。

今まで知らなかった、これって常識なの?? (function(){ var counter = 0; counter++; counter++; // Firebugのスクリプトコンソールが有効な時に // ブレークポイントになる debugger; counter++; counter++; })(); Firebugのスクリプトコンソールから該当…

IE6でPrototype.jsのEvent.observeした処理の実行順序が期待通りにならないのが実は仕様通りでしたという件

職場でIE6だとjavascriptエラーが出るというバグを調べてみたら、Prototype.jsのEvent.observeで登録した処理が、登録順に実行されてなかったという。ぐぐってみたら既に検証されている方がいました。Prototype.jsの問題ではなくattachEventで登録された処理…

JavaScriptでプレゼンツールを作ってみる

まだ書き出した所ですが。 動機とか試したい事。 デザインパターンのメディエーターパターンかロールオブジェクトパターン*1を試したい JS Deferredを使いたい OpenOfficeとかで発表資料つくるのがめんどいしね! ソースはHTML(見る人がJavaScript切ってても…

忍者は国内に仕事がないのか

転職活動を始めるべく準備中。 UIエンジニアの道を突き進むにはどんなスキルが必要になってくるのかな、とjavascriptの求人サイトを眺めてみる。 Find JavaScript jobs on JavaScript Ninja Jobshttp://jobs.jsninja.com/ チェックするのはRequirementsと書…