2013-09-01から1ヶ月間の記事一覧
Infinispanのような、Node Discoveryの仕組みがあり、サーバを起動するとクラスタのメンバーに自動的に組み込まれるようなタイプのものについて、サーバ停止時はどうするのかなぁ?という点について。いや、別に面白いオチはなかったんですが…。確認のため、…
少し、オブジェクトのシリアライズ(直列化)とその影響について、調べる必要がありまして。これまで、あまりシリアライズを使う、特にクラスの互換性的な面はあまり考慮しなかった(というか、シリアライズされたオブジェクトの授受は避けていた)のですが…
最後、やるかどうか迷いましたが、せっかくなのでNIOを使ってUDPマルチキャスト通信まで試してみることにしました。今回は、これまで参考にしていた書籍の範囲外です。なぜなら、マルチキャスト用のChannel APIは、JDK 7で追加されたものだからです。2007年…
いよいよ、マルチキャストを使ったネットワークプログラミングに。これまで、DatagramSocketクラスを使ったプログラムは、相手がひとりしかいない、ユニキャストでしたが、今度は複数の相手に送信するマルチキャストです。 *DatagramSocketクラスで、マルチ…
前回はReliable UDPを書くのにClojureをすっ飛ばしてしまいましたが、今回はClojureから始めます。お題は、NIOを使ったUDP Echoクライアント/サーバ。外見上の動作は、前と変わらないので省略…。最初はClojure版から入ったわけですが、まーてこずりました。…
Luceneには、JOINを行うAPIがあります。Join API http://lucene.apache.org/core/4_4_0/join/index.htmlまあ、RDBMS的なJOINを期待すると痛い目をみそうな感じですが、知っててもいいのかなぁ?今回参考にしたのは、Join API自体のパッケージの説明 http://l…
これまで、Clojureを中心にUDPを使ったプログラミングをしていましたが、今回はちょっとScalaのみにします。お題は、高信頼型(Reliable)UDP。UDPは、データグラムが正しい順序で到着することを保証しませんし、パケットロスも検出できません。これを克服す…
前回の続きで、今回は書籍に習って前回のUDPサーバ/クライアントの改良型を書きます。Javaネットワークプログラミングの真髄作者: エズモンド・ピット,岩谷宏出版社/メーカー: ソフトバンク クリエイティブ発売日: 2007/04/28メディア: 大型本購入: 9人 ク…
前回、突然TCPソケットを使ったEcho Serverを書きましたが、冒頭にちょこっと述べていましたがホントはUDPソケットを使ってみたかったのでした。なにかと言いますと、最近Infinispan(JGroups)みたいなマルチキャストを使ったノードディスカバリを行うミド…
少し、ネットワークプログラミングの勉強をしようと思いまして。ホントはUDPを中心にやりたいのですが、まずは以前TCPで復習をしてみようかなということで。1年ちょっと前に、こんなエントリを書きました。Clojure(とScalaとGroovy)でEcho Serverを書く ht…
Clojureでプログラムを書くと、当然のように使うrequire、use、importの各関数/マクロですが、なんかよく忘れるのでメモっておこうかと。 require関数 Clojureのライブラリをロードするための関数。こういう感じで使います。 (require 'clojure.string) 単…
ClojureとKuromojiを使った、面白そうなエントリがあったのでClojure/kuromojiでテキストマイニング入門 〜形態素解析からワードカウントまで〜 http://antibayesian.hateblo.jp/entry/2013/09/10/231334Luceneに入っているKuromojiを使って書き直してみまし…
基礎的なAPIをいろいろ触ってみようということで。Put/Get/Delete/Scanを使ってみましたよ。bookというテーブルがある体で |-----------------------------------------------------| | book(table) | |----------------------------------------------…
Infinispan 6.0がけっこう大改造してそうな感じなので、またいろいろ変わるんだろうなぁと思いつつも、InfinispanのREST Serverで遊んでみました。Infinispan REST Server https://docs.jboss.org/author/display/ISPN/Infinispan+REST+ServerAccessing data…
LuceneのGrouping機能について。grouping http://lucene.apache.org/core/4_4_0/grouping/index.html検索結果を、特定のフィールドでグルーピングする機能みたいです。SolrでのGroupingの良いイメージがこちらにあったので、理解の参考にさせていただきまし…
HBaseを擬似分散環境で立てたので、ちょっとだけJavaクライアントプログラミングを。言語にはClojureを使いました。今後、HBaseのJavaクライアントプログラミングは、Clojureでいこうと思います。理由は、Clojureをちゃんと使えるようになりたいから、それだ…
前回、Hadoopをインストールしました。あとは、これでHBaseのデータをHDFS上に保存するようにしてみたいと思います。ZooKeeperも入れた方がいいのかなぁ?と思ったのですが、擬似分散環境ではZooKeeperは使われないようなので、対象外に。う〜ん、ちょっと残…
昨日、こちらののブログで見かけた、こんなエントリ。JDOM2でXMLファイルを出力してみる http://kikutaro777.hatenablog.com/entry/2013/09/04/215134JavaでXMLを出力する方法を探されていたようなのですが、使われていたライブラリがJDOMだったので、思わず…
順番は逆ですが、HBaseに続いてHadoopのインストールをやりたいと思います。Hadoop 2系とか、知らんですよー。Apache Hadoop http://hadoop.apache.org/あくまで、現時点ではHBaseをHDFS上で動かしたいがためにHadoopをインストールしようとしているので、Ha…
ちょこちょこNoSQLをかじっていっていますが、今度はApache HBaseを使ってみようと思います。Apache HBase http://hbase.apache.org/on HadoopなNoSQLですが、自分はHadoopについては素人。3年くらい前、0.20.Xとかいってた時期に、とりあえず入れてみてWord…
Infinispanのドキュメントにある、Virtual Nodesをちょっと見てみようと思いまして。Virtual Nodes - Improving the distribution of data https://docs.jboss.org/author/display/ISPN/Clustering+modes#Clusteringmodes-VirtualNodesImprovingthedistribut…
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…
以前、JavaVM系の言語、Java、Groovy、Scalaを使って簡単なMongoDBクライアントプログラミングをまとめました。Java/Groovy/ScalaでMongoDBクライアントプログラミング http://d.hatena.ne.jp/Kazuhira/20130615/1371303505Clojureも書いてみたので、別エ…