CLOVER🍀

That was when it all began.

2013-04-01から1ヶ月間の記事一覧

JavaクライアントからCQLを使ってみる

Cassandraを勉強しているのはいいのですが、世の中でCassandraを使っている方々のデータアクセス方法が、CQLと普通のアクセス方法のどちらがメジャーなのか、よくわからない今日この頃です。とりあえず、両方とも進めてみるわけですが(笑)。というわけで、…

Super Columnを使ってみる

Apache Cassandraで定義できるデータモデルとして、スーパーカラムなるものがあります。 http://wiki.apache.org/cassandra/DataModelが、オライリー本でもさらっとしか触れられていませんしCassandra作者: Eben Hewitt,大谷晋平,小林隆出版社/メーカー: オ…

もっとCassandraのJavaクライアントプログラミング

前回は、CassandraのThriftサンプルを意味はあまり考えずにGroovyに書き直したものでしたが、今回はちょっと意味の理解も踏まえて書いてみることにしました。まずは、キースペースとカラムファミリの用意。 [default@unknown] create keyspace Room; 7b6e7ec…

InfinispanのEvictionとPassivationを復習する

ちょっと前に、InfinispanのCache Loaderの使ったサンプルを書きましたが、この時にEvictionとPassivationの関係がよくわかってなくて、すごくアホなエントリになってしまいました…。ちゃんと、英単語として読めばよかった…。まあ、その反省も踏まえて、ここ…

Ubuntu Linuxを13.04にアップグレード&JDK 7をインストールする

Ubuntu Linux 13.04がリリースされましたが、うちの環境はアップグレードポリシーがLTSになっていたようで、12.04のままでした…。というわけで、アップグレードの設定を変更します。 $ sudo vi /etc/update-manager/release-upgrades Promptの値を、「lts」…

ScalaでGroovyのGrapeのようなことがやりたい

GroovyのGrapeって、便利ですよね。個人的には、Groovyを使う大きな理由のひとつだったりします。だって、お手軽だもん。 @Grab('org.apache.commons:commons-lang3:3.1') import org.apache.commons.lang3.StringUtils スクリプトに、これを書くだけで依存…

sbtでrunをforkするようにすると、readLineでハマる

昨日、Infinispanを触っていて、軽くハマったのでメモ。昨日は結局解決できなくて、別の方法を取りましたが…。例えば、こんなbuild.sbtを用意します。 name := "sbt-readline" version := "0.0.1-SNAPSHOT" scalaVersion := "2.10.1" で、こんなScalaソース…

InifinispanのBatching API

Infinispanを使った、トランザクション周りの話題に関係ありそうだなーと思っていた、InfinispanのBatching APIを触ってみました。Batching https://docs.jboss.org/author/display/ISPN/Batchingどういう時に使うのかというと…Infinispanでのトランザクショ…

CassandraのJavaクライアントプログラミング

とりあえず、こちらを参考に http://wiki.apache.org/cassandra/ClientExamples Groovyで書いてみました。お題は、AmazonでのCassandra関連の本の情報に変えてあります。対象のキースペースとカラムファミリーの情報は、いたって普通です。 [default@Bookshe…

続いて、CQLへ

cassandra-cliを触ってみたので、今度はCQL(Cassandra Query Language)を使ってみます。とりあえず、比較のためcassandra-cliで先にキースペースを作成しておきました。 [default@unknown] create keyspace DEMO ... with placement_strategy = 'org.apach…

とりあえず、cassandra-cliから

先週、Apache Cassandraをインストールしました。で、そこでなぜか終わっていたので、続きを進めようと思います。いきなりプログラムから操作するとかじゃなくて、まずはコマンドラインツールからいくのがきっと無難ですよね。とりあえず、Cassandraを起動し…

InfinispanでGrid File System

2014/4/22 更新) Grid File SystemのReadableChannelには、6.0.0.Finalで解決されるまでreadの結果が不正となり、このエントリで書いているプログラムでは無限ループになる問題がありました。 このエントリは、修正版で書き直しています。ReadableGridFileC…

Infinispanの楽観的ロック/非観的ロックを確認する

前に、Infinispanのトランザクション管理とデータバージョニングのコードを書いていて、「楽観的ロックって、もしかして明示的にwrite-skewとバージョニングを有効にしないと効かないんじゃないかなぁ?」という疑問を持ちました。Infinispan transactions h…

Apache Cassandraをインストールしてみる

そろそろ、他のNoSQLにも手を出してみようかなと思い、ちょっと考えた末、少しこれを扱ってみることにしました。Apache Cassandra http://cassandra.apache.org/もちろん、仕事では使っていませんし、当面の間使うこともないと思います。単純に興味本位です…

FreeMarkerのnoparse的な、Velocity VTL

最近、仕事でVelocityを使っていまして、その時にテンプレートの一部を評価しないみたいなことができないかなーと思って調べてみました。Webアプリの画面テンプレートに使っているので、jQueryの $('#id'); みたいな表記と、すごい相性悪いわけで…。まあ、な…

getOrElseUpdateOpt?

これを見て http://d.hatena.ne.jp/nanjakkun/20130412/1365772017ちょっと面白そうだったので、書いてみました。思いついたのは、こんなパターンくらい。 trait MyMap[A, B] extends Map[A, B] { def getOrElseUpdateOpt1(key: A, defaultValue: => Option[…

JasperReportsで、PDFのプロパティをいろいろ設定する

1年半くらい前にJasperReportsを触って、それっきりだったのですが、最近また触る機会があって、PDFの設定に関する内容を調べたのでメモっておきます。何を調べたかって、PDFのパスワードを設定するとか作成者を設定するとか、バージョンを指定するとか、そ…

Infinispanのデータバージョニング

前に、Hot Rod ClientでVersionedAPIというものを使ったサンプルを書いたことがありますが、それとは違うバージョニングのためのAPIがあります。Data Versioning https://docs.jboss.org/author/display/ISPN/Data+Versioningこちらは、Embedded Cacheで使用…

InfinispanのCache#putForExternalReadって、何?

InfinispanのCacheインターフェースのメソッドを見てたりとか、ドキュメントを見てたりした時にたまに見かけていたCache#putForExternalReadメソッド。ちょっと気になっていたので、使ってみました。Using the Cache API - putForExternalRead operation htt…