タグ

ブックマーク / d.hatena.ne.jp/gyuque (11)

  • Mozilla Party 10 の資料 - 最速チュパカブラ研究会

    Mozilla Party 10 でcanvasの話をしてきましたので資料を公開します。 http://www.slideshare.net/gyuque/mozilla-party-2009-canvas-programming デモは以下のURLにあります http://gyu.que.jp/jscloth/touch-opera-gecko.html 海外からのゲストのために通訳がついていたのですが、ボランティアの学生さんだったそうです。普通にお金を出して依頼したものだと思っていたので、閉会の挨拶のときに知ってびっくりしました。 会場の質問で Flash と比べてどうなんだと聞かれ、今の時点では、自分が仕事で Web ページを作る立場だったら無難に Flash を使うと答えました(「ねる。」はあくまで趣味なので、IE なんて気にせず canvas を使えたわけです)。 悲しいことに、

    Mozilla Party 10 の資料 - 最速チュパカブラ研究会
  • Spark勉強会 JSplashの資料を公開+α - 最速チュパカブラ研究会

    A Brief Introduction in English JSplash is a conversion tool, that converts SWF movies to javascript. Converted script renders shapes with SVG and rewrites ActionScript dynamically to run on browser's JS Engine. You can see a demonstration at http://www.libspark.org/svn/ruby/jsplash/trunk/client2/demo_20081001.xml Left one is a screenshot of the movie running on JSplash. And right one is running o

    Spark勉強会 JSplashの資料を公開+α - 最速チュパカブラ研究会
    amachang
    amachang 2008/10/03
    なんじゃこりゃあああああああ
  • 100%失敗するWebアプリの作り方 - 最速チュパカブラ研究会

    誰にとは言いませんが、私からの警告です。 要件 「Web上で日記を書いて、コメントをつけるシステムを作りたい」 普通の技術者の設計 えーと、日付ごとに分けてテキストを保存しておけばいいんだな。一日に複数の話題を書くこともあるだろうから、先頭に * がある行は見出しとして扱おう。コメントはシンプルなテキストで、各日付に関連させておけばいいな。 以上。 天才(自称)の設計 ふむ、コメントつきの日記システムか。凡人にはコメントと文は別物のように見えるかもしれないけど、俺に言わせると実は同じものなんだ。だって、どちらも何かの話題に対して何らかの意見を述べているものだろ? 違いは、ある話題のツリーのトップにあるのが文、そこにぶら下がってるのがコメント。ツリーといえばファイルシステムだ。そう、つまり我々が作ろうとしているものはファイルシステムの一種なんだよ。日記を書けるファイルシステムというものを

    100%失敗するWebアプリの作り方 - 最速チュパカブラ研究会
    amachang
    amachang 2008/09/08
    サービスは抽象化しちゃいけない
  • 2008-06-03 - 最速チュパカブラ研究会

    マイコミの記事の通り、長らくWebKitが使ってきたJavaScript Coreに大工事を施して、バイトコードを導入するようです。(私はSurfin' Safariのフィードで知りました) ↑ちなむと、これが Squirrel Fish(イットウダイ) Wikipediaより。 ↑Appleの人たちにはこう見えるらしい バイトコードなんてのは、ブラウザの裏方であるJS処理系のさらに裏側にあるもので、来表に出る類のものじゃありませんが、どうしてもバイトコードを見たいという変態さん達のために、WebKitチームがいいものを作ってくれました。 WebKitのソースツリー一式を落として、 WebKitTools/Scripts/build-testkjs というスクリプトを実行すると testkjs.exe(あるいはtestkjs_debug.exe)という実行ファイルが出てきます。これ自体は

    2008-06-03 - 最速チュパカブラ研究会
    amachang
    amachang 2008/06/04
    きゃー!すてき!明日読む!
  • 正規表現ベースの字句解析器を書くときは - 最速チュパカブラ研究会

    正規表現ベースの字句解析器を書くときは、narcissusというJSベースのJS処理系のコードを見るといいです http://mxr.mozilla.org/mozilla/source/js/narcissus/jsparse.js 面倒な正規表現の模範解答が載ってます。下手に自分で考えて誤爆するより、一流の人が書いたものを使いましょう 正規表現リテラル /^\/((?:\\.|[^\/])+)\/([gimy]*)/ 文字列(ダブルクォート、シングルクォート共)/^"(?:\\.|[^"])*"|^'(?:[^']|\\.)*'/ → 訂正 Cスタイルコメント(一行、ブロック共) /^\/(?:\*(?:.|\n)*?\*\/|\/.*)/ ↓narcissusについてはyukobaさんのプレゼンを(去年のShibuya.es) http://accelart.jp/shibuyajs

    amachang
    amachang 2008/04/29
    正規表現で lexer をかくときは narcissus が参考になる。
  • http://d.hatena.ne.jp/gyuque/20080428

    amachang
    amachang 2008/04/28
    おおお。すごい。参考になります。
  • WebKitのCSSパーサをActionScript3に移植するよ - 2008-04-22 - 最速チュパカブラ研究会

    ちょっとFlashから呼べるCSSパーサが欲しくなったんで、WebKitのものを移植してみました(まだ7割ぐらい) http://coderepos.org/share/browser/lang/actionscript/ascss/src/ パース結果をグラフに出すサンプルはこんな感じです http://svn.coderepos.org/share/lang/actionscript/ascss/src/CSSTest.swf エラいのは私じゃなくてkmyacc。当にコレはすごい。文法定義の部分は、WebKitのものがほぼ修正なしで通りました(もちろんその後のmxmlcは通らないけど)

    WebKitのCSSパーサをActionScript3に移植するよ - 2008-04-22 - 最速チュパカブラ研究会
    amachang
    amachang 2008/04/24
    すげええええええええええええええええええええええええ!
  • CodeRepos に nobjdb.js 追加 - 最速チュパカブラ研究会

    http://coderepos.org/share/browser/lang/javascript/nobjdb CodeReposに「nobjdb.js」というファイルを追加しました。これは、「syobocalplus」のタイトル検索のルーチンを抜き出し、ライブラリ化したものです。 オブジェクトの集合の中から、文字列検索の結果によって部分集合を抜いてくる処理…… と言うとわかりにくいですが、要するに 購読しているフィードのリストの中をタイトルで検索する(例: LDR) タグクラウドの絞り込み検索(例: はてブ) などという処理です。これを素朴に実装すると for (var i in list) if (list[i].name.indexOf(keyword) >= 0) { // マッチ! } という感じですが、nobjdb.jsでは、ひとつの文字列にタイトルをすべて突っ込んで、 タ

    CodeRepos に nobjdb.js 追加 - 最速チュパカブラ研究会
    amachang
    amachang 2007/10/20
    うおお。頭良い。オブジェクトのリストから長い文字列(0xffff区切り)とインデックスの配列にを作って検索を高速化。なるほっど。今今使えそうでワクテカ。
  • IEの気持ち(深入り編) - 最速チュパカブラ研究会

    昨日の続きです。昨日の記事がまったくデタラメだとさすがに気まずいので、Invoke が呼ばれてるよ、という事実ぐらいは確かめようと思いました。私はバイナリアンではないのですが、がんばってMSHTMLの中を追ってみることにします。 まず、C++からIDispatch::Invokeを呼んだ場合と、Javascriptから window.document を参照した場合の2つの処理が合流するところを探しました。 ↑ここです。 スタックの中を覗くと、引数が見えます。 window.document の dispid(呼び出したいメソッドのID)である0x47fが確認できます。 では、ここにブレークポイントを仕掛け、amachangのハックをしない状態で、以下のコードを実行してみます。 alert(document); するとブレークポイントがヒットします。 dispid は 0x47f なので、

    IEの気持ち(深入り編) - 最速チュパカブラ研究会
    amachang
    amachang 2007/10/15
    おお。 document が変数化することで Invoke されないという証明。これはすごい。 window.document が遅い理由は、 window を取得するときに Invoke が呼ばれるからということ?
  • IEの気持ち - 最速チュパカブラ研究会

    amachang史上最多のブクマ数をマークした例のwindow.documentの高速化に関して、便乗してちょっと書いてみようと思います。 基礎知識 ブクマコメントで 2007年10月11日 b:id:staki vbやった事ある人なら自然に沸く発想だったりする。理屈も同じなんじゃなかろうかと妄想。五倍ってのは中々無かったけど。 * と指摘されているのは、たぶんCOMまわりの事だと思います。御存知のように、Windowsはシステム内のあらゆる部品をCOM(Component Object Model)オブジェクトとして実装しており、IE内のxxElementやDocument、Window、そしてIE自身もCOMです。 で、javascriptでよくやる window.document という操作も、(amachangのテクニックを使っていない場合は)COMを通して行うことになります。この

    amachang
    amachang 2007/10/13
    おおおおお!COMの知識はまったくないのですが、Invokeが僕の思っている内部メソッドなのですね。まじで感動しました。id:gyuqueさんすごい。感動。泣ける/今日とったベンチマークの結果がその実験結果とほぼ同じ比でした
  • Safari for Windows - 最速チュパカブラ研究会

    ※ この記事は一部obsoleteです。こちらに新しい情報があります 各所で既報のとおりSafariのWindows版が登場したので、ダウンロードして使ってみました。このまえcairo版のバックエンドは未実装だらけで*-shadow系のプロパティの実装はまだまだ先かなとか書いたんですが、 この通りしっかり実装されていてたまげました(box-shadowも実装されています) trunkのソースを見てもcairoバックエンドは放置されたままなので、どういうマジックを使ったのか不思議だったのですが、 この通り。CoreGraphicsを丸ごと移植するという手を使ってきました。表向きには「cairo版も用意してみたけど、ちょっと厳しいかなーへへへー」とか思わせつつ裏ではCoreGraphicsをせっせと移植していたわけですね。これだからあのハゲオヤジは油断なりません。 で、このCoreGraphi

    Safari for Windows - 最速チュパカブラ研究会
    amachang
    amachang 2007/06/13
    windows 版の Safari でも *-shadow 系のプロパティが実装されている。CoreGraphics.dll を使えば、他のプログラムからも CoreGraphics の機能が使える。
  • 1