愛と勇気と缶ビール

ふしぎとぼくらはなにをしたらよいか

JavaScript

VimperatorでInstant Previewsとイチャイチャするためのpluginを作った、けど…

最近(3日前くらい?)、Google検索の結果画面でリンク先のページのプレビューが見えちゃうInstant Previewsというムフフな機能がリリースされた。けど、ブラウザとしてVimperatorを選択した僕達がInstant Previewの引き金となっている(であろう)clickイベン…

v8botをTwitter用にportした

某所の某チャンネルで、v8botなるものを見つけたので、Twitterでも動くようにしてみた。動くようにしてみたというか、サンドボックス周り以外はイチから書いているし、機能は一つしか移植していない。元のヤツは参考程度。http://twitter.com/v8botReplyでJa…

ゆとりがlong pollingを実装してみた

long pollingって結局 HTTPでつなぎに行って、レスポンスが帰ってきたら何かして再度つなぐ(Client Side) HTTPリクエストをキープしといて、イベントに応じてレスポンスを好きな時に返す(Server Side) の2つだろう、と思って、勉強を兼ねて「とりあえず上記…

redflagをナビ子記法でリファクタリングする

WEB+DB press vol.59に載っていた、id:uupaaさんのナビ子記法が目からウロコだったので真似してみた。 (function(global, require) { var sys = require('sys'), fs = require('fs'), Script = process.binding('evals').Script; setups = [], events = {}; …

IE8におけるreadyStateとstatusのおいしい関係

ちょっと若気の至りでこんなコード書いてた。 if ( xobj.readyState === 2 && xobj.status === 401 ) { // hogehoge } このコード、IE8だと「エラーを特定できません」とか言って怒られる(特定しろよ!ハゲ!)。readyState === 2のところをreadyState === …

node.jsのsysパッケージはutilパッケージに移行予定らしい

node.jsのsysパッケージはutilパッケージに移行予定らしい。 11:22 JimBastard: a message is outputed on 0.3 when you require('sys') 11:22 % ./node 11:22 > process.version 11:22 'v0.3.1-pre' 11:22 > require('sys') 11:22 The 'sys' module is now …

二人のJake

とあるプロジェクトをgithubから引っ張ってきて、プロジェクトのルートディレクトリに"Jakefile"なるファイルがあったので何かと思って調べたら、Rakefileの拡張文法でJakefileを書いておくことで、.jsファイルのcompressとかドキュメントの生成?などが出来…

node.jsで「メタプログラミングRuby」水曜日のredflagを実装する

はい、つられましたね。あなた、node.jsっていう流行り言葉につられてこのリンクを踏んでしまいましたね。ここはバーボンハウスだ。ゆっくりしていってくれたまえ。 というような冗談は置いといて。最近、「メタプログラミングRuby」っていう本を読んだので…

gumistudy #5に行ってきたような気がする

現GREE、id:naoyaさんによるTitanium MobileというJavaScriptで、iPhone/Androidのネイティブアプリを作れるSDKのおはなし。 公式はこれですな。http://www.appcelerator.com/ 要点としては、 チタニウムじゃなくてタイタニウムらしい? 事前情報だと違うのか…

Test::QUnit - mozrepl経由でコマンドラインからJavaScriptのテストを実行する

マクラ - JavaScriptのテストについて テストのないコードはコードではなく、テストを書かないプログラマはプログラマではなく、テスティングフレームワークのない言語は言語と呼ぶに値しない。と以上のような偉そうなことを言う資格は全くないし狂信的でも…

Google Wave追悼にちなんでShindigのwave featureを試してみた

仕事でApache Shindigというプロダクトに関わっているのだけど、その関係でShindigプロジェクトのtrunkを時々svn upして、最新版のShindigにどのような更新があるのかチェックしている。それで、この前svn upをかけたらtrunk/以下にextras/src/main/javascri…

JSONP ってJSONあんま関係ないよね

既に流通してる名称だからしょうがないけど、JSONPって名前は何だか紛らわしい。この名称はちょっといただけない。JSONPを試してみよう!というとき、大体こういう感じにhtmlを書く。(なんかscriptタグとか消されるので変なhtmlでご勘弁を) JSONP test jav…

fms_switcher.jsで端末固有番号も設定できるようにした

以前に作った、VimperatorのコマンドラインからFireMobileSimulatorの設定を変更するプラギンを更新した。(前記事 → http://d.hatena.ne.jp/zentoo/20100612/1276329010) http://gist.github.com/435540 変更点としては、 コマンドの第二引数でUID(端末固有…

JavaScriptのnewって何?一体何なの?という話

マクラ JavaScriptを使っている人なら知っていることだろうけど、JavaScriptはプロトタイプベースのオブジェクト指向を採用しているので「クラス」がない。オブジェクトしかない。でも、組み込みの演算子としてnewがあって、それを使って var obj = new Obje…

僕がJavaScriptで簡易なdeep copyを必要としたわけ

しばらく前から仕事でApache Shindigを触っている。Shindigは、Googleの提案しているソーシャルアプリケーション(日本だとソーシャルゲームと言った方が通りがいいかも)の共通API、OpenSocialの参照実装。もそっと分かりやすく説明すると、mixiアプリって…