タグ

JavaScriptとjavascriptに関するWackyのブックマーク (500)

  • 最速インターフェース研究会 :: 実践JavaScriptリファクタリング

    同じ事をやるにも、いろんな書き方があるわけでいかにして短くてわかりやすいコードを書くかというノウハウを紹介します。 例として"abcde"を80回繰り返した文字列を作るとして実際に自分のコーディングスタイルがどんな風に変化していったのか、という。 短くなるのは確かなんだけどわかりやすいかというと、人によるかもしれない。 グローバル関数を定義2年前なら、多分こういう具合だった。 //ふつうに関数として定義する function x(str,num){ var tmp = ""; for(var i=0;i<num;i++){ tmp += str; } return tmp; } x("abcde",80) Stringのメソッドとして定義1年前だとこんな感じ。 //Stringのメソッドとして定義する String.prototype.x = function(num){ var tmp

  • スタックトレースの取得 (callee/caller/argumentsの利用) - FAX

    スタックトレースの取得 (callee/caller/argumentsの利用) JavaScript (in 『JavaScript 第3版』) 呼び出された関数の中では、arguments プロパティを利用できる。arguments は実引数を保持している。 以下コード例では、「a, b, c」が仮引数、「5, 1, 9」が実引数になる。 function max(a, b, c){...} max(5, 1, 9); arguments のプロパティを手繰り、呼び出し階層を求めることができる。 プロパティ関連図は以下。IE 6.0、Firefox 1.0.6で確認を行なった。 概念的には以下が成り立つ(IEでは動作もする)。 ok(arguments.caller == arguments.callee.caller.arguments); ok(arguments == argum

  • ブラウザ上でお絵かき: Days on the Moon

    「Ajax を使った手書き文字認識」を見て。ここでは線を描くのに絶対配置の span 要素を大量生成しているけど、最近のブラウザってベクター描画エンジン付きのものが多いわけで。WinIE 5 以降の VML 、Opera 8 ・ Firefox 1.5 以降の SVG 、Safari 1.3 ・ Firefox 1.5 以降の canvas 要素といった具合に。 ということで各ブラウザでベクター描画エンジンが使えればそれを使い、なければ絶対配置の HTML 要素を大量生成することで、ブラウザ上でお絵かきできるというものを作ってみた。元に戻す / やり直すこともできる。線を描くだけで塗りつぶしはできないが。 その線を描くために作ったのが DrawingCanvas クラス。以下のようにすることで三角形が描ける。実際の描画部分には SVG Tiny 、HTML Canvas 、CSS Posi

  • Piccy : Ajax photo album - collisions.dotimpac.to

  • 日本語で読めるAjax関連情報のリンク集 【▲→川俣晶の縁側→ソフトウェア→技術雑記】

    Ajaxに関する日語の情報をざっと集めてみました。(一部日語ではないものを含みます) 丁寧な調査ではないので、当に大ざっぱなものです。 一応、以下の内容は多少メンテナンスしようと思うので、追加削除などのリクエストがあれば、私までメールを下さい。 非常に長くて申し訳ありませんが、頑張って必要な情報を探してみてください。 ★ 出版物 (この部分は現在フォロー仕切れていません) Ajaxイン・アクション (2006/06/20追加) https://www.amazon.co.jp/exec/obidos/ASIN/4844322222/autumnmagazin-22 Ajax イン・アクションの4章が酷すぎる (2006/06/20追加) https://blog.hawklab.jp/item-69.html Googleマップ+Ajaxで自分の地図をつくる Google Maps

  • Ajax オフィスツール | 秋元@サイボウズラボ・プログラマー・ブログ

    スラッシュドットでも Ajax によるオフィスツールについての議論が行われた。 そこで Ajax オフィスツールとして紹介されているのは以下のようなサイト Ajax ワープロ Ajax 表計算 Ajax カレンダー Ajax プレゼンテーション Ajax メーラ Ajax メモ帳 Ajax プレゼンテーションとして挙げられている S5 は、べつに Ajax 使ってないけどね。僕は半年ぐらい前から、プレゼンはこの S5 で作っていて、軽快に動くものが手軽に作れるしお薦めではあるけども。 それで台所はキレイになるのかい? というジョークが同案多発したが、それはおいといて、Ajax 懸念派の反応としては (Javascript による)プライバシー侵害についての不安 ネットワークが切れたら使えない ローカルのオフィスのほうが多機能で早い 新たな UI に慣れることの大変さ などを指摘している。

  • prototypeでオブジェクト型プロパティーを定義してはいけない - nazokingのブログ

    function Class(){ } Class.prototype.p1=new Array();さて上のコードに問題があることがわかるだろうか? JavaScriptではクラス定義の代わりにprototypeを使う。 オブジェクトは自信に定義されていないプロパティーはprototypeチェーンをたどって検索し、それを自信に定義されているかのように振る舞う。 Array.prototype.push は破壊的動作をする(自分自身を変更する) つまり var instance=new Class(); var another_instance=new Class(); instance.p1.push("test"); alert(another_instance.p1.join(",") ); // ココこれが期待通りの結果をもたらさないのである。上記コードの3行目で instance

    prototypeでオブジェクト型プロパティーを定義してはいけない - nazokingのブログ
  • http://www.infoaxia.com/tools/blog/archives/2005/07/ajax_1.html

  • JavaScriptで斜めの線を描く

    2005年9月1日(木) ●ハッブル宇宙望遠鏡の延命処置 ハッブル宇宙望遠鏡に搭載されているジャイロスコープのうちの1台が延命のために停止させられました。宇宙望遠鏡にとって目的の天体を正確に捉えるためにジャイロはなくてはならない装置です。ハッブルは予備も合わせて6台のジャイロを搭載していますが、そのうちの2台は既に機能しなくなっています。ハッブルはもともと3台のジャイロを用いて姿勢を制御するように設計されていますが、2台でも従来と比較して遜色のない観測結果を得られることが確認できたので、動作していた3台のうちの1台を停止させて温存するという処置に踏み切ったそうです。この処置で観測期間は8ヶ月延長されて2008年の中頃までになるだろうとのことです。 HubbleSite - Release Text about "Hubble Space Telescope Begins "Two-Gyr

  • http://blog.livedoor.jp/cosmoworld/archives/50055376.html

  • http://cake.dyndns.org/sociewiki/index.php?mod=WikiView

    Wacky
    Wacky 2005/09/23
    SmalltalkのModel-View-ControllerフレームワークをJavaScriptで真似した簡単なクラスライブラリです。
  • onload時に複数のfunctionを実行するJavaScript

    昨日に引き続きJavaScriptねたです。 ページを表示した時点でJavaScriptを実行したい場合、 window.onload=function(){ alert('called when window is loaded.'); } のようにwindowオブジェクトのonloadイベントに実行したいfunctionをセットしてやればいいのですが、これだと、オンロード時にひとつのfunctionしか実行できません。 そこで、オンロード時に複数のfunctionを実行できるようなスクリプトを書いてみました。今回のコードはnaoyaさんのprototype.js でデザインパターン - IteratorのエントリにあるIteratorパターンのコードをそのまま借りたリスペクト指向プログラミングになってますw //multiple_onload.js var OnloadFunction

  • Ajax を使った手書き文字認識

    Ajax を 使った手書き文字認識です。下のキャンバスにマウスで文字を描いてみてください。 デモ

  • JavaScriptの簡易プロファイラ - llameradaの日記

    JavaScriptで少し大きなアプリケーションを作っていると、処理速度がどんどん遅くなってしまうことがある。処理速度を向上させるには、ボトルネックとなっている処理を見つけて、その部分のパフォーマンスを改善するのが一般的である。そこで、ボトルネックを見つけるのに便利なプロファイラを作ってみた。 コードはこちら。 var Profiler = Class.create(); Profiler.prototype.extend({ initialize: function(){ this.keys = []; this.records = {}; }, observe: function(object, name){ name = name || "Method"; for (property in object) { if(typeof object[property] == "functi

    JavaScriptの簡易プロファイラ - llameradaの日記
  • kmyacc - 多言語対応LALRパーサー生成系

    What is KMyacc? kmyaccはyaccやbisonと同じLALRパーサージェネレータです。 yaccと互換性があり、生成される表が小さく、ホスト言語としてC以外にJava, JavaScript,Perlでも使うことができます。 News 2006.02.28: きむらさんによるWindows VC++用のパッチ 2006.02.16: version 4.1.4: Java, Perl, JavaScript版のパーサードラ イバのバグを修正。このバグは、ある種の文法で構文解析に失敗し実行時エラー を起こすというもの。C版にはこのバグはない。 2005.10.07: version 4.1.3: Java版に yyparsererror (YYERROR) 及びスタックの自動伸張を実装 2005.07.10: Demonstration program 2005.07.0

    Wacky
    Wacky 2005/09/23
    yaccと互換性があり、ホスト言語としてC以外にJava, JavaScript,Perlでも使うことができます。
  • AJAXアプリケーションのデバッグ、JavaScriptログ出力、Log4js - FAX

    リンク Ajax非同期通信アプリケーションのデバッグを行う際に、以下ライブラリを利用し、ログ出力を行ないながら動作詳細を確認した。フランス製。 Log4js 前提クライアントとサーバーの通信をリアルタイムでログ出力を確認したい。Venkmanでステップ実行を行うと、タイムアウトが発生する。また正確なタイミングで振る舞いを確認できない。debug.jsは、まとめてフラッシュするため利用は難しい。 特徴ログを出力すると、リアルタイムに行が増えていく。ソートや、フィルタも存在する。debugや、infoなどのカテゴリ分けがある。ログと一緒に、オブジェクトインスペクタも表示できる。 利用手順ダウンロードし展開されたファイル全てを一つのディレクトリへ配置。HTMLヘッダに、以下を記述。 ログ出力したい部分に、以下を記述。debug、info、error、warnの4つのメソッドがある。フランス語、N

  • IEで固定座標を指定する方法

    さて、アナウンスしていたようにIEでposition: fixed;を実現する手法について簡単にまとめておきます。まぁこのテクニックもIE7が出るまでのつなぎです。やり方は大まかには2通りあって、純粋にCSS(スタイルシート)のみで指定する方法とJavaScript(正確にはMS独自のDynamic property ダイナミックプロパティーと呼ばれるもの)を使うやり方です。 まず、1.CSSのみの方法から 1.基的な考え方は、HTML(あるいはBODY)タグのスクロールバーを非表示にして、かわりにDIVタグ(HTMLならBODYタグ)のスクロールバーを表示させる方法です。具体的な記述は以下のようになります。 html { overflow: hidden; } body { height: 100%; overflow: auto; } 次に、固定表示したいDIVタグ(タグは何でも良い

    Wacky
    Wacky 2005/09/23
    CSSで設定する方法とJavaScriptで設定する方法があるらしい。
  • "Super Maryo World" - Javascript Virtual Machine

    Wacky
    Wacky 2005/09/19
    JavaScriptでスーパーマリオを実現しちゃっている感じ。しかも軽い。
  • nak2kのメモ帳 - Win版インタラクティブJavaScript

    「SpiderMonkey で JavaScript のインタラクティブシェル - bkブログ」のWin版です。 以下の内容で「ijs.js」というファイルを作成。 function print(s) { WScript.StdOut.Write(s); } (function () { for(;;) { print("js> "); var l = WScript.StdIn.ReadLine(); if (l == "!") { var a = []; while((l = WScript.StdIn.ReadLine()) != "!") { a.push(l); } l = a.join("\n"); } try { var v = eval(l); print(v); print("\n"); } catch(e) { print("Exception: "); print((

    nak2kのメモ帳 - Win版インタラクティブJavaScript
    Wacky
    Wacky 2005/09/19
    「いやなブログ: SpiderMonkey で JavaScript のインタラクティブシェル」のWin版です。
  • 汎用 Google Maps API スクリプト“ KsGMap ” - MOVIEs.ne.jp

    KsGMap引越ししました KsGMap は Ver 1.00 正式版公開に伴い、リニューアルしました。 新しいURLは http://www.ksgmap.jp です。 汎用 Google Maps API スクリプト“ KsGMap ”とは Google Maps API を用いた汎用スクリプトです。 Google Maps API は誰でも簡単に設置することができますが、いろいろな機能を付けると、どうしても敷居の高いものになってしまいます。そこで、さらに簡単に設置できるようにしたのが、このスクリプトです。 JavaScriptをあまり知らない方でも、簡単に設置することができます。 ただ今のバージョンは 1.00 (2005年9月29日アップ)です。 最新版が 映画館マップβ にて動いています。 はてなダイヤリーで、汎用 Google Maps API 開発日記 もやっています。