2011-01-01から1年間の記事一覧

NetBeans 7.0 の scala-2.8 対応プラグインめっけ。

NetBeans 7.0 の scala-2.8 対応プラグインあった。 NetBeans Plugin Portal に 4月27日付で登録されてました。 scala-2.8.x for NetBeans 7.0 こんな感じです。

Camel In Action の1章の適当邦訳 〜Apache Camel その6

blog1.mammb.comからの続き エンドポイント エンドポイントは Camel において、システムがメッセージを送受信できるチャネルの終端をモデル化した抽象です。これを以下に図示します。 Camel では file:data/inbox?delay=5000 のような URI を用いてエンドポ…

Camel In Action の1章の適当邦訳 〜Apache Camel その5

blog1.mammb.com からの続き 1.4 Camel のアーキテクチャ それでは Camel のアーキテクチャに焦点をあてていきましょう。最初にアーキテクチャの概要から見ていき、その後で特定のコンセプトについて詳細に見ていくことにします。この章を読み終われば、第2…

Camel In Action の1章の適当邦訳 〜Apache Camel その4

blog1.mammb.com からの続き Camel のメッセージモデル Camel ではメッセージのモデリングに 2つの抽象があります。本章ではこの2つについて説明します。 org.apache.camel.Message ― Camel にて運び届けられるデータを含む基本的なエンティティ org.apache.…

Camel In Action の1章の適当邦訳 〜Apache Camel その3

blog1.mammb.comからの続き 1.2 Getting started この章では Camel ディストリビューションの利用方法を説明します。Camel ディストリビューションの中身を説明し、Apache Maven を利用した例を実行します。これが終われば、本書のソースコードの例を実行で…

Camel In Action の1章の適当邦訳 〜Apache Camel その2

blog1.mammb.comからの続き 1.1.2なぜCamelを使うのか Camel は既存のフレームワークを使う代わりに、いくつかの斬新なアイディアを統合スペースにもたらします。これは著者が第一にCamelの開発を決めた理由となります。本書では Camel の豊富な機能を見てい…

Camel In Action の1章の適当邦訳 〜Apache Camel その1

以下で公開されている 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:…

Scala 2.8 以降の scala.swing パッケージ

http://ingomaier.blogspot.com/2010/11/scalaswing-package-in-28-and-beyond.html を邦訳メモしてあったので公開してみます。 scala.swing は Java Swing と、いくつかの AWT クラスのラッパーライブラリです。Java と Scala の相互運用のために、ラッパー…

Scala 2.8 ではトレイトの val がオーバーライド可能になった

以下のようにトレイトの 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 IDE for Eclipse 2.0 の Beta 版で Scala 2.9.0.RC1 が早くも使える

Scala 2.9.0.RC1 のリリースから数日で、Scala IDE for Eclipse の 2.9 対応版がリリースされています。Scala IDE 自体も 2.0.0 版となっており軽く触った限りでは、好印象です。 ダウンロードサイトは現時点では以下となっていました。 http://download.sca…

早くも Scala 2.9.0 のリリース候補が出ています

2011年3月25日、早くも Scala 2.9.0 のリリース候補が出ています。本家の記事を適当に邦訳して紹介しますね。 元ネタはこちらの POST となります。 http://www.scala-lang.org/node/8976 Scala 2.9.0 RC1 数か月の作業を終え、Scala チームは新しい Scala 2.…

NTPからJSON形式で現在時刻を取得するサンプル

JSONP 形式での時刻配信 NICT の日本標準時プロジェクトにて NTP の時刻情報を JSON で、こんな感じで取得できます。 jsont( { "id": "ntp-a1.nict.go.jp", "it": 1232963971.248, "st": 1232963971.920, "leap": 33, "next": 1230768000 } ) 取得項目は以下…

InteliJ IDEA のフリーカーソルを OFF にするには

etc

ここのチェックボックスを OFF

hamcrest の Matchers 詳細

blog1.mammb.comでは CoreMatchers についてでしたが、こちらでは org.hamcrest.Matchers についてまとめます。 org.hamcrest.Matchers JUnit についてくるのは org.hamcrest.CoreMatchers で基本的な Matcher が提供されています。org.hamcrest.Matchers は…

enum インナーインターフェース PUZZLER

なつかしの Java PUZZLER 風で、 Java Puzzlers 罠、落とし穴、コーナーケース作者: ジョシュア・ブロック,ニール・ガフター,柴田芳樹出版社/メーカー: ピアソン・エデュケーション発売日: 2005/11/14メディア: 大型本購入: 3人 クリック: 92回この商品を含…

単独 var パターン

var宣言の巻き上げ(hoisting) JavaScript では関数内部のどこにでもvar文を書くことができますが、これらの変数はその関数の先頭で宣言されたものと同じように動作します。 以下のコードは、1つ目の alert で"undefubed"が表示され、次に"local"が表示されま…

Scala 2.8 で追加されたパッケージオブジェクト

以下のドキュメントのままです http://www.scala-lang.org/docu/files/packageobjects/packageobjects_0.html パッケージオブジェクトとは 2.8 以前のScalaでは、パッケージの中にはクラスとトレイト、そしてスタンドアロンオブジェクトが定義できました。こ…

Scala 2.8 で追加された名前付き引数

Scala 2.8 にて名前付き引数(Named Arguments)が利用できるようになりました。 名前付き引数 以下のような joiner メソッドに対して、 object StringUtil { def joiner(strings: List[String], separator: String = " "): String = strings.mkString(separat…

Scala 2.8 で追加されたデフォルト引数

Scala 2.8 からメソッドの引数にデフォルト値を指定できるようになりました。 Scala 2.7 系では引数にデフォルト値を用意したい場合は、 object StringUtil { def joiner(strings: List[String], separator: String): String = strings.mkString(separator) …

IntelliJ IDEA の Scala プラグインで fsc を使う

IntelliJ IDEA の Scala プラグインで fsc (Fast Scala Compilation) オプションの使い方はちょっと分かりにくいです。Ctrl + Alt + S で Scala Compiler ダイアログの Use fsc (fast scalac) オプションをチェックします。 Run - Edit Configurations から …

IntelliJ IDEA へのScala プラグイン導入手順

現時点で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 を落として適当なディレクトリに解凍します。ドキュメ…

Getting started with the JMockit Testing Toolkit の邦訳(後編)

モッキング API の使い方 JMockit のモッキング API は JUnit や TestNG などの一般的なテスティングフレームワークのテストケースとして使用できます。ここでは JMockit のモッキング API の使いかたを見ていくことにします。mockit パッケージはフルインポ…

Getting started with the JMockit Testing Toolkit の邦訳(前編)

JMockit ツールキットはこちらから、全配布物をzipファイルとして入手できます。また Maven 2 の公開リポジトリからバイナリとソースjarファイルを入手できます。このツールキットのドキュメントは、チュートリアル、APIドキュメント、いくつかのサンプルテ…

sqlplus の起動は /nolog で

etc

普通に sqlplus で $ sqlplus username/password@hogeとかでDB接続してしまっているのを良く見かけます。 これだと、ps コマンドでユーザ名とパスワードがみえてしまいます。 めんどくさがらずに、sqlplus は /nolog で起動するのが良いです。 $ sqlplus /no…

Groovy 1.8 のクロージャ合成

Groovy 1.8 から closure composition が使えるようになりました。というかまだBetaですが。 closure composition は > を使います。 def plus2 = { it + 2 } def times3 = { it * 3 } def composed1 = plus2 << times3 composed1 は times3 の関数の結果を …

enum 定数の逆引きは美しくないけどよく使う。。

enum を enum 名から取得するのは public enum Status { RUN, WAIT, READY } valueOf を使えば良いだけです。 Status.valueOf("RUN"); enum 定数としてコード値などと対応付ける こんな場合、 public enum Status { RUN("001"), WAIT("010"), READY("011"), …

Javaのバージョンの取得あれこれ

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 におけるメモイゼーションの実装

Java Concurrency in Practice におけるスレッドセーフなメモイゼーションの実装。そのままです。 A が入力、V が出力の型 public interface Computable<A, V> { V compute(A arg) throws InterruptedException; } Memoizer は ConcurrentHashMap と Future の利用</a,>…

Subversion 必要最低限のコマンドたち

リポジトリの作成 mkdir /home/hoge/svn-repos svnadmin create /home/hoge/svn-repos svnserveによるリポジトリの公開 svnserve --daemon --root /home/hoge/svn-repos リポジトリへのインポート server という名前のサーバに既存の sesame プロジェクトを…