CLOVER🍀

That was when it all began.

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

Infinispan停止時にCacheのエントリがどうなるのか、改めて確認する

Infinispanのような、Node Discoveryの仕組みがあり、サーバを起動するとクラスタのメンバーに自動的に組み込まれるようなタイプのものについて、サーバ停止時はどうするのかなぁ?という点について。いや、別に面白いオチはなかったんですが…。確認のため、…

Javaとシリアライズと互換性

少し、オブジェクトのシリアライズ(直列化)とその影響について、調べる必要がありまして。これまで、あまりシリアライズを使う、特にクラスの互換性的な面はあまり考慮しなかった(というか、シリアライズされたオブジェクトの授受は避けていた)のですが…

Javaで書く、NIOを使ったUDPマルチキャスト通信

最後、やるかどうか迷いましたが、せっかくなのでNIOを使ってUDPマルチキャスト通信まで試してみることにしました。今回は、これまで参考にしていた書籍の範囲外です。なぜなら、マルチキャスト用のChannel APIは、JDK 7で追加されたものだからです。2007年…

Clojureで学ぶ、UDPネットワークプログラミング - マルチキャスト

いよいよ、マルチキャストを使ったネットワークプログラミングに。これまで、DatagramSocketクラスを使ったプログラムは、相手がひとりしかいない、ユニキャストでしたが、今度は複数の相手に送信するマルチキャストです。 *DatagramSocketクラスで、マルチ…

Clojureで学ぶ、UDPネットワークプログラミング - Non Blocking IO

前回はReliable UDPを書くのにClojureをすっ飛ばしてしまいましたが、今回はClojureから始めます。お題は、NIOを使ったUDP Echoクライアント/サーバ。外見上の動作は、前と変わらないので省略…。最初はClojure版から入ったわけですが、まーてこずりました。…

LuceneでJOINを使ってみる

Luceneには、JOINを行うAPIがあります。Join API http://lucene.apache.org/core/4_4_0/join/index.htmlまあ、RDBMS的なJOINを期待すると痛い目をみそうな感じですが、知っててもいいのかなぁ?今回参考にしたのは、Join API自体のパッケージの説明 http://l…

Scalaで書く、高信頼型(Reliable)UDP Echoクライアント/サーバ

これまで、Clojureを中心にUDPを使ったプログラミングをしていましたが、今回はちょっとScalaのみにします。お題は、高信頼型(Reliable)UDP。UDPは、データグラムが正しい順序で到着することを保証しませんし、パケットロスも検出できません。これを克服す…

Clojureで学ぶ、UDPネットワークプログラミング - ソケットオプション

前回の続きで、今回は書籍に習って前回のUDPサーバ/クライアントの改良型を書きます。Javaネットワークプログラミングの真髄作者: エズモンド・ピット,岩谷宏出版社/メーカー: ソフトバンク クリエイティブ発売日: 2007/04/28メディア: 大型本購入: 9人 ク…

Clojureで学ぶ、UDPネットワークプログラミング - 基礎

前回、突然TCPソケットを使ったEcho Serverを書きましたが、冒頭にちょこっと述べていましたがホントはUDPソケットを使ってみたかったのでした。なにかと言いますと、最近Infinispan(JGroups)みたいなマルチキャストを使ったノードディスカバリを行うミド…

ClojureとScalaで、Echo Serverを書く(復習編)

少し、ネットワークプログラミングの勉強をしようと思いまして。ホントはUDPを中心にやりたいのですが、まずは以前TCPで復習をしてみようかなということで。1年ちょっと前に、こんなエントリを書きました。Clojure(とScalaとGroovy)でEcho Serverを書く ht…

Clojureの忘れっぽいrequire、use、import

Clojureでプログラムを書くと、当然のように使うrequire、use、importの各関数/マクロですが、なんかよく忘れるのでメモっておこうかと。 require関数 Clojureのライブラリをロードするための関数。こういう感じで使います。 (require 'clojure.string) 単…

Clojure/lucene-kuromojiでテキストマイニング入門 〜形態素解析からワードカウントまで〜

ClojureとKuromojiを使った、面白そうなエントリがあったのでClojure/kuromojiでテキストマイニング入門 〜形態素解析からワードカウントまで〜 http://antibayesian.hateblo.jp/entry/2013/09/10/231334Luceneに入っているKuromojiを使って書き直してみまし…

HBaseでCRUD+Scan

基礎的なAPIをいろいろ触ってみようということで。Put/Get/Delete/Scanを使ってみましたよ。bookというテーブルがある体で |-----------------------------------------------------| | book(table) | |----------------------------------------------…

Infinispan REST Server & JAX-RS Client

Infinispan 6.0がけっこう大改造してそうな感じなので、またいろいろ変わるんだろうなぁと思いつつも、InfinispanのREST Serverで遊んでみました。Infinispan REST Server https://docs.jboss.org/author/display/ISPN/Infinispan+REST+ServerAccessing data…

LuceneのGroupingを使ってみる

LuceneのGrouping機能について。grouping http://lucene.apache.org/core/4_4_0/grouping/index.html検索結果を、特定のフィールドでグルーピングする機能みたいです。SolrでのGroupingの良いイメージがこちらにあったので、理解の参考にさせていただきまし…

HBaseでJavaクライアントプログラミング、のさわりだけ

HBaseを擬似分散環境で立てたので、ちょっとだけJavaクライアントプログラミングを。言語にはClojureを使いました。今後、HBaseのJavaクライアントプログラミングは、Clojureでいこうと思います。理由は、Clojureをちゃんと使えるようになりたいから、それだ…

擬似分散環境のHDFS上で、HBaseを使用する

前回、Hadoopをインストールしました。あとは、これでHBaseのデータをHDFS上に保存するようにしてみたいと思います。ZooKeeperも入れた方がいいのかなぁ?と思ったのですが、擬似分散環境ではZooKeeperは使われないようなので、対象外に。う〜ん、ちょっと残…

JavaでXMLを書き出す

昨日、こちらののブログで見かけた、こんなエントリ。JDOM2でXMLファイルを出力してみる http://kikutaro777.hatenablog.com/entry/2013/09/04/215134JavaでXMLを出力する方法を探されていたようなのですが、使われていたライブラリがJDOMだったので、思わず…

Apache Hadoopをインストールする

順番は逆ですが、HBaseに続いてHadoopのインストールをやりたいと思います。Hadoop 2系とか、知らんですよー。Apache Hadoop http://hadoop.apache.org/あくまで、現時点ではHBaseをHDFS上で動かしたいがためにHadoopをインストールしようとしているので、Ha…

Apache HBaseことはじめ

ちょこちょこNoSQLをかじっていっていますが、今度はApache HBaseを使ってみようと思います。Apache HBase http://hbase.apache.org/on HadoopなNoSQLですが、自分はHadoopについては素人。3年くらい前、0.20.Xとかいってた時期に、とりあえず入れてみてWord…

InfinispanのSegmentsを使ってみる

Infinispanのドキュメントにある、Virtual Nodesをちょっと見てみようと思いまして。Virtual Nodes - Improving the distribution of data https://docs.jboss.org/author/display/ISPN/Clustering+modes#Clusteringmodes-VirtualNodesImprovingthedistribut…

Clojureでキャストを使う

Clojureでキャストを行うためには、clojure.core/cast関数を使用します。cast http://clojure.github.io/clojure/clojure.core-api.html#clojure.core/casthttp://stackoverflow.com/questions/3652675/how-can-i-cast-a-java-class-in-clojure使い方は、 (c…

ClojureでMongoDBクライアントプログラミング

以前、JavaVM系の言語、Java、Groovy、Scalaを使って簡単なMongoDBクライアントプログラミングをまとめました。Java/Groovy/ScalaでMongoDBクライアントプログラミング http://d.hatena.ne.jp/Kazuhira/20130615/1371303505Clojureも書いてみたので、別エ…