2008-01-01から1年間の記事一覧

条件付メソッドチェーン実現のためjQueryのラッパーを作ってみた

発端 条件付メソッドチェーンを実現するjQuery pluginを作ってみた - 文殊堂の今後の課題を実現したい 今回作ったもの testという名前のメソッドを呼ぶとそれ以降、 jQueryオブジェクトをラップしたオブジェクトによって メソッドチェーンが繋がっていく。 j…

人間の思考とプログラミング言語

はてなブックマーク - フローチャートの呪い - カレーなる辛口Javaな転職日記より ブコメで言及しようと思ったら引用部分含めて100字越えたのでこちらで、 id:NOV1975 人間の思考がプログラミング言語ほど単純になるとも思えないんだけど、どうかな? 意見で…

条件付メソッドチェーンを実現するjQuery pluginを作ってみた

発端 monjudoh jQueryで出来たらいいなーと思うことは条件付メソッドチェーンで、メソッドチェーン内の特定のメソッド呼び出しを特定条件を満たした場合のみ実際に実行するように出来たら、常にメソッドチェーンでやれて便利だと思う。 monjudoh 条件判定メ…

livedoor Readerにはてなブックマークのコメントを表示するGreasemonkey ScriptがFirefox3.0で動かない件とその対応

2008/09/11追記 gistに置いてリンククリックでインスコできるようにした。 http://gist.github.com/raw/10158/dc416523e4ba898d6f15dbda6fdc84ff5a44d8d0?ldrhatebucomments.user.js 元のエントリ UserJS Mania: livedoor Readerにはてなブックマークのコメ…

Firefox3.0+Greasemonkey0.8.20080609.0で「new Date()」がこける件

バグなのか仕様変更なのかはよく分かりません。 Firebugが入っている状態で、こんなグリモンを入れてリロードしてみると、 // ==UserScript== // @name Date test // @namespace hogehoge // @include * // ==/UserScript== (function () { with (unsafeWind…

withの挙動がFirefoxとIE・Operaで違う件

(function(){ var namespace={a:'hogehoge'}; with(namespace){ alert(a); } })(); 上記のコードのようにwith文の中で、どのスコープでも未定義の変数aを使おうとすると、 with文の括弧の中に入ってるオブジェクトのaプロパティを代わりに使ってくれます。 …

JavaScriptファイルの連結ではまった件

JavaScriptのコードをある程度たくさん書く場合、最初から1ファイルだといろいろ面倒くさいので、 ファイルを小分けにして開発して、後でがっちゃんこして読み込ませるといったことをします。 原始的な方法だと↓こんな感じ cat a.js b.js c.js > app.js (Win…

JavaScriptデバッグtool NitobiBug

IIS7 NitobiBugというscriptを読み込ませるだけで使えるJavaScriptデバッガがよさげなので紹介します。 読み込ませたら、nitobi.Debug.log関数にオブジェクトやDOM要素を渡してやれば、中身を見ることが出来ます。 ↓bookmarklet化しましたが、できれば公式サ…

Templalien jQueryを使用したテンプレートエンジンもどき

テンプレートエンジン的な使い方をするテンプレートエンジン以外の何かを作ってみました。 JUI発表版のTwittelienで必要になったので作ったけどとりあえず版なので性能とか度外視です。 Templalien本体 function Templalien(template){ this._template = jQu…

Templalienを実際に使ってみる

Templalien jQueryを使用したテンプレートエンジンもどき - 文殊堂を実際に使ってみます。 <html lang="ja"> <head> <title>Templalien</title> <link type="text/css" rel="stylesheet" media="screen, projection" href="http://assets2.twitter.com/stylesheets/screen.css"/> </link></head></html>

JavaScript1.6でBrainf**kもどきを実装

2008/09/10追記 gistに置いた 9713’s gists · GitHub 動機 1000speakersとかで言語の処理系を実装した人をたくさん目にしたが、 自分はまだ一つも実装していない。 これでプログラマを名乗ってていいのか? 言い訳とか やっつけ仕事のためにArray.prototype.…

GREE勉強会「セルの海 マクロの空」

勉強会本編 株式会社インターネットイニシアティブ 山本和彦さんの発表 GREEのページの下の方に発表資料のPDFがあるので、かいつまんでまとめ&感想。 Lispことはじめ Lisp以外の言語にはシンボル自身というデータがない→シンボルがLisp特有というのはそうい…

Twittelienで/homeに流れてこない人の発言を拾う

使い方 Twittelienを読み込む 以下のJavaScriptの一番最後のintervalに更新間隔(秒単位)、userNamesに発言を拾いたい人のユーザ名を配列で入れて、実行。 (function($,params){ var thumb = $('<td/>') .addClass('thumb vcard author') .append( $('<a/>') .addClass</a/></td/>…

コードリーディングjQuery.fn.nextAll

経緯 jQuery.fn.nextAllが割と早いのでどうせnextSiblingを次々辿って要素を詰めたりしてるんだろうと思ってコードを追ってみた。 バージョンは1.2.3を使用。 (1)ソースコード上を「nextAll」で検索したら、1253行目〜1272行目にそれっぽいのがあった。 jQue…

キャプチャリングとバブリング Safari・Opera編

キャプチャリングとバブリング Firefox編 - 文殊堂の追加調査 Firefox2と同様SafariとOperaでも検証用HTMLで検証してみました。 Safari3.1(Win版) Firefox2とまったく同じ動作でした。 Opera9.26 Firefox2と結果が異なりました。 (1)-外側クリック 表示され…

キャプチャリングとバブリング Firefox編

サイ本の17.2に詳しく書いてありますが、JavaScriptのDOM レベル2イベントでは、 イベント伝播は3つの段階で構成されます。 キャプチャリングフェーズ ターゲットノード自身でのイベントハンドラの実行 バブリングフェーズ 上図のように3つ入れ子になった要…

nipotan nite二次会

あらためて話を聞かせてもらって以前id:nipotan++した理由を思い出した。 Twitterアイコンと似ても似つかないこと、語尾にだぜを付けていないことをdisられた id:ZIGOROu達が喧々諤々議論している横で酔ってウトウトしていると何度も話を振られた 帰れなくな…

GREE勉強会「ニコスクリプト言語の実装と進化〜ActionScript上での言語処理系実装〜」

ドワンゴで去年2ch採用された藤田 俊 君の発表。 こういったプレゼン自体初めてだったそうです。 なのにいきなり大勢の社外の人間の前でやらせるドワンゴの社風が素敵。 とても緊張していたものの、話の内容はちゃんとわかった。 勉強会後の懇親会やハシゴし…

Twittelien ver0.03おまけ

ロガー recent.log = console.log; とか recent.log = function(str){jash.print(str)}; とか流してやるとロガーが指定できる。 過去エントリ取得 結構凄い勢いで、過去エントリを末尾にどんどん追加していく。 多分、サーバに優しくない。 抜けがあるかどう…

Twittelien ver0.06

2008/04/11追記 発言の際にPOSTするURL、パラメタがまた変更になったので対応しました。 2008/04/09追記 /homeのHTMLが変更になったのでとりあえず対応しました。 発言時にPOSTすべきURLがhttp://twitter.com/status/updateではなくなったので対応しました。…

1000speakers:3で発表してきた!!

資料作成 発表用資料はid:amachangのS6を使おうと思っていたものの、 いかんせん前日夜に作成を始めたのでは厳しいので、 id:viverのS6プレゼンメーカーを使いました。 これはWiki記法を記述していくとS6のHTMLを出力してくれるという優れもので、 はてダで…

3/19にMacBookを買ってきた

今週土曜の1000speakers:3の発表に使うつもりで買ってきたのだが、 寝床から一切出ないでネトヲチできるようになったため、 より一層駄目人間化が進行しそうだ。 それとは関係なく木曜日には一日中眠っていたので、 資料はまったく出来ていない。 何とかしな…

Twitter議事録

さっそく最小構成TemplateEngineというかただの変数展開 - 文殊堂を使ってみた。 要jQuery、Autopagerizeとの併用推奨。 議論参加者の発言をfavoっておいてFavoritesのページから議事録取得をすると良いと思う。 以下のJavaScriptを流すとエントリをクリック…

最小構成TemplateEngineというかただの変数展開

コンストラクタで${変数名}が埋め込まれた文字列を渡してテンプレートを初期化、 mergeメソッドの引数でオブジェクトを渡してやると変数展開する というだけのもの。 ソース var MiniTemplate = function(template){ this.template = eval(['([\'',template.…

DOM構築前後両方でlog出力

これを雛形としてHTMLやらJavaScriptやらを書く。 scriptタグ内で「log('hogehoge');」とやるも良し(DOM構築前)、 イベントハンドラに登録した関数の中で「log('fugafuga');」とやるも良し(DOM構築後)。 <html> <head> <script> (function(){ var temp = []; log = function(s){ </head></html>…

/homeタイムライン自動更新 ver0.02

以前作った奴の改良版 タイムライン自動更新JavaScript使用中に発言できるようにするJavaScript - 文殊堂 上にスクロールしなくても発言(含むreply)できるようにする - 文殊堂 と併用するといい感じ タイムライン自動更新JavaScript使用中にエントリ削除でき…

上にスクロールしなくても発言(含むreply)できるようにする

約30秒に一回/homeタイムラインの更新を確認し、 更新した分だけ上に継ぎ足していってくれるJavaScript を使っていると1ページがどんどん長くなっていって、 上に行って発言したりreplyして、また元の箇所に戻って読み続ける というのがとてもつらくなります…

jQuery UIのdraggable・droppableとsortable

iGoogleのように、縦にガジェットを複数ぶら下げたのを横に並べて、 並び替えできるUIを作りたいので、 jQuery UIの調査をしました。 draggable・droppableとsortableは併用不可 それぞれ縦にsortableを使って、draggable・droppableで列間の移動を実現すれ…

アプレッソ会社見学オフ

id:lalha(blog)の会社に遊びに行ってきますた。 DataSpiderのデモを見せてもらったり、ツールを使った議事録drivenな会議の仕方などの話を聞いたりした後、 会議室で飲み会、id:nipotanを召喚して朝までまで店を転々としながら酒を飲むなどしました。 DataSp…

masuidriveさんの講演を聞いてきた

社内でmasuidriveさんの講演があったので聞いてきた。 内容が気になる人はWEB+DB PRESSvol.43を読めばいいんじゃないかな。 心霊写真が載ってたりするけど今回も面白いのでお勧め。