H2Databaseを追っかけていたりしたブログ

H2 database のリリースノートを読んだりとか。

javascript

loader周りの動作確認

下記のようにrequireの第一引数としてオブジェクトを渡してあげるとloaderのフェーズ毎にログ出力されるようになる。 require({$ trace:{$ "loader-inject":1, // turn the loader-inject group on "loader-define":0 // turn the loader-define group off }…

vimでdojoの開発をしやすくなる1行。

dojoというかAMDでモジュール化されているjavascript全般ですが。.vimrcに以下の行を追加。 autocmd FileType javascript setlocal includeexpr=substitute(v:fname,'$','.js','') | setlocal path+=;/ 下記のdefineにかいてあるような、モジュールID(パス)…

Dojoのモジュールについて 5 dojo/dom-construct

dojo/dom-construct dojo/dom-constructはDOM組み立てるためのdojoのAPIです。dojo内では、domConstructという名前で使っている事が多いようです。 toDom 文字列からDOMノードを構築します。不正な文字列だった場合にはそのまま文字列が返ってきます。引数説…

Dojoのモジュールについて 4 dojo/dom-class

dojo/dom-class dojo/dom-classはDOMのclassを操作するためのdojoのAPIです。dojo内では、domClassという名前で使っている事が多いようです。 containes 対象のDOMに指定したクラスが設定されているかをtrue/falseで返します。引数説明Object/string対象のdo…

Dojoのモジュールについて 3 dojo/dom-attr

dojo/dom-attr dojo/dom-attrはDOMの属性を操作するためのAPIを定義しています。dojo内では、domAttrという名前で使っている事が多いようです。 get/getNodeProp どちらも指定したDOMの属性を取得できます。何が違うかと言うと、getは明示的に設定された属性…

Dojoのモジュールについて 2 dojo/dom

dojo/dom dojo/domはコアとなるDOM APIを定義しています。定義されているのはbyId/isDescendant/setSelectableの3つの関数です。byIdはよく使うと思いますが、あとの二つはそれほどでも、という感じです。サンプル。 <html> <head> <meta charset="utf-8"> <title>Tutorial: Hello Dojo!</title> </head> <body> <div id="a1"> <div id="b1"> <span id="c1">this is </span></div></div></body></html>…

Dojoのモジュールについて 1 dojo

Dojo Toolkitのモジュールについて、ざっくり見ていきます。結構細かく分かれてます。まず、大きく3つのパッケージ(dojo/dijit/dojox)に分かれます。 dojo Dojo Toolkitのベースとなるコアパッケージです。結構あるな...と漠然と思っていましたが、改めて数…

dojo toolkitやってみる 4

モジュールを作ってみます。以下のような構成です。sample7.html <html> <head> <meta charset="utf-8"> <title>Tutorial: Hello Dojo!</title> </head> <body> <h1 id="greeting">Hello</h1> <script src="dojo/dojo.js" data-dojo-config="async: true"></script> <script> require(['ysobj/hello','dojo/domR…</body></html>

dojo toolkitやってみる 2

dojoのドキュメントを読んでいたら、dojo/aspectなんていうAOPのためのモジュールがあったので試してみます(Javaではおなじみですね。他の言語でどうなのかよく知りません) <html> <head> <meta charset="utf-8"> <title>Tutorial: Hello Dojo!</title> </head> <body> <h1 id="greeting">Hello</h1> <h1 id="greetingJa">こんにちは</h1> </body></html>

dojo toolkitやってみる 1

dojo toolkit は、基本的なDOM操作や配列の操作、イベントはもとより、UI部品やグラフ、そしてモジュール化の仕組み、ビルドツールまでそろったオールインワンのJavaScriptのライブラリです。ただあまり日本語情報は多くなく、また、ここ数年で、内部構造の…

goog-inline-blockとgoog.style.setInlineBlock(element)の違いについて

何の違いがあるんだろう...と思っていたんだけど、goog.style.setInlineBlock(element)はgoog.style.removeInlineBlock(element)がないのに対して、goog.dom.classes.add(element,'goog-inline-block')はgoog.dom.classes.remove(element,'goog-inline-block…

closure-library始める4 uiコンポーネント作ってみた

いやね、Containerのサンプル見たら、HorizontalのコンテナにControlをaddChildする前に、addClassName("goog-inline-block")してて、そこコメントアウトしたら横に並ばず...。 goog.provide('hoge.HBox'); goog.require('goog.ui.Container'); goog.require…

closure-library始める3 uiコンポーネントについての続き

enterDocumentはDOMが作成されて、document上に配置された時に呼ばれる。だから、イベントリスナーを張るのに適した場所だ。その前に、プロパティに、goog.events.EventHandlerを持っておく。 goog.require('goog.events.EventHandler'); //略 hoge.Box = fu…

closure-library始める2 uiコンポーネントについて

まず、コンポーネントを作ってみる。参考。http://code.google.com/p/closure-library/wiki/IntroToComponents参考のページとそのサンプルコードを見ればそれでいいような気もするが、ちょっと簡略化してちょっとずつ確認してみる。 goog.provide('hoge.Box'…

closure-library始める

closure-libraryはgoogleがつくった、gmail等で利用されているライブラリ。かっちり作りこみたい向きのためのライブラリなので、小さい規模の開発には面倒が多い、という感じを受ける。 関連プロダクトであるclosure compilerを使って、最適化して使うことが…