valid,invalid

関心を持てる事柄について

Java

グラフDB(Neo4j)を試してみる (2)BluePrintsで読み書き

BluePrints 各グラフDBに対するインタフェース、APIを提供するソフトウェア。 複数のグラフDBに対応している。 ライブラリ追加 blueprints-core と好きなGraphDB用のライブラリを追加する。 今回はNeo4jを選んだので blueprints-neo4j-graph を追加。 手元で…

グラフDB(Neo4j)を試してみる (1)グラフDBとは

会社の勉強会でグラフDBが紹介されて興味を持ったので実践してみた。全然知らない領域だったのでいろいろ整理したい。 グラフDBとは まずグラフDBとは何か。グラフ理論をベースとし、ノード(頂点)とエッジ(関係)を構成要素とするNoSQLデータベースの一つ…

間違って controllers 内のクラスを削除したらコンパイルエラー

下記コマンドでリビルドしたら解消した。 $ play clean compile stage

多対多で自己再帰の関連を持つテーブルのEntity

多対多(Many To Many)で自己再帰的(self recursive)な関係をEbean の Model で表現するのに苦戦した。あまり良い例ではないけど、 person には似てる人(similarPerson)が複数いる、という設定で書いてみた。person と person の多対多を解消する中間テ…

Play2.2.x で Java8 の記法で書いたらコンパイルエラーになった

Play2.2.x で play new したプロジェクトを素のまま使っていて Java8 の記法で書いたらコンパイルエラーになった。2.2系は Java8 対応してないとのこと。SBT のバージョン上げたら動くようにはなったけど、問題がありそうなので正式対応した 2.3系を使おう。…

Excel帳票出力にJETTを試してみる

シフト表作成アプリ作る中で、Excel帳票を出力したくなったので軽くライブラリについて調べて見る。調べる前に、以前に使ったことあるやつPOI …以前に実務で帳票ガリガリ書いてたけど、かなりプリミティブで結構辛かった。なので生で使うのは本当に必要な時…

俳句調のツイートを検索して表示するWebアプリ作ってみた

俳句調のツイートを Twitter から検索して表示するWebアプリ作ってみた。http://haiku-matcher.herokuapp.com/https://github.com/ohbaryeテキストボックスに入力された値でツイートを取得して、その中から575調になっているものだけを表示する。入力値がユ…

設定ファイル(application.conf)から値を取得する

設定ファイル:application.conf に定義した値を取得する方法。意外と簡単で良かった。 とりあえず取得 key="value" まず conf ファイルに定義する。文字列にダブルクォーテーション付ける必要があるので注意。 Play.application() .configuration() .getStr…

controllers 内でサブパッケージを作成する場合の注意点

Play Framework 始めた。controllers 内にサブパッケージを作成して、その中のクラスおよびメソッドへのルーティングで一度失敗したのでメモ。 controller 直下のクラスにアクセスする まず基本のおさらい。 パッケージ名:controllersクラス名:MyClassメソ…

JDKコマンドを使う時は対象のVMとバージョンを合わせる

でないと VMVersionMismatchException という非常に明確なExceptionが飛ぶ。 $ jstack -F 5268Attaching to process ID 5268, please wait...Exception in thread "main" java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorI…

SAStrutsのActionではgetから始まるメソッド名を付けてはいけない

ActionクラスにgetHogeという名前のメソッドを追加したところ、変更箇所以外の挙動がおかしくなった。SAStrutsの落とし穴 - じゃばらの手記 -によると… SAStrutsはJSPをレンダリングするとき、ActionFormとActionのプロパティとpublicフィールドの値をMapに…

jpsコマンドでTomcatのプロセスが表示されない

jps ツールは、ターゲットシステム上で計測された HotSpot Java 仮想マシン (JVM) を一覧表示します。このツールで表示できるレポート情報は、アクセス権を持った JVM に関するものに限定されます。(jps - Java 仮想マシンプロセスステータスツール -)とい…

RequestProcessor 内で Action やMethod のインスタンスを取得する

Seasar2のS2RequestProcessorを拡張しての共通処理に挑戦中。 やりたいことは殆ど『Seasar2 徹底入門』の「6.5 認証処理を実装する」の通りだけども、自前の処理を書くと途端に戸惑う。特に、呼び出されるMethodやActionの取得方法がわからなくて困った。調…

アプリケーションの実行環境(ホスト名, IPなど)を取得する

java.net.InetAddressクラスを利用することでアプリケーションの実行されているマシン名を取得できる。import java.net.InetAddress;// ホスト名取得はこれだけSystem.out.println(InetAddress.getLocalHost().getHostName());他にもIPアドレスを取得したり…

POIで、読み込んだExcelファイルから図形を取得して値をセットする

Excelファイル(※2007以降の.xlsx形式)から目的の図形を取得し、値をセットする。今回はテキストボックスを取得してセットするサンプル。既に対象のWorkbookとSheetを取得している状態から。 // 図形描画の為のXSSFDrawingから図形のListを取得XSSFDrawing dr…

enum型にデータと振る舞いを持たせる

Effective Java第二版でJavaの勉強中。「項目 30 int定数の代わりに enum を使用する」にて紹介されている、"enum型にデータと振る舞いを持たせる"コードを真似して書いてみた。 // 面積の単位ごとのデータ、メソッドを定義private enum Unit {HEIBEI ("㎡")…

POIで、名前が定義されているセルに値をセットする

Excelファイル(※2007以降の.xlsx形式)から名前が定義されているセルを取得し、値をセットする。既に対象のWorkbookとSheetを取得している状態から。 XSSFName name = workbook.getName("cell's Name");CellReference ref = new CellReference(name.getRefers…

Apache POIで指定した範囲の中心に画像を貼り付けようとして挫折

下記の条件でExcelファイル(※2007以降の.xlsx形式)に画像を貼り付ける。(だいぶ限定的…)1.画像を貼り付けるセル範囲が指定されている。2.画像は指定された範囲内で、アスペクト比を保ったまま最大化する。3.範囲は任意だが、指定された範囲のセルはすべて…

Apache POI XSSFClientAnchor でoffset を指定して画像を貼り付ける

初POI。EXCEL(.xlsx)ファイルに画像を貼り付ける際の offset の指定に苦戦。画像の位置指定は XSSFClientAnchor クラスを用いて行う。設定方法は下記の2通りが可能。 1.create時に位置指定を行う。 XSSFClientAnchor anchor = XSSFDrawing.createAnchor( d…