投稿

ラベル(JavaScript)が付いた投稿を表示しています

ECMA5.1

昨年 ECMA5.0の仕様が発表されましたが、一年経過し5.1が発表されました。 http://ecma-international.org/ecma-262/5.1/

javascript本 パート2

javascriptほど、とっつきやすく、そして、高度に使いこ なすのが難しい言語も珍しいのではないか? 6,7冊のjsの本や、複数のサイトを読んだかぎり、C / C++に慣れたレガシーな頭のボクとしては、一番OoをIntui tiveにわかったのはMozillaのサイト( 例 )だった。やはり、 本家は違うなと感心した。 http://eloquentjavascript.net/ また、ご存知かもしれないがEloquent Javascriptも素晴らしいeBookである(すぐ実験可 能)。 無料なのが信じられない。 (前に書いたJavascr ipt patternsも好み、日本語版、英語版両方もっている)

Node.js testing runner

nodejsのtestingはexpressoとshouldを使う。 npm install expresso npm install should eclipse JSDTとchromedevtoolsを使ったデバッカーは以下を参照 https://github.com/joyent/node/wiki/using-eclipse-as-node-applications-debugger

おおきなjavascriptコードのデバック

Source Map http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/ これがあると大きなコードをデバックできそうだ。 結合されたり、圧縮されたjavascriptとその前の状態を結びつけて表示してくれるのである。しかも、javascriptへコンバートされるCoffeeScriptなどもデバックで使えるそうである。 速くリリースして欲しい。

sublime text 2

最近はこのEditorが使いたくって、MacOSXを使っている。残念ながらLinux版やWindows版もあるが日本語入力がまともに出来ないのである。そこでMacOSXでjavascpritやcss, htmlを書いている。C++やjavaに関してはeclipse中心であるが、とにかく軽くて、ソースの位置やインデントが分かりやすい。スクリプトを書くのにバランスの良さを感じる。 しかし、いまだに購入には至っていない。 やはり、壁は日本語入力なのである。早急に対応をお願いしたい。そうなれば購入する。

javascript arguments sample codes

JavaScript the definitiveguide 6th Edition (page175)にあったargumentsのサンプル。 smjsで実行できるものを書いてみた。 // javascriptらしい自由度の高いsum var isArray = Function.isArray || function(o) { return typeof o == "object" && Object.prototype.toString.call(o) == "[object Array]"; }; function flexisum(a) { var total = 0; for (var i = 0; i < arguments.length; i++) { var element = arguments[i], n; // Ignore null and undefined arguments. if (element == null) continue; if (isArray(element)) n = flexisum.apply(this, element); else if (typeof element == "function") n = Number(element()); else n = Number(element); if (isNaN(n)) throw Error("flexisum(); can't convert " + element + " to number"); total += n; } return total; }; var test = function() { return 5; }; var test_str = function() { return "9"; }; var ar_test = [1,1]; print(isArray(ar_test)); // 配列の中に他の配列や関数が含まれていて...

v8cgi

v8cgiのソースを2日ほど眺めた。v8の現実的な使い方を知るのにはシンプルな構成になっていると感じたためである。本来はNode.jsのコードをチェックしたいがイベントループ(イベントドリブン)ベースであるため、私のようなv8初心者にはコードを読むにはキツイと感じたのもある。実際にサーバーとして使うのならばNode.jsのほうが高速を考慮した設計なのでそちらが理想である。v8cgiに慣れたらNode.jsも解析したいと思う。 v8cgiに話を戻すが単純な処理を行うだけで特にトリッキーなところは少ないと思う。しかもNode.jsと同じくCommonJSに合わせたプラットフォームなので参考になる。尚、非同期機能中心のNode.jsはCommonJSに合わせにくいと読んだことがある。人気のNode.jsにの対応させるためCommonJSも変わっていくのではないか? 参考: http://code.google.com/p/v8cgi/ http://nodejs.org/ http://www.commonjs.org/ まずは macro.hをプリントアウトを横におきながら app.h, app.ccを読み v8cgi.ccを読む コアのclass v8cgi_App base class(super)   | v8cgi_CGI 各モジュールはjsとnativeでそれぞれ分かれている。 私はsocketの経験が多いのでそれを解析 src/lib/socket/socket.cc 多くのnative構成は... ------------------------------------------------------- [最終処理] ------------------------------------------------------- [JS_METHOD() 各エントリーの実装] ------------------------------------------------------- [SHARED_INIT() エントリーを登録] ------------------------------------------------------- その他。 src/内 ...

WebGL

WebGLを使う上で便利なリンク集 WebGL http://www.khronos.org/webgl/ WebGLのデバックツール 情報源: http://www.youtube.com/watch?v=7sad-UGSOXE&feature=uploademail http://www.khronos.org/webgl/wiki/Debugging webgl-inspector http://benvanik.github.com/WebGL-Inspector/ webgl-debug.js https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/debug/webgl-debug.js Printing Errors and other constants WebGLDebugUtils. init ( ctx ) ; alert ( WebGLDebugUtils. glEnumToString ( ctx. getError ())) ; glsl-unit Unit Ttest http://code.google.com/p/glsl-unit/ three.js WebGLのミドルウェア https://github.com/mrdoob/three.js/ stats.js FPSを表示してくれる https://github.com/mrdoob/stats.js detector.js WebGLのサポートされているVIDEOカード、またはブラウザかを判断する github three.js内に含まれる see example/ WebGLの環境情報取得 http://get.webgl.org/

Gypにgypされた。

v8をandroid用にコンパイルする際、クロスプラットフォームプロジェクトツールの Gyp に騙された(笑) $ make android -j16 CC="/usr/local/android-ndk-r7/ toolchain/bin/arm-linux- androideabi-gcc" \ build/gyp/gyp --generator-output="out" build/all.gyp \               -Ibuild/standalone.gypi --depth=. -Ibuild/android.gypi \               -S-android  -Dv8_can_use_vfp_ instructions=true Traceback (most recent call last):   File "build/gyp/gyp", line 18, in <module>     sys.exit(gyp.main(sys.argv[1:] ))   File "/usr/lib/pymodules/python2.7/ gyp/__init__.py", line 457, in main     options.circular_check)   File "/usr/lib/pymodules/python2.7/ gyp/__init__.py", line 101, in Load     depth, generator_input_info, check, circular_check)   File "/usr/lib/pymodules/python2.7/ gyp/input.py", line 2275, in Load     [dependency_nodes, flat_list] = BuildDependencyList(t...

Eye-candyなWeb

Web Appの新しい時代を説明するサイト IE9で動作しない、Chrome、Safari、FireFoxなどが必要 http://www.html5rocks.com/webappfieldguide/toc/index/ この中で現在僕が注目しているのは... Index DataBase Drag and drop 使ってみたいLibは Modernizr

Javascript links

Javascript 6th Edition The definitive Guide 本にあった。リンク集等 Page 326 http://developer.mozilla.org http://msdn.microsoft.com http://developer.apple.com/safari http://code.google.com/doctype (no longer available) http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(HTML5) http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(Document_Object_Model) http://a.deveria.com/ ( http://caniuse.com/ ) http://www.quirksmode.org/dom http://webdevout.net/browser-support (古い) Page 328 Graded browser support http://yuilibrary.com/yui/docs/tutorials/gbs/ Page 235 http://script.aculo.us/ http://scripty2.com/

CommonJS

JavaScript用ホストオブジェクトに依存しないライブリの標準化 http://www.commonjs.org http://wiki.commonjs.org/wiki/CommonJS CommonJSを実装(全てではなく、お互いに影響) Node http://nodejs.org underscore.js http://documentcloud.github.com/underscore/ Backbone.js (underscore.jsをベース) http://documentcloud.github.com/backbone/

ECMAScript第5版ノート

15.2.3 Properties of the Object Constructor について preventExtensions, sealやfreezeはJavascriptならではの脆弱性を防ぐのに役に立ちそうだ。 8.6.1 Property Attributesについて Writableという属性は、前々からこんなことが言語でできたらなぁ、と何度も思っていたことで、つい歓喜した。 ついでにget, set属性に関しては、Dartと比べると物足りなさを感じた。 もう少し書きやすくしてほしい。

JavaScript本

技術評論社から昨年秋頃発売になった本「パーフェクトJavaScript」を読みはじめました。本の題名や表紙デザインが俗ぽっくて、初心者向けの印象をうけましたが、内容は充実していると思います。とくにJavaScriptの動きは早いのでNode.jsなどの記述もあり重宝します。 いまいちなのは、難しい部分になってくると、繰り返し屁理屈のような記述が多くなり(はじめから読んでいる人にはうんざり)、重要な部分がぼやけてしまっている点です。難しい部分なので宗教論うんぬんよりも、素直に説明を書いて後でコラムなどでまとめて欲しかった気がします。 またjavascriptは凄いし、メジャーだからやらないと損するよなどと脅迫的な部分がある気がします。ボクはjavascriptは創世記的な言語という気がします。とにかくトリッキーな部分が多い(イディオム)。例えばdartのほうが利点を感じます。言語仕様がシンプルかつ自然なためです。時勢もそれを望み始めているのではないかと思います。それを防ぐためにjavascriptは大きな変革が間近な気もしているので(5版が出たとしてもproperty attributeなどが書きにくい)、なおさらそう目につきました。 いろいろな意味で David Flanaganの サイ本は必要だと思います。しかし、現時点では第6版の日本語がないため、買いにくい書籍になっています。技術書の英語がよめるならば、英語版を入手するほうがいいかもしれません。1000page以上ありますが、そのうちリファレンスが300pageぐらいあります。 各文書は英語らしく明確でわかりやすいと思います。Server-side JavascriptはRhino(当たり前かw)とNodeについて短めですが書いて有ります。 仕上げにJavaScript Patternsがあればいいでしょう。  javascriptのベースはしっかりし、頭が言語になじんできます。 いまのところjavascriptの本では一番好きな本です。その後は現実的なJQueryやNode.jsのソースを読んでいく流れがいいと思います。尚、JavaScript The good partsも良書だと思いますが、残念ながらECMAScript5が出来る前のため、そのことが考慮されていませんので多少混乱しま...