2011-01-01から1年間の記事一覧
NetBeans 7.0 の scala-2.8 対応プラグインあった。 NetBeans Plugin Portal に 4月27日付で登録されてました。 scala-2.8.x for NetBeans 7.0 こんな感じです。
blog1.mammb.comからの続き エンドポイント エンドポイントは Camel において、システムがメッセージを送受信できるチャネルの終端をモデル化した抽象です。これを以下に図示します。 Camel では file:data/inbox?delay=5000 のような URI を用いてエンドポ…
blog1.mammb.com からの続き 1.4 Camel のアーキテクチャ それでは Camel のアーキテクチャに焦点をあてていきましょう。最初にアーキテクチャの概要から見ていき、その後で特定のコンセプトについて詳細に見ていくことにします。この章を読み終われば、第2…
blog1.mammb.com からの続き Camel のメッセージモデル Camel ではメッセージのモデリングに 2つの抽象があります。本章ではこの2つについて説明します。 org.apache.camel.Message ― Camel にて運び届けられるデータを含む基本的なエンティティ org.apache.…
blog1.mammb.comからの続き 1.2 Getting started この章では Camel ディストリビューションの利用方法を説明します。Camel ディストリビューションの中身を説明し、Apache Maven を利用した例を実行します。これが終われば、本書のソースコードの例を実行で…
blog1.mammb.comからの続き 1.1.2なぜCamelを使うのか Camel は既存のフレームワークを使う代わりに、いくつかの斬新なアイディアを統合スペースにもたらします。これは著者が第一にCamelの開発を決めた理由となります。本書では Camel の豊富な機能を見てい…
以下で公開されている Camel In Action の適当な邦訳です。 http://www.manning.com/ibsen/Camel_ch01_update.pdf Table of Contents Part 1 – First Steps Chapter One: Meeting Camel Chapter Two: Routing with Camel Part 2 – Core Camel Chapter Three:…
http://ingomaier.blogspot.com/2010/11/scalaswing-package-in-28-and-beyond.html を邦訳メモしてあったので公開してみます。 scala.swing は Java Swing と、いくつかの AWT クラスのラッパーライブラリです。Java と Scala の相互運用のために、ラッパー…
以下のようにトレイトの val をオーバーライドした場合 trait Tr1 { val hoge = "Trait1" } class Sample extends Tr1 { override val hoge = "Sample" } val s = new Sample() print(s.hoge) Scala 2.7 で以下のような出力となり正しくオーバーライドできま…
Scala 2.9.0.RC1 のリリースから数日で、Scala IDE for Eclipse の 2.9 対応版がリリースされています。Scala IDE 自体も 2.0.0 版となっており軽く触った限りでは、好印象です。 ダウンロードサイトは現時点では以下となっていました。 http://download.sca…
2011年3月25日、早くも Scala 2.9.0 のリリース候補が出ています。本家の記事を適当に邦訳して紹介しますね。 元ネタはこちらの POST となります。 http://www.scala-lang.org/node/8976 Scala 2.9.0 RC1 数か月の作業を終え、Scala チームは新しい Scala 2.…
JSONP 形式での時刻配信 NICT の日本標準時プロジェクトにて NTP の時刻情報を JSON で、こんな感じで取得できます。 jsont( { "id": "ntp-a1.nict.go.jp", "it": 1232963971.248, "st": 1232963971.920, "leap": 33, "next": 1230768000 } ) 取得項目は以下…
ここのチェックボックスを OFF
blog1.mammb.comでは CoreMatchers についてでしたが、こちらでは org.hamcrest.Matchers についてまとめます。 org.hamcrest.Matchers JUnit についてくるのは org.hamcrest.CoreMatchers で基本的な Matcher が提供されています。org.hamcrest.Matchers は…
なつかしの Java PUZZLER 風で、 Java Puzzlers 罠、落とし穴、コーナーケース作者: ジョシュア・ブロック,ニール・ガフター,柴田芳樹出版社/メーカー: ピアソン・エデュケーション発売日: 2005/11/14メディア: 大型本購入: 3人 クリック: 92回この商品を含…
var宣言の巻き上げ(hoisting) JavaScript では関数内部のどこにでもvar文を書くことができますが、これらの変数はその関数の先頭で宣言されたものと同じように動作します。 以下のコードは、1つ目の alert で"undefubed"が表示され、次に"local"が表示されま…
以下のドキュメントのままです http://www.scala-lang.org/docu/files/packageobjects/packageobjects_0.html パッケージオブジェクトとは 2.8 以前のScalaでは、パッケージの中にはクラスとトレイト、そしてスタンドアロンオブジェクトが定義できました。こ…
Scala 2.8 にて名前付き引数(Named Arguments)が利用できるようになりました。 名前付き引数 以下のような joiner メソッドに対して、 object StringUtil { def joiner(strings: List[String], separator: String = " "): String = strings.mkString(separat…
Scala 2.8 からメソッドの引数にデフォルト値を指定できるようになりました。 Scala 2.7 系では引数にデフォルト値を用意したい場合は、 object StringUtil { def joiner(strings: List[String], separator: String): String = strings.mkString(separator) …
IntelliJ IDEA の Scala プラグインで fsc (Fast Scala Compilation) オプションの使い方はちょっと分かりにくいです。Ctrl + Alt + S で Scala Compiler ダイアログの Use fsc (fast scalac) オプションをチェックします。 Run - Edit Configurations から …
現時点でScalaでIDE使うなら、IntelliJ かなぁ。 Scala の導入 念のため Scala の導入から。。 http://www.scala-lang.org/downloads から scala-2.8.1.final.zip と scala-2.8.1.final-devel-docs.tgz を落として適当なディレクトリに解凍します。ドキュメ…
モッキング API の使い方 JMockit のモッキング API は JUnit や TestNG などの一般的なテスティングフレームワークのテストケースとして使用できます。ここでは JMockit のモッキング API の使いかたを見ていくことにします。mockit パッケージはフルインポ…
JMockit ツールキットはこちらから、全配布物をzipファイルとして入手できます。また Maven 2 の公開リポジトリからバイナリとソースjarファイルを入手できます。このツールキットのドキュメントは、チュートリアル、APIドキュメント、いくつかのサンプルテ…
普通に sqlplus で $ sqlplus username/password@hogeとかでDB接続してしまっているのを良く見かけます。 これだと、ps コマンドでユーザ名とパスワードがみえてしまいます。 めんどくさがらずに、sqlplus は /nolog で起動するのが良いです。 $ sqlplus /no…
Groovy 1.8 から closure composition が使えるようになりました。というかまだBetaですが。 closure composition は > を使います。 def plus2 = { it + 2 } def times3 = { it * 3 } def composed1 = plus2 << times3 composed1 は times3 の関数の結果を …
enum を enum 名から取得するのは public enum Status { RUN, WAIT, READY } valueOf を使えば良いだけです。 Status.valueOf("RUN"); enum 定数としてコード値などと対応付ける こんな場合、 public enum Status { RUN("001"), WAIT("010"), READY("011"), …
Javaのバージョン関連のシステムプロパティ Javaのバージョン関連のシステムプロパティには以下のようなものがあります。 // JREのバージョン System.out.println(System.getProperty("java.version")); // JREの仕様バージョン System.out.println(System.g…
Java5 からボクシングとアンボクシングが自動で処理されるようになり便利になりました。しかしオートボクシングの分かりにくい挙動もあります。 Integer と int の比較を以下のようにすると、 Integer i1 = 100; int i2 = 100; if ( i1 == i2 ) { System.out…
Java Concurrency in Practice におけるスレッドセーフなメモイゼーションの実装。そのままです。 A が入力、V が出力の型 public interface Computable<A, V> { V compute(A arg) throws InterruptedException; } Memoizer は ConcurrentHashMap と Future の利用</a,>…
リポジトリの作成 mkdir /home/hoge/svn-repos svnadmin create /home/hoge/svn-repos svnserveによるリポジトリの公開 svnserve --daemon --root /home/hoge/svn-repos リポジトリへのインポート server という名前のサーバに既存の sesame プロジェクトを…