タグ

ブックマーク / amachang.hatenablog.com (225)

  • IT戦記 - JavaScript の this について

    WEB+DB PRESS 編集の R たんから、僕の連載記事に読者様から質問が来ていると教えていただいたので、その内容を教えていただきました。 以下、内容を転載 「JavaScriptわくわく開発道」の記事に関して質問です。 今回の内容で特に興味を持ったのはthisキーワードの振る舞いでした。 thisキーワードの説明には、オブジェクト型の変数を別の変数にコピーしてから初期化すると、コピーした変数からメソッドを実行できなくなるという例が紹介されていました。 そこには「(1)の時点でobj0には{}が入っているため、hogeは未定義となってしまう」という説明があるのですが、誌面の都合上省略があるためか、thisキーワードを用いることで問題を回避できるという理由がなかなか理解できないでいます。 自分なりに考えてみたところ、内部的には以下のようなことが起きているのではないかと思いました。 (1)

    IT戦記 - JavaScript の this について
  • JavaScript のワンライナーでカラーコード - IT戦記

    RGB 値が分かってて #XXXXXX を計算するのめんどいなーと思って Firebug でやってみた。 '#' + [76, 84, 105].map(function(i){ return (i >> 4 ? '' : 0) + i.toString(16) }).join('') このくらいならワンライナーで書けて便利ー^^ 追記: 弾さんからトラックバックもらって見てみたけど弾さんはちょっとミスってたので再トラバします。 (function(r,g,b){return '#' + (r < 16 ? 0:'') + (r*65536+g*256+b).toString(16)})(15, 127, 255) http://blog.livedoor.jp/dankogai/archives/50911084.html これだと (function(r,g,b){return '#'

    JavaScript のワンライナーでカラーコード - IT戦記
  • そろそろモバゲータウンについて一言いっとくか(タイトルはネタです) - IT戦記

    なんか、以下のブログが喧嘩してるみたいですね http://d.hatena.ne.jp/tksmash/ ホームページを作る人のネタ帳 で、自習室さんは前からたまに読んでたんですが、ネタ帳さんの記事はあまり読んだことがなかったので、読んでみました。 で、モバゲー批判の記事がいっぱいでびっくり モバゲー潜入。『25歳以上♂禁止』とかにへこむ28歳。モバゲーのゲームはおまけだったのか。*ホームページを作る人のネタ帳 モバゲー潜入レポ2。モバゲーは広告をもっとよく選んで表示する義務があるんじゃないかな*ホームページを作る人のネタ帳 モバゲーレポ3。ファミレスで、会話もせずに黙々と携帯をいじる女子学生達に『オヤジ』と言われる*ホームページを作る人のネタ帳 健全に努力しているというモバゲーからのメールは、当に健全か?*ホームページを作る人のネタ帳 『YouTubeにあなたの画像がのってます』と『

    そろそろモバゲータウンについて一言いっとくか(タイトルはネタです) - IT戦記
    HolyGrail
    HolyGrail 2007/09/11
    amachangモバゲーやってたんだ/”あととりあえず私は一切喧嘩は売ってないんですが・・・。”<ネタ帳のヘッダ画像見たら全然説得力ないよね!売ってないにしろバーゲンセールに食いつきまくっちゃってる感じ!
  • お金 - IT戦記

    はじめに 起床時間 40 時間超えました。なんか、色々考えさせられることがあって寝れません。 いろいろ思うことがあったのです。 お金って何に使えばいいんだ? 僕はただ、漠然とお金は貯めて「まとまったお金」を自分のためではなく社会的な何か「良いこと」に使いたいなと思っています。 でも、何が「良いこと」なのかはまだ分からない。僕はまだそこまで自分の「思想」が豊かじゃないし、育ってない。 物で満たされるのが怖い 生活レベルがいったん高くなると、首にナイフを突きつけられる(それほどの苦労をする)までそれを戻すのは難しいんだと思った。 豊さを「当たり前」にしないことは簡単だけど、「当たり前」にしてしまったあとに、それを「当たり前」じゃなかったと振り返るのはすごく難しいと思う。 だから、シンプルに生きたい だって、自分自身の「豊かさ」に縛られてフットワークが重くなるのは嫌だ。 最低限の物と最低限の金と

    お金 - IT戦記
    HolyGrail
    HolyGrail 2007/09/10
    オーディオ、PC、ゲーム、カメラ、多趣味と言っていいのかわからないけどお金のお年どころはいくらでもあるなぁ、自分は。
  • あ。そういえば WEB+DB の記事 - IT戦記

    WEB+DB PRESS Vol.40 の記事で「JavaScript 入門」書きました 入門と言っても「善意の嘘」を一切省いて、変数とデータ、プロパティアクセス、演算と型変換、 this の意味、プロトタイプチェーン、スコープチェーン、 Activation オブジェクト、 Variable オブジェクト、 with の仕組み、などを 8 ページに詰め込みました。 興味があるかたは 立ち読みでもいいから 読んでね><! WEB+DB PRESS Vol.40 作者: 後藤章一,竹端進,角谷信太郎,池邉智洋,松永充弘,永安悟史,高林哲,児玉サヌール,田中ばびえ,たつを,小飼弾,宮川達彦,竹下肯己,角田直行,きたみりゅうじ,尾島良司,和田啓,田中邦裕,山陽平,伊藤直也,天野仁史,繁田卓二,江川崇,長谷川裕一,日Springユーザー会(JSUG),小山哲志,猪股健太郎,高井直人,吉田和弘,

    あ。そういえば WEB+DB の記事 - IT戦記
    HolyGrail
    HolyGrail 2007/09/03
    買った!読んだ!いい記事でした!!
  • XPath のパーサ書いた - IT戦記

    ふー。XPath パーサが出来ましたよ>< わーい。 昨日中に作ろうとは思っていたけど>< もうすぐ朝の 6:00 か。 もう 18 時間くらいはずっとコード書いてたんだなあ。集中してて時間が過ぎるのが一瞬だったよ。 XPath パーサのデモ http://amachang.art-code.org/xpathparser/ このデモでは、テキストボックスに書かれた XPath を動的に解析していきます。 実際に XPath を書き足していくと「うにょうにょ」構文木が構築されていく様子が分かります。 ちょっとおもしろいです。 注意 とりあえず、実装することだけを目標に書いたので、高速化や最適化やリファクタリングなどは一切やっていません。 あと、 パーサを作りながら、いろいろ勉強になって、いろんなことブログにも書きたいんだけど>< でも、今日はもうヘロヘロ&手がプルプル&明日拡張勉強会なので

    XPath のパーサ書いた - IT戦記
  • 正規表現の XPath 字句解析その2 - IT戦記

    またまた XPath ネタです。 先日、XPath の字句解析をワンライナーで作ってみた。 - IT戦記で書いた正規表現の XPath 字句解析ですが、よく考えるといろいろおかしかった(不正な文字が無視されたりする)& id:otsune さんからコメントやブクマの突っ込みもありまして、1から正規表現を勉強してから新しく書き直すことにしました。 正規表現の勉強方法 以下の二つの方法で勉強しました。 1.SpiderMonkey の正規表現デバッグオプションを使う SpiderMonkey をビルドするときに、以下のフラグを付けてビルドします。 $ make -f Makefile.ref "DEFINES=-DREGEXP_DEBUG -DDEBUG"こうすると正規表現がどういう風に実行されたかを調べることができます。 こんな感じ $ js js> 'foobar'.match(/o+/)

    正規表現の XPath 字句解析その2 - IT戦記
  • IT戦記 - XPath は実用に耐えうるかの考察と xpath.js

    背景>< Safari 3 系から DOM Level 3 XPath が実装されました!!!キタコレ!!! Firefox 2 系は DOM Level 3 XPath が実装されている。 Opera 9 系は DOM Level 3 XPath が実装されている。 XPath 1.0 in JavaScript • Cameron McCormack's blog (以下、 xpath.js)なるものがあり Internet Explorer 6 および 7 のような DOM Level 3 XPath を実装していないブラウザでもそれ相当の機能を実装することができる ということで、以下のことを試してみたい!! Safari, Firefox, Opera の XPath のパフォーマンスはどうか? xpath.js のパフォーマンスはどうか? xpath.js は XPath 1.0

    IT戦記 - XPath は実用に耐えうるかの考察と xpath.js
  • ロケーションバーに直入力するとブクマを見に行って補完してくれるコンポーネント作った - IT戦記

    今日徹夜ぎみで作ってみた でも 使ってみたら逆に不便だった>< 勉強になったからいいや。 破棄! もったいないので、今手元にあるソースを貼っときます このソースを Firefox インストールディレクトリ以下の components に入れると textbox 要素で autocomplete="delicious" が使えるようになります。 開発中のものなのでバグありまくりです。 ちなみに、僕が一日に書けるコードはちょうどこのくらいです↓ const Cc = Components.classes; const Ci = Components.interfaces; const Cr = Components.results; const CLASS_ID = Components.ID('{aa892eb4-ffbf-477d-9f9a-06c995ae9f85}'); const C

    ロケーションバーに直入力するとブクマを見に行って補完してくれるコンポーネント作った - IT戦記
  • JavaScript < jQuery < Lisp ? - IT戦記

    はじめに 僕は jQuery も Lisp も触ったことがないので、このエントリが言ってることは間違えてる可能性があります>< もし、「それ違うよ」ってのがあれば指摘してくれると嬉しいです>< そういえば 初めて dankogai さんと会ったときに「S 式とアセンブラは両極端にいながら データ==プログラム というところが同じだ」というようなことを言っていた(気がする)。 データ==プログラムというのは当にすごい データとしてプログラムを直接書き換えたりいろいろなことができる。当にすごい。 もちろん、他の言語でも、リフレクションすることや、変数やプロパティに関数を格納することでそれと似たようなことは可能だ。でもそれは、データ=プログラムとは全然違う。 バイトコード書き換えは似ているが、バイトコードの世界がデータ==プログラムなのであってその言語自体はそうじゃない。でも、バイトコードを

    JavaScript < jQuery < Lisp ? - IT戦記
  • Re: ひとりとか - IT戦記

    おかげさまで人脈は広くなってウェブな著名人の方と 仲良くさせていただいているわけですが それを自分の実力と勘違いしないでおこうと思う。 http://d.hatena.ne.jp/dropdb/20070821#p1 俺も勘違いしないようにしよう。 あとでもうちょっと書くかも。 http://d.hatena.ne.jp/xcezx/20070820/1187632117 僕ももっともっと勉強しよう。今の自分はまだ何も生み出してなんかいない。全然実力もない。全然ダメだ。 今は、世界中の人々がすごいからべて行けているんだ。 いつか、「自分がすごいから世界の人々がべていける」そんな人に僕はなりたい。

    Re: ひとりとか - IT戦記
    HolyGrail
    HolyGrail 2007/08/21
    この流れに乗りそこねたーーー!(と思っているのは自分だけ)//http://d.hatena.ne.jp/HolyGrail/20070820/1187641514
  • arguments に対して shift するための考察(をしていたらカッとなって配列変換のベンチマーク) - IT戦記

    JavaScript において可変引数を扱う場合 arguments オブジェクトを使います。 function func() { for (var i = 0; i < arguments.length; i ++) { alert(arguments[i]); } }; func(1,2,3) // 1,2,3 を順に表示 そして 可変引数を使うパターンとしては、 すべて可変引数 固定引数と可変引数 の二つに分けることができます。 すべて可変引数 引数が与えられた分だけ同じような処理を行うパターン function add() { for (var i = 0, r = 0; i < arguments.length; i ++) r += arguments[0]; return r; } var r = add(1, 2, 3, 4, 5); 固定引数と可変引数 最初のいくつかの引

    arguments に対して shift するための考察(をしていたらカッとなって配列変換のベンチマーク) - IT戦記
  • シンプルライフ - IT戦記

    職場で僕の家の話しをしたら盛り上がったので、書く 僕の家には、画面付きの小さな DVD プレーヤーと、布団と、ゴミ箱以外の家具がない。 冷蔵庫もコンロもパソコンも洗濯機も(共同のやつを使ってる)もちろん、ネットも契約してないし、テレビもない。 家で一人でいるときは、ずっとケータイでブログか 2ch を見てる。 それで十分で何も必要ないんだ。ほんとに。現代社会はものが溢れてると思う。 部屋は六畳だけど ほぼ、三畳分のスペースしか使ってなくて、反対側にクモの巣が張っていました。

    シンプルライフ - IT戦記
    HolyGrail
    HolyGrail 2007/08/10
    id:amachang>50分の1だと思うとなんかドキドキしてきた!!!(何
  • IT戦記 - Shibuya.js Technical Talk #1 を終えて。

    皆様のお話し、とても勉強になりました。そして、楽しかったです。 自分自身にこのような機会を与えてくれた、id:secondlife さん及び Shibuya.js の皆様に感謝します。 また、別のテーマでも話せる機会があれば、ぜひ、挑戦してみたいと思います。 これからも、amachang をよろしくお願いします。 資料をアップしました。 http://sample.ecmascript.jp/20060414.ppt

    IT戦記 - Shibuya.js Technical Talk #1 を終えて。
    HolyGrail
    HolyGrail 2007/07/31
    id:amachang>久しぶりに参照しようとしたらパワポのファイルが消えてた><せっかくなので今までの高速化TIPSとかまとめて再度エントリ書いたら需要あるんじゃないかなー(とおねだりメソッドw
  • style.cssText の使い処に関する考察 - IT戦記

    cssText って知ってますか? cssText っていいうのは CSSRule オブジェクトとか CSSStyleDeclaration が持っている情報を css ファイルに書く形式の文字列にしてくれる機能です。 乱暴に言ってしまえば、 css 系のオブジェクトが持っている innerHTML みたいなものです。 具体例を見てみましょう。 こんな感じの body があるときに <body style="margin: 1em; padding: 1em; border: 1em">....</body> こんな感じで使えます。 alert(document.body.style.cssText); // 'margin: 1em; padding: 1em; border: 1em' 簡単でしょう?(ボブ略 設定も出来ますよ こんな感じ // さっきの続き document.body

    style.cssText の使い処に関する考察 - IT戦記
    HolyGrail
    HolyGrail 2007/07/31
    safari1.3-、Firefox1.0-、IE5.5-とかでも動けば実用的かも。
  • そろそろ、はてなスターについてちょこっといっとくか - IT戦記

    僕は はてなスター大好き! でも、メッセージの送信機能が Mac OSX + Firefox の環境を考慮してない>< 問題は Enter キーのイベントハンドリング。 Windows の IME は変換して決定するときの Enter キーのイベントを Firefox に渡さないんだけど、 Mac OSX の IME は変換して決定するときの Enter キーのイベントを Firefox にわたしちゃうんだよね>< だから、一回変換するごとに投稿されちゃって変な感じのメッセージになっちゃうんです。 これは、かなり難しい問題なんですけど、やっぱり form にして submit イベントに引っ掛けるのがいいと思います。 keydown ではどうしてもこの問題の解決は難しいと思うのです>< 追記: via:http://b.hatena.ne.jp/kazuhooku/20070719#boo

    そろそろ、はてなスターについてちょこっといっとくか - IT戦記
    HolyGrail
    HolyGrail 2007/07/19
    amachangがMac環境を手に入れてこういう突っ込みをいれられるようになったのでマカーとしては嬉しい限りです><
  • 収支概算を公表します:[Shibuya.JS Technical Talk] - IT戦記

    ネタですよ>< http://cssnite.jp/archives/post_746.php なんか、収支概算が流行っているようなので、 Shibuya.JS の収支を非公式に概算してみた。 チケット収入 0 140 0 協賛費 - - 0 収入小計 - - 0 会場費 - - 0 人件費(撮影費、モデレータ、講師料) - - 0 ノベルティ 書籍 - - 0 企画費 - - 0 制作費 - - 0 入場パス - - 0 印刷代 ガイドブック等(ナガヤマン作) 0 140 0 書籍買い取り - - 0 通信費 - - 0 販売手数料 - - 0 はてなガム 0 140 0 経費小計 - - 0 差額 - - 0 すげえ!Shibuya.JS すげえ! 僕は Shibuya.JS が好きだ! 誰かみたいにエンジニアオタクとは呼ばない! 女子よりもエンジニアが好きだ! いや。ネタですよ。

    収支概算を公表します:[Shibuya.JS Technical Talk] - IT戦記
    HolyGrail
    HolyGrail 2007/07/15
    収支概算メソッドブームの兆し
  • Re: new の挙動 - IT戦記

    以下のエントリへの反応です。 new function() { //どうのこうの } は、 (function(){ this={} //どうのこうの return this })(); みたいなことしてるんだろうか。 http://d.hatena.ne.jp/gnarl/20070628/1183009662 this はキーワードなので変数としては使えないのですが、使えるとするならば、ほとんどそれに近い挙動だと 思います。 一つだけ違うのは this がどういうプロトタイプを持つかということです。 new function() { arguments.callee.prototype.hoge = 'hoge'; alert(this.hoge); // hoge }; (function() { var _this = {}; arguments.callee.prototype.

    Re: new の挙動 - IT戦記
  • IE 以外の JavaScript で getter setter が使えるようになる! - IT戦記

    Opera 9.5 では getter setter が使えるようになります。 http://my.opera.com/desktopteam/blog/kestrel-is-coming で Safari 3 でも使えるか試してみたら・・・ alert({ get x() { return 'ok' } }.x); // ok つ、使えた! Firefox でも かなり前から getter setter が使える という事は・・・ IE 以外で getter setter が使えるのはもうすぐだ!!! IE にしかないプロパティを他のブラウザで実装することができるようになる!! たとえば、こんな感じ? // ↓条件付きコンパイル /*@cc_on @if (@_jscript) @else @*/ if (!('returnValue' in Event.prototype)) { Ev

    IE 以外の JavaScript で getter setter が使えるようになる! - IT戦記
  • (function(){})() の代わりに - IT戦記

    jQuery 見てたら (function() { // hoge })(); を new function() { // hoge }; って書いてたー。おー。たしかにー。

    (function(){})() の代わりに - IT戦記
    HolyGrail
    HolyGrail 2007/06/26
    新たなるカップリング!(ぉ「send×amachang」