タグ

ブックマーク / tech.nitoyon.com (14)

  • jQuery.extend マニアックス - てっく煮ブログ

    JavaScriptjQuery の extend メソッドは便利なんだが複雑で忘れてしまいがちなのでメモしておく。jQuery.extend の呼び出しパターンは次の4通り。$.extend([deep,] target, obj1, [obj2, [obj3, ...)$.extend([deep,] obj)$.fn.extend([deep,] obj)$(...).extend([deep,] obj)全てのパターンで第一引数に [deep,] がある。これはオプションの引数で true を指定するとディープコピーしてくれる。以下では分かりやすくするために deep オプションは省略した一覧を掲載する。$.extend(target, obj1, [obj2, ...)$.extend(obj)$.fn.extend(obj)$(...).extend(obj)だいぶシンプルにな

  • 経路探索アルゴリズムの「ダイクストラ法」と「A*」をビジュアライズしてみた - てっく煮ブログ

    as詳解 ActionScript 3.0アニメーション ―衝突判定・AI・3DからピクセルシェーダまでFlash上級テクニック を読んでいて、経路探索のアルゴリズムで A* が取り上げられていました。A* については、いろいろ検索して調べたりもしたのですが、やっぱりに書いてあると理解しやすいですね。せっかくなので自分流に実装してビジュアライズしてみました。ダイクストラ法まずは A* の特別なケースでもあるダイクストラ法から見ていきます。クリックすると探索のシミュレーションが開始します。スタート地点(S)からゴール(G)への探索が始まります。色がついたところが「最短経路が決定した場所」です。スタート地点から少しずつ探索が完了していきます。半分ぐらい完了しました。まだまだ進みます。最後まで終わりました。最短経路を黒色矢印で表示しています。ダイクストラ法は、スタート地点から近いノード(=マス

  • AS3 でメソッドチェーンしたくなる話 - てっく煮ブログ

    asいろんな AS3 のサンプルが掲載されていて楽しい ActionSnippet | paste it in your timeline - or in your constructor で Functions Returning Functions が紹介されていた。シンプルで美しいのだけど、ソースに1箇所無駄があったので省いてみたものを紹介する。 // Functions Returning Functions (Revised) // original: http://actionsnippet.com/?p=2430 // - Removed line variable by using arguments.callee. package { import flash.display.Sprite; public class FlashTest extends Sprite {

  • AS3 でヒアドキュメントもどき - てっく煮ブログ

    asE4X+CDATA 使えばいいんじゃないだろか。 var s:String = <>[CDATA[bar foo class="test">なんでも書けるよ! あははは ]]>; trace(s); /* 出力はこうなる bar foo なんでも書けるよ! あははは */ " とか \ をエスケープするのが面倒な場合に便利かも。(関連) ヒアドキュメント、E4X - 実用

  • クラスタリングの定番アルゴリズム「K-means法」をビジュアライズしてみた - てっく煮ブログ

    集合知プログラミング を読んでいたら、K-means 法(K平均法)の説明が出てきました。K-means 法はクラスタリングを行うための定番のアルゴリズムらしいです。存在は知っていたんだけどいまいちピンときていなかったので、動作を理解するためにサンプルを作ってみました。クリックすると1ステップずつ動かすことができます。クラスタの数や点の数を変更して、RESET を押すと好きなパラメータで試すことができます。こうやって1ステップずつ確認しながら動かしてみると、意外に単純な仕組みなのが実感できました。K-means 法とはK平均法 - Wikipedia に詳しく書いてあるけど、もうすこしザックリと書くとこんなイメージになります。各点にランダムにクラスタを割り当てるクラスタの重心を計算する。点のクラスタを、一番近い重心のクラスタに変更する変化がなければ終了。変化がある限りは 2. に戻る。これ

  • ウニができるまで 〜 Context Free Art の遊び方 - てっく煮ブログ

    前回に引き続き、Context Free Art を取り上げる。今回は、Context Free Art で変なウニ風の生き物を作っていく手順を紹介する。さぁ、準備はいいですか?1. 基となる図形まずは基となる図形を描画する。こんなやつ。ソースコードは次のようなもの。 startshape LINE // LINE というルールを描画しろ rule LINE { // ルール LINE の定義 CIRCLE { s 6 1 x 3 sat 1 b .3 hue 30} } 1行目の startshepe LINE では、「LINE というルールを描画しろ」と指定してる。じゃあ、LINE ルールはどうなってるかというと3行目で定義している。LINE ルールでは CIRCLE を1つ描画する。CIRCLE は Context Free で定義されている円を描画するルールだ。ルールにいくつか

  • AS3で1ファイルに複数のクラスを定義する方法 - てっく煮ブログ

    asActionScript 3.0 で1つの as ファイルにつき、複数クラスを定義する方法について調べてみました。パッケージ宣言内にはクラス・関数・変数・名前空間のうち、1つしか含められません。そして、その名前はファイル名と同じでなければなりません。 具体的な例を元に説明してみましょう。 // test/SampleClass.as package test { public class SampleClass { // SampleClass の定義 } } class foo { // foo の定義 } function bar():void { // bar の定義 } この例では、package test{...} の中に1つのクラスがあり、クラス名 SampleClass がファイル名の SampleClass.as と同じです。package test{...} の中に他

    ikasamaH
    ikasamaH 2009/01/27
    できたのかー
  • IE4 の青写真を懐かしむ - てっく煮ブログ

    Internet Explorer 4.0(以下、IE4)が登場したのは、10年以上前の1997年10月のこと。いま改めて IE4 の資料を調べてみたところ、当時の Microsoft が目指していたものが見えてきて面白かったので、ここに記しておく。Windows 95 + IE4生の Windows 95 に IE4 インストールすると、OS そのものの見た目が変わってしまったのが印象的だった。見た目だけでなく、エクスプローラの操作性が変わるなど、IE4 は Windows 95 SP1 といってもいいぐらいの位置づけだった。中でも目を引くのが、画面右側に登場する「チャンネル バー」だ。このチャンネル バーは、IE4 の目玉新機能のActive ChannelActive Desktopを象徴したツールとなっている。お気に入りを発展させた Active Channelまずは Active

  • jQuery を高速に使う CSS セレクタの書き方 - てっく煮ブログ

    JavaScriptjQuery は CSS セレクタで要素を選んで処理できるのが魅力的ですね。そんな jQuery ですが、CSS セレクタの書き方次第で速度が大幅に変わってきます。ここでは jQuery の内部処理を疑似コードで示しつつ、jQuery を高速に使うためのポイントを5つに絞って紹介します。何度も同じセレクタを実行しないクラスだけを指定するのは禁止#id を積極的に使う途中までの結果を再利用する子供セレクタ(>)を使うと速くなることがある※ この記事は jQuery 1.2.6 のソースコードを元に記述しています1. 何度も同じセレクタを実行しない改善前 // 例題 1 $("div.foo").addClass("bar"); $("div.foo").css("background", "#ffffff"); $("div.foo").click(function(){

    ikasamaH
    ikasamaH 2008/12/11
    getElementsByClassName()使ってなかったのか.../jQueryはDSLに近いものがある
  • ActionScript 3.0 用デバッグ支援ライブラリいろいろ - てっく煮ブログ

    asXRayAS2 では定評のあったツール。AS3 にも対応している。サイトhttp://code.google.com/p/osflash-xray/対応バージョンActionScript 2.0, ActionScript 3.0 (Flash CS3, Flex 2)機能インスペクタ、コンソール出力 (専用ビューワ)参考"XRay" - ActionScript3 版の Firebug みたいなデバッグツール - てっく煮ブログ Alconインスペクタとコンソールのセット。パフォーマンス情報が見れたり、オブジェクトの詳細な情報をダンプできるようだ。ビューワは AIR 製。サイトhttp://blog.hexagonstar.com/alcon/対応バージョンActionScript 2.0, ActionScript 3.0 (Flash CS3, Flex 2)機能インスペクタ、コ

  • てっく煮ブログ - ActionScript やるなら入れとけ。rascut 導入と使い方。

    asActionScript 3.0 でコマンドライン開発してる人は必携の rascut を導入してみた。Flex 開発や AIR 開発でも使えるよ。rascut は id:secondlife さんによる fcwrap 後継バージョン。ファイル修正から自動的にプレビューまでできたり、trace() の出力をコンソールに出力してくれたり、かなり便利。以前、勝手が分からずにかなり苦労したけど、最近、RubyForge にアップロードされてからは gem 一発で超簡単になったよ。前準備Flex SDK と fcsh を準備しましょう。fcsh にはパスを通しておきましょう。Flex SDK については ActionScript 3.0メモ さんを参照あれ。fcsh については fcsh で Apollo を高速コンパイル あたりを参照あれ。Flex 3.0 SDK には fcsh が付属してる

  • jQuery の配列系のメソッドをメモ - てっく煮ブログ

    JavaScriptjQuery は機能が豊富なので、しばらく使わないと忘れてしまう。ここでは、jQuery と配列の関係に絞って目的別に逆引きできるようにしておく。配列から jQuery オブジェクトを作成$ 関数に渡せばOK $([1,2,3]) NodeList のような配列っぽいものを渡しても解釈してくれる。 $(document.getElementsByTagName("div")) // $("div") と同じ ※内部的には setArray メソッドが呼ばれてるが、外から使うことは稀。jQuery を配列のように扱う要素数を取得するlength プロパティを使えばOK。 $("div").length // document.getElementsByTagName("div").length と同じ jQuery のメソッドを使って操作する限りは、適切に length

  • 具体例で説明するデザインパターン - てっく煮ブログ

    JavaScriptデザインパターンってなんだかたいそうなものに考えられがちだけど、実は、そこかしこのライブラリや仕様に取り込まれていることが多い。「デザインパターン分からん」とか「で、どうやって使うのよ」と悶々としている人には、「どういうところで使わているのか」を知っておけばイメージも沸きやすいし、意外にたいしたことないんだな、ということが分かるんじゃないだろうか。そこで、JavaScript やその周辺の技術で、デザインパターンがどのように使われているかを紹介してみることにする。ここでは、GoFの順番に沿って、以下の11個のパターンを取り上げる。生成に関するパターン Factory MethodAbstract FactoryBuilderPrototypeSingleton構造に関するパターン AdapterComposite振る舞いに関するパターン Chain Of Respon

  • AS3.0 で 3D プログラミングを1から勉強する (1) - てっく煮ブログ

    as3D の原理をあまり知らなかったので、ActionScript 3.0 で1から勉強してみた。1からなのでフレームワークは使わず、自力で実装していく。Web 上には色んな資料があってありがたいだけど、玉石混交な上に、有用なものでも一道で幅の狭いものが多い。前提知識のない自分にとっては、資料間の関連性を理解するのが大変だった。なので、なるべく簡単なところからスタートしつつ、広く浅く体験していくことを目標としてみる。まずは、四面体をワイヤーフレームで表示するところからスタートしよう。四面体を定義するまずは、3次元上の点を表現する Point3D クラスを作る。 class Point3D { public var x:Number; public var y:Number; public var z:Number; public function Point3D(_x:Number =

    ikasamaH
    ikasamaH 2008/06/16
    俺もやってみよ
  • 1