2009年2月19日木曜日

IEでローカルファイルのJavaScriptの動作を確認するときのおまじない

IEでローカルファイルのJavascriptやFLASHの動作を確認使用とするとセキュリティ警告が出てきてちょっと面倒。
DOCTYPE宣言の後に、以下の一文を入れておくとIEでセキュリティ警告が出なくなる。

<!-- saved from url=(0014)about:internet -->

文字コードはEUC-JPでもUTF-8でも何でもいいけど、改行はCRLFでないとうまく動作しないので注意。

2009年2月14日土曜日

フリーのER図作成ツール

[ClayDatabaseModeling]
http://www.azzurri.co.jp/ja/clay/index.html

PostgreSQL7.x,MySQL3,4などちょっと古い印象。
Windows以外や、Eclipseのプラグインとして動作するので、Eclipseユーザならいいかも。


[A5:SQL Mk-2]
http://www.wind.sannet.ne.jp/m_matsu/developer/a5m2/#Download

結果をExcelシートに出力できるのは面白いかも。

PostgreSQLでサーバ・クライアント間の自動文字セット変換

[参考ドキュメント]
http://www.postgresql.jp/document/pg835doc/html/multibyte.html#AEN27493

クライアント側で使用するの文字セットを明示することで、サーバとクライアントの間の文字セットの変換をしてくれる。
SQLベースで行う場合は以下のようなSQL(?)を接続時に実行すればよい。

UTF8を指定する例)

 SET CLIENT_ENCODING TO 'UTF8'

2009年2月12日木曜日

jQuery適当メモ


[jQuery日本語リファレンス]
http://semooh.jp/jquery/cont/doc/release_1.3/

(1)ダウンロード
ダウンロードは以下から
[jQuery]
http://jquery.com/

開発用の非圧縮用と、公開用(?)圧縮されたライブラリが用意されいる。
試したときのバージョンは1.3.1

2)コアライブラリの読み込みと読み込み完了の関数実行

HTMLに以下を記載(srcの部分は環境に合わせて)
<pre>
<script type="text/javascript" src="js/jquery-1.3.1.min.js"></script>
<script>
jQuery.noConflict();
jQuery(document).ready(function(){
//実行したい内容を記載<br />}
</script>
</pre>
jQuery.noConflict()は他のライブラリを意識する場合に記述する。
記述すると、$のショートカット(?)は無効になるので、jQuery()の記述だけが利用できることになる。
prototype.jsと同時に使わなければ意識する必要なないようです。
以下のように戻り値を受け取ると、宣言した変数が$の代わりに使える。

   var j = jQuery.noConflict();

$は短くていいけど、個人的な趣味で以下はjQuery.xxxで書いておきます。

jQuery(document).ready(function(){})
はブラウザがDOMを構成し終わった後に起動する関数オブジェクトを指定する。
いくつも重ねて書いてもいいようです。

(3)要素の指定方法

$(".クラス名");
$("タグ名");
$("#ID名");

(4)個人的に良く使いそうなメソッド

要素.addClass();//クラス追加
要素.removeClass();//クラス除外
要素.toggleClass(class)//要素に対し、指定CSSクラスがあれば削除し、無ければ追加する。

要素.html();//HTMLの取得/設定
要素.val();//value属性の取得/設定


(5)個人的に良くお世話になりそうなイベント

//クリックイベント
要素.click();

//要素にマウスが乗った時の動作イベント。
//overがマウスが乗った時、outが外れた時に呼び出す関数オブジェクトを指定する。
要素.hover(over, out);

(6)DOMの構成が終わった後のイベントに処理を追加

 $(document).ready(関数オブジェクト);

 or

$(関数オブジェクト);


例)読み込み直後にアラートを表示する例
$(document).ready(
function() {
alert("jQuery START!!");
}
);

(7)選択済みラジオボタンのバリューを取得
未調査

(8)選択済みリストのバリューを取得
//IDで指定
var fid=jQuery('#ターゲット').val();
//イベント処理を記述しているときなど
var fid=jQuery(this).val();

// 複数の要素が選択済みの可能性がある場合は、配列が帰ってくる
var sel=jQuery("select option:selected");
var fid=sel.val();


(9)リスト変更イベントに関数を登録
jQuery("#ターゲット").change(関数オブジェクト);

(10)特定CSSクラスのエリアにマウスオーバーイベントに関数を登録

(11)データの書換え:直接
$(ターゲット).text();//テキストとして、(タグはそのまま表示される)
$(ターゲット).html();//HTMLとして(タグはきちんと解釈される)


(12)データの書換え:dom操作で
$(タゲット).before(要素);//同列で次に追加
$(ターゲット).after(要素);//同列で前に追加
$(ターゲット).prepend(要素);//子要素の最後に追加
$(ターゲット).append(要素);//子要素の最後に追加
$(ターゲット).empty(要素);//子要素をすべて削除
$(ターゲット).remove(要素);//ターゲット自体を削除

要素:jQuery("<div>") とするとタグ名で指定できる
   単純にテキストで記述してもOK

//テキスト記述
$("#hoge").append('<a href="http://www.google.com/">google</a>');
//エレメント表記
$("#hoge").append(
$('<a>').attr("href", "http://www.google.com").html("google")
);

(13)属性の操作
jQuery(":submit").attr("disabled", "disabled");//無効化
jQuery(":submit").removeAttr("disabled");//無効化解除

Ext2.2.1が出てます

Ext2.2.1が出てます。
ここから

Google Chromeに正式に対応したのとAIR関連のコンポーネントが追加されているようです。

2009年2月10日火曜日

Spket IDE 1.6.16が出てました。

Spket IDE 1.6.16が出ています。こちらから

2009年2月9日月曜日

AIR GEARをインストール

AIR GEARを入れる前に、Flex3 SDKとAIR SDKをインストールしておく。
ダウンロードは以下から
[Flex3SDK]
http://www.adobe.com/products/flex/flexdownloads/

[AIR SDK]
http://www.adobe.com/jp/products/air/tools/sdk/


(1)AIR GEARダウンロード

以下のサイトからnet.sf.amateras.air_1.0.1.jarというファイルをダウンロードする。

[Amateras]
http://sourceforge.jp/projects/amateras/releases/

(2)ダウンロードしたEclipseのpluginフォルダにjarファイルをコピー
(3)Eclipseを起動し、[Window]=>[Preferences]でAIR GEARの項目が出ていることを確認し、AIR ADKとFlexSDKのパスを設定


使用方法はここのページを参考に。

(簡単な使い方)
(1)AIR プロジェクト(Flex)を作成する
 プロジェクト名.asとプロジェクト名.mxmlが作成されているので、適当に編集
 ※ボタンを押すと足し算をするサンプルがはじめから入っている。
(2)[ 実行]=>[RunAS]=>[AIR Application]でAIRアプリが起動

(感想)
ActionScriptのコードアシストが予約語と一部しかできないのは正直つらい。
MXMLを直接コードを見る場合は別のXMLエディタを使わないといけないようなので、中途半端な気がする。Eclipseのほかのプラグインを使えってことなんだろうけど。
SpketIDEがMXMLをサポートしているようなので、時間を作って試してみよう。


けど、フリーのソフトで、WYSIWYGでフォームを編集できるのはすごい。
FlexBuidlerを使ったことはないけど(今度体験版を試してみよう)、ActionScriptのコードアシストができるようなら、これ一本でいけるかも。

FlashDevelop3.0.0RC1のインストール&日本語化

ここのサイトを参考にさせていただきました。
http://sothis.blog.so-net.ne.jp/2008-03-26

(1)JDKインストール

(2)Flex3SDKインストール(入れたのは3.2でした)
#FLEX3SDKインストール先\bin\jvm.configを編集
--ここから--
# Arguments to VM

#java.args=-Xmx384m -Dsun.io.useCanonCaches=false
java.args=-Xmx384m -Dsun.io.useCanonCaches=false -Duser.language=en -Duser.region=JP
--ここまで--

(3)FlashDevelopインストール(3.0.0RC1)
よくわからなかったので、とりあえずデフォルトで進めました。

(4)日本語化ファイルをダウンロード

ここで配布していたのでいただきました。感謝。
http://www.logicalyze.net/blog/?p=1560

いただいたファイルをアプリケーション設定のSettingフォルダにすべてコピー

(5)フォント設定
Setting\ScintillaNET.xmlのglobals セクションデフォルトフォントとサイズを設定
※これしないと日本語文字化けしてダメでした。
<value name="default-font"> MS Pゴシック< /value>
<value name="default-font-size"> 12</value>

2009年2月6日金曜日

ExtJS3.0は2009年4月に出るようです。

Ext Conference2009でExtJS3.0やExt Core1.0の紹介があるらしい。

Ubuntuでロケール(ja_JP.eucjp)追加

以下を参考にPostgreSQLのロケールをUTF-8からロケールなしに変更。
UbuntuはベースがUTF-8なので、EUC-JPのデータベースでソートがおかしくなったりする問題が出てくる模様。

(参考URL)
http://d.hatena.ne.jp/pasela/20080909/postgres

コンソールからロケールja_JP.eucJPに変更して日本語のデータを入れようとした文字が入らない。コンソール上では日本語部分が文字化けになっている。

pg_controlldataコマンドで見るとロケールはCになっているのになぜ?

ちなみにUbuntu8.10でPostgreSQLのコマンド類は以下のディレクトリにあった。
/usr/lib/postgresql/8.3/bin

psql実行時に良く見ると

—–ワーニング—–
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = “ja_JP:ja:en_GB:en”,
LC_ALL = (unset),
LANG = “ja_JP.eucJP”
are supported and installed on your system.
perl: warning: Falling back to the standard locale (”C”).
Welcome to psql 8.3.5, the PostgreSQL interactive terminal.
—-ここまで—–

どうもロケールの設定が良くないようでlocale -aで見ると確かにロケールにja_JP.eucjpがなかった。

ここを参考にロケールを追加
(参考)
http://d.hatena.ne.jp/Bayside/20080207/p1

/var/lib/locales/supported.d/localeに「ja_JP.EUC-JP EUC-JP」を追記して、locale-genを実行するとja_JP.eucjpが追加される。

たしかにlocale -aで見るとja_JP.eucjpが追加されていた。

euc-jpにコンソールのロケールを変更して、試してみるときちんと表示も入力もできるようになった。
$export LANG=ja_JP.eucjp