2009-07-01から1ヶ月間の記事一覧
prototype.jsのAJAX機能には、レスポンスボティがJSONの場合、自動で解析を行う機能があります。 AJAXリクエストのオプションで特に禁止されておらず(デフォルトは「実行する」)、レスポンスのContent-Typeが「application/json」の場合に自動解析が行われ、…
coliss - ネガティブマージンの理解を深め、活用するテクニック集より。ネガティブマージンを使うことで、 画面サイズに合わせて伸縮するカラムと、 固定幅のカラム から構成されるマルチカラムレイアウトを実現できるらしい。ということでサンプルを作って…
prototype.jsを使うとrubyライクな便利メソッドが追加されるのはいいんだけど、ついつい↓こんな感じで書いて満足してしまうのが問題だな。 var array = [1,2,3,4,5]; // 偶数を探したい。 var odds = array.findAll( function(i){ i%2 == 0 }); // ↑しかし、…
先行指標と遅行指標を受け取って、クロスアップ/クロスダウンを判定するユーティリティです。利用例と挙動の説明は以下。 require 'cross' cross = Cross.new # 先行指標、遅行指標を受け取って状態を返す。 # :cross .. クロスアップ、クロスダウン状態かど…
軽量サーブレットコンテナ「Winstone」を使って、jspをさくっと動かすための環境を構築する手順のメモです。 ※[http //winstone.sourceforge.net/:title=Winstone]とは:サーブレットコンテナの一種。300kくらいの1つのファイルでHTTPサーバー、サーブレット…
jQueryのif文は↓こんな感じで書かれていて、個人的にかなり読みづらい。 if ( value ) <処理>; // ... // コメント // ... else { <処理>; <処理>; } 上から読んだときに、脳内では最初の2行目でif文が終わっているので、次のelseでなんだこれ?となって手戻…
httpclient付属の「HTTPClient::Timeout」を使うと、処理が指定された期間で完了したかチェックして、完了しない場合エラーとする機能を簡単に実現できます。 同様の機能を提供する標準添付のライブラリとしてtimeout.rbがありますが、これと比較して以下の…
JAX-RSの実装であるJaersyでは、アノテーションを付与したサービスクラスを自動で探索して、デプロイしてくれます。マッピングを指定するわけでもなく、もちろん「META-INF/services/...」とかも不要。んー、内部実装はどうなってるんだろー、気になるー!、…
JAX-RSを使うとRESTFullなWebサービスがさくっと作成できるらしい。ということで試してみました。 概要 Webサービスを公開するまでの手順は以下の通りです。 JAX-RSの実装(Jersey)をダウンロード Webサービスとするクラスを書いて、アノテーションを付ける。…
ITPro -「Java SE 6完全攻略」第81回 JAX-WS その1より。Java 6 から標準添付になったJAX-WSを使うと任意のJavaクラスをさくっとWebサービスにして公開できるらしい。ということで試してみました。 概要 公開までの手順は以下の通り。 Webサービスとするクラ…
JavaScriptのオブジェクトはHashのように使えますが、素のままだと空かどうかを判定するのも一苦労なんだよなー。一行で書くとちょい長いので、関数が必要な感じ。 /** * ハッシュが空かどうか判定する。 */ function isEmpty(hash) { for ( var i in hash )…
FireBugを1.4.0にアップデートすると、Webrickサーバー上のJavaScriptファイルがデバッグできなくなってしまった。「スクリプト」タブからjsのソースを開こうとすると、 The resource from this URL is not text: http://127.0.0.1:7000/js/xxxx.jsとか言わ…
jQueryでは、post()やget()などのHTTP通信を行うためのAPIも提供されています。 対象を指定してどうこうする機能ではないので、jQueryの関数として定義されています。 「$.post(...)」のような形で利用できます。 簡単にGETやPOSTリクエストを発行できるpost…
Effectsとして、表示/非表示の切り替えや移動などのアニメーションをさくっと実装するための機能が提供されています。様々なエフェクトがAPIとして用意されていますが、基本的に以下の引数を指定できるようになっています。 第一引数 .. アニメーションする…
Tomcat上で動くJavaなWebアプリのハズなんだけど、なぜかビルドに Microsoft Visual Studio 2005 が必要。よくわからないけど、jspを作るためのテンプレートエンジン?としてVCのツールを使っているらしい。うー、ということはVCのライセンスがないと、ローカ…
end()を使うと、直前の操作対象変更操作( add,filterなどTraversingのAPI呼び出し )をキャンセルできます。利用例は以下。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="./jquery-1.3.2.js"></script> <script type="text/javascript"> $(function(){ $("li") // li要素を全て選択 .css({ listS…</meta></head></html>
TraversingのAPIを使うと、 セレクタで選択した要素の一覧をさらに絞り込む セレクタで選択した要素の一覧を統合する といった操作が可能です。機能的にはセレクタの指定を工夫することで実現できそうなものが多いですが、セレクタでがんばりすぎると後で読…
jQueryで特定の要素の中身を編集するにはhtml(val) または text(val) を使用します。 html(val) は指定された文字列を、サニタイズなしでそのままコンテンツとします。 text(val) の方は、文字列をサニタイズして設定します。 また、要素の中身を参照するメ…
jQuery - EventsのAPIを使って、エレメントにイベントハンドラを登録することができます。 「click」とか「mouseenter」みたいなイベント名に対応するメソッドがあるので、引数としてイベントハンドラとする関数を指定してそれを呼び出せばOK。 すでに使って…
jQueryでは、操作対象となる要素を指定するためのパラメータをセレクタと呼びます。以下のような呼び出しの $(selector).method()「selector」部分がそれです。値としては以下が指定可能です。 CSS形式のセレクタ 「#id」とか「.class」のようなもの。 指定…
いまさらながらjQueryを触ってみようかと。ちょっと気にはなっていたしねー。ということで、とりあえずjQueryのサイトからリンクされているこことここを流し読みして以下を理解。 jQueryは、エレメントを選択して、内容やスタイルを変更する操作をさくっと行…
YAHOO.util.StyleSheet.toCssTextでCSSを示すハッシュをCSSの文字列に変換できます。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="http://yui.yahooapis.com/2.7.0/build/yahoo/yahoo-min.js" ></script> </meta></head></html>
Yahoo! UI Library の StyleSheet Utilityを使うと、JavaScriptで動的にCSSを作成したり更新したりできます。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="http://yui.yahooapis.com/2.7.0/build/yahoo/yahoo-min.js" ></script> </meta></head></html>
Javaのif文は「文」なので値を返しません。条件を評価した結果に応じて値を返す「式」を作るには三項演算子を使いますが、「これがどうしても気に食わん!」という奇特な人のために(いるのか?)、こうすればifを「式」にして関数の引数にぶちこんだりできるよ!…
単純なif文ですが。 hash = {:a=>"a"} # ハッシュにキーがあり、且つ # 値がnilでなければ"aaa"を表示 if hash.key? :a && hash[:a] puts "aaa" else puts "bbb" end 実行結果です。条件を満たすハズなのにfalseと評価され"bbb"が出力されます。 bbb ぬー、…
EditAreaはJavaScriptで書かれたWebベースのソースコードエディタライブラリです。これを使うと、以下に示す機能(EditArea - Aboutより抜粋)を持つリッチなコードエディタを、Webサイトにさくっと追加できます。 リアルタイム シンタックスハイライト PHP, C…
ey さんよりご報告頂いた(ありがとうございます!)プロキシ設定の不具合を改修し、jiji-1.1.3としてリリースしました。→Github - unageanu/jiji 変更点 クリック証券のデモ取引に接続する場合に、設定でプロキシを空のまま確定すると接続エラーになる不具合を…
JSSpecでは、各example実行前の準備や後始末を行う関数としてbefore,after,before_all,after_allが使えます。xUnitでのsetUpやtearDownに相当するものですな。各関数の説明は以下の通り。 before 各exampleの前に、毎回実行されます。 after 各exampleの後に…
JSSpecで使えるshould_beを使っていろいろなオブジェクトを比較した場合の動作を確認したので、ポイントや注意点をまとめておきます。 オブジェクトは「属性が一致するか?」で評価される模様。 「{}」で作成したものだけでなく、「new」で作成されたオブジェ…
JavaScriptのテストをそろそろちゃんとしようかな、と思ってテスティングフレームワークを検討中。JavaScriptのxUnit系フレームワークにはあんまりいいのがなかった記憶があるので、BDD系で探してみるとJSSpecがヒット。なかなか良さそうなのでちょっと使っ…