Welcome to Adobe LabsA place for us to share some of our explorations into the future of creativity, expression, and communication.
更新情報 AIR開発支援ツールのダウンロードページを作りました。(07.10.26) AIRのアプリケーション記述ファイル早見表を作りました。(07.10.23) Wikiから右のサイドバーを外しました。ユーザーログインはWikiメニューの[ログイン]から行ってください。(07.08.28) AIR for JavaScript Developers Pocket Guide 邦訳Wikiプロジェクトを開始しました。(07.07.13) ants Lab内で管理してきた「Apollo ポケットガイド邦訳Wiki」を改題し、以後GIZMO Community内で運営していくこととなりました。今後は「Apollo for Adobe Flex Developers Pocket Guide 邦訳Wiki」としてご利用ください。(07.07.13) 最新の20件
as, box2dワリオランドシェイクと YouTube のコラボプロモーション が面白かったので、似たようなものを作ってみました。次の文字列をコピーしてアドレスバーに突っ込むと、HTML が崩壊します。javascript:(function(){var d=document; var s=d.createElement("script"); s.charset="UTF-8"; s.src="http://tech.nitoyon.com/meltdown/meltdown.js?"+(new Date()).getTime(); d.body.appendChild(s)})();崩壊するのは画像だけなので、画像があるページで試してみてください。このブログだとこんな具合。画像はドラッグすることも可能です。あまり画像が多いと重くなりすぎるのでご注意を。仕組みFlash と JavaSc
2006年07月23日13:00 カテゴリLightweight Languages 再帰再考 今やこれは逆ではないか。 再帰的アルゴリズム まずは,非再帰プログラムで問題を考えてみる。 難しいと判断した場合,再帰プログラムで考えてみる。 むしろ私はこうしてきた。 まずは再帰で実装する。 速度と資源の制約があるとき、非再帰で実装しなおす 一番の理由は、今やプログラミングそのもののコストの方がプログラムを実行するコストよりも大きいからだ。早くプログラムを書く要請の方が速いプログラムを書く要請より強いからだ。 次の理由は、再帰は遅いとは限らないからだ。特にLisp系では、末尾再帰(tail recursion)は重くない。これはもうshiroさんが力説しているのでそちらを参照して欲しい。フィボナッチ数列を解くプログラムはとにかく、階乗を解くプログラムぐらいだとわざわざ再帰しないようにするご利益
2006年10月16日07:30 カテゴリLightweight Languages perl/javascript - 関数内関数で仮引数を省略 そんなことありませんぞよ。 Structure and Interpretation of Computer Programs H. Abelson / G. Sussman / J. Sussman [邦訳:計算機プログラムの構造と解釈] IT戦記 - Perl で再帰呼出し時のスタック間データ共有 再帰呼び出しのスタック間でデータを共有する場合は、以下のように仮引数を使わなければならない。*1 以下のようにすればOK。もちろんdocument.allないしdocument.getElementsByTagName('*')を使えば再帰の必要もないのだけど例として手頃だったので。 function count_tags(node){ var
« Japanize 拡張機能 0.7.1 リリースのおしらせ | メイン | OSS コンファレンスで講演 » 2006年10月16日 JavaScript で Generic Programming 再帰呼び出しのスタック間でデータを共有する場合は、以下のように仮引数を使わなければならない。 IT戦記 - Perl で再帰呼出し時のスタック間データ共有 について、弾さんがクロージャを使って解決する方法を提示されています。それはそれでいいと思うのですが、JavaScript の場合は、もうひとつの書き方があります。Function.prototype.call を使う手です。 function count_tags(node) { return (function (node) { var kids = node.childNodes; for (var i = 0; i < kids.
Bluff is a JavaScript port of the Gruff graphing library for Ruby. It is designed to support all the features of Gruff with minimal dependencies; the only third-party scripts you need to run it are a copy of JS.Class (2.6kB gzipped) and a copy of Google’s ExCanvas to support canvas in Internet Explorer. Both these scripts are supplied with the Bluff download. Bluff itself is around 11kB gzipped. T
スクリプト言語の比較 *1 *2 *3 *4 *5 *6 *7 コメント 行の継続 定数 未代入の変数へのアクセス 変数の展開 入出力 出力 フォーマット出力 出力先変更 標準入力 __END__ 演算 +1 整数/整数 負数の除算 文字列 真と偽 多重代入 多岐分岐 関数 関数 関数引き数 関数引数に対する副作用 関数のデフォルト引数の値の評価タイミング 関数のデフォルト引数にコンテナ型を使用した場合の振舞 関数戻り値 関数の再帰 関数の別名 関数定義内関数定義 関数の引数の順番 関数にファイルハンドルを渡す オブジェクト指向 クラスの定義 インスタンスメソッドの定義 メソッドのクラス内での利用 インスタンスメソッドの可視性 インスタンスメソッドの追加 インスタンス変数 インスタンス変数の可視性 インスタンス変数の追加 クラス変数 クラスの継承 多重継承 スーパクラスのメソッド呼び出し
The Packrat Parsing page has moved to http://bford.info/packrat/.
JamritasはJavaScriptで記述されたAjaxアプリケーション開発のためのライブラリです。 プロジェクトページ ダウンロード ライブラリのみダウンロード 最新版は0.9.0です。 使い方 ページ内でjamritas-{version}.jsをロードしてください。 <script type="text/javascript" src="jamritas-{version}.js"></script> ドキュメント 現在Jamritasには以下のライブラリが存在します。 Template DOM Event HTTP Loader XMLRPC JSONRPC Cookie 更新履歴 0.9.0 Jamritas.Cookie Cookieの読み書きのためのライブラリが追加されました。 Jamritas.DOM text2dom()で引数の文字列からXML DOMツリーが作成できな
Jamritas.TemplateはHTML/XMLテンプレートライブラリです。テンプレートと モデルデータから、新たなDOMオブジェクトを生成します。 var tmpl = new Jamritas.Template(elem); var data = {title: "Jamritas", body: "Jamritas is a Ajax application library."}; var result = tmpl.expand(data); Jamritas.Template スタティックプロパティ スタティックプロパティによってテンプレートのデフォルト設定を管理します。 identifier モデルデータの埋め込み位置を指定するための識別子属性名。デフォルト 値は'tid'。 document テンプレート展開時にDOMオブジェクトを作成するためのDOM Documentイ
追記 [20061103]: ライブラリ非依存なバージョンも書いてみました。id:reinyannyan:20061103:p1 でご覧下さい。 最近自分で書いた JS プログラムが驚くほど重かったので、どこに原因があるか調べたいと思いました。 その方法として、怪しいと思う箇所に (あるいは思わない箇所にも) 手作業でタイマーを仕掛けて、部分部分の実行時間を計測するのも手だと思うんですが、クラスのどのメソッドでどのくらい時間が掛かっているのかが自動的に分かる、というのが理想的かなと思いました。 (以下、prototype.js 的な (OO 的な) コーディングを対象とした話になります) まず思いついたのは、プロファイルしたいクラス (function オブジェクト) を受け取って、メソッドを動的に書き換えるという方法です: for (var m in klass.prototype) {
yabooo.org | Situs Judi Joker Slot Gacor Terpopuler Banyak Bonus yabooo.org Yaitu Agen Judi Joker Slot Mudah Jackpot Bonus Member Baru Games Slot Gacor, Taruhan Bola, Poker Online Pakai 1 Akun WSO Server Luar India Ingin menikmati pengalaman bermain slot yang mengasyikkan? Jika iya, Anda perlu mencari situs slot terbaru yang gacor! Game slot gacor terbaru dapat memberikan kesempatan bagi Anda untu
積ん読してあった「ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門」を読んだんだけど、 その中にポイントフリースタイルというのが書いてあったので、 同じような事がJavaScriptでもできないか試してみる。 本書によると、ポイントフリースタイルっていうのは関数で関数を 定義しながらプログラミングをするコーディングスタイルの事だそうだ。 要は関数合成や引数の部分適用などにより高階関数を返すような関数を定義し、 それを呼び合いながらプログラムを書こうってこと。 JavaScriptは高階関数を扱えるので近い事はできそうだ。 引数の部分適用 まずは関数が引数の部分適用をできるようにする。つまりカリー化。 よくある、curry関数に関数と引数を渡す事で部分適用された関数を返すという方法だと 再度、部分適用する時に何度もcurry関数を呼び出す必要がある。 こんな風に
JavaScriptでリスト内包表記のような事をやってみたい。 その為にまずデカルト積をとる為の処理を作成してみる。 デカルト積って? デカルト積とは直積とも呼ばれ英語ではproduct Cartesian product というようだ。 例えば[1,2,3]という集合と [4,5,6] という集合があると、 これらのデカルト積は [1,4],[1,5],[1,6],[2,4],[2,5],[2,6],[3,4],[3,5],[3,6] となる。要するに全ての組み合わせという事。 パッと見た感じ単純に2次元配列にして、ループをネストにするだけで良さそうだが、せっかくなので関数指向的に書いてみたい。 まず2次元目の配列 [4,5,6] に何らかの処理を適用する事で、 [4,5,6] -> [ [1,4],[1,5],[1,6] ] と変化する処理が必要。 何らかの処理とは固定された1とそれぞ
追記 ※仕様を変更しました。 JavaScriptで内包表記、Newバージョン haskellやErlangにあるようなリスト内包表記を理解する為にも、 また便利っぽいのでJavaScriptでも使えるよう実装してみる事にした。 実装前に検索をかけてみると既にそういう事やってる人はいるみたいだ。 JavaScriptでリストの内包表記(の真似) | 東京嫉妬 まぁ理解する為には実装してみるのが一番って事で、車輪の再発明なんて気にしない。 それに既に途中までやってるしね。ではいってみよー。 インターフェースをどうする? まず内包表記の分解から。 [x | x <- [1,2,3,4,5,6], x < 4] こんな感じの記法で、[1,2,3]というリストと等価になる。 この書き方は元々、数学の集合の定義を表現する記法に由来しているらしく、 x <- [1,2,3,4,5,6]ってのは数学の場
昨日作ったJavascriptの内包表記のインターフェースを一新しました。 listC関数の引数に要素を渡すスタイルをやめて、配列の要素に式を直接書くスタイルに変更。 (内包表記的にみて)より見た目が直観的になったと思います。 まぁそれでも言語仕様の制限上、最終的に関数コールしないといけませんが。 記述例 ["x + y|x <- [1,3,5], y <- [2,4,6], x > y"].lisc(); // [5,7,9] 書き方は結構柔軟で、文字列のみでバーチカルラインを使って式とリストを分ける標準スタイル以外にも、配列の要素としてそれぞれの式を与える事もできます。 ["[x,y]","x <- [1,3,5,7]", "y <- [1,2,3,4]", "(x + y) % 2== 0"].lisc(); // [[1,1], [1,3], [3,1], [3,3], [5,1]
\閉鎖予定のサイトも売れるかも?/ アクセスがないサイトもコンテンツ価値で売れる場合も… ドメインの有効期限を更新してサイト売却にトライしてみましょう
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く