Java

ディレクトリを走査してファイルの絶対パスと相対パスを出力する

指定したディレクトリ内にあるファイルの絶対パスと相対パスを取得する。 package practice; import java.io.File; import java.io.IOException; public class GetFilePathList { public static void main(String args[]) throws IOException { //String pre…

Memcache のサンプル利用例

利用する箇所は、Controller でも Service でもよい。 下記は Controller での利用した場合のサンプル。 import org.slim3.memcache.Memcache; public class MyAppController extends Controller { private MyAppService service = new MyAppService(); priv…

Slim3 の Timezone の取り扱いについて

Slim3 のタイムゾーンの挙動が複雑なことに気が付いた。 FrontController では、タイムゾーンは UTC に設定されている。 TestCase から FrontController で設定されているタイムゾーンはローカル時間。この場合、自分は日本時間に設定しているので、JST で設…

正規表現でマッチした文字列を取得する

備忘録。 import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexSample { public void main(String[] args) { String date = "20110101"; Pattern pattern = Pattern.compile("^(\\d{4})(\\d{2})(\\d{2})$"); Matcher matche…

Slim3 で JSON を利用する

参考 Slim3 JSON 機能の説明(非公式) GAE + Slim3 で JSON 出力 Model での記述例。 基本的には JSON を利用するのに既存の Model をそのまま使える。 しかし、JSON アノテーションで Model が保持するエンティティ内のプロパティを操作したい場合は、下記の…

任意の日のタイムスタンプの範囲を取得する

結局使わなかったけれど。 日付のパースには Apache のライブラリを利用。 import java.util.Date; import org.apache.commons.lang.time.DateUtils; public class MySample { private Date _startDatetime; private Date _endDatetime; private void setTim…

Slim3 の application_ja.properties に日本語を書くために UTF-16 LE を16進数で表現する

Slim3 の application_ja.properties にマルチバイトを記述するには、文字列を UTF-16LE に変換して16進数でダンプする必要があることに気が付いた。 この方法を Java でやる方法がわからなかったので、Perl で書いてみた。 #!/usr/bin/perl use strict; use…

Slim3 の BeanUtil で特定の値を処理対象外にしたい場合

例えば、渡された値が一意でその値を Key として利用したい場合や、タイムスタンプを Java で利用できるミリ秒単位に変換したい場合などで、BeanUtil で処理をする前に一度別の処理を行いたいときに使う。 public class ItemService { private ItemMeta a = …

Slim3 をローカルで起動するとエラーが発生する

エラー内容は下記の通り。 2011/06/21 3:03:50 com.google.apphosting.utils.jetty.JettyLogger info 情報: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger 2011/06/21 3:03:50 com.google.apphosting.utils.config.AppEn…

Slim3 で Text 型で保存したい文字列を取り扱う場合

先日、 Slim3 JSP で f:h Text#getValue() は使えない というエントリを書いたが、親切に現在の Slim3 で Text 型を扱う場合の方法を教えてもらうことができた。 Slim3 で Text 型を扱う際に何が問題だったのか Text 型で保存した文字列を View 側で表示させ…

Slim3 JSP で f:h Text#getValue() は使えない

Text型で保存されたデータをいつ String 型に変換するかを悩み、他の人はどうしているのか調べてみたところ、 higayasuo 2009/06/28 10:06 後、r297でf:hでもText#getValue()を呼び出すように修正しました。 http://d.hatena.ne.jp/suzune64/20090627/124611…

文字型の日付をタイムスタンプに変換する

SimpleDateFormat ではなく、Apache Commons の lang ライブラリを使う。 import java.sql.Timestamp; import java.text.ParseException; import org.apache.commons.lang.time.DateUtils; public class StringDatetimeToTimestamp { public static void mai…

Slim 3 で時間帯を設定する

web.xml の web-app 要素に下記の子要素を追加する。 <context-param> <param-name>javax.servlet.jsp.jstl.fmt.timeZone</param-name> <param-value>Asia/Tokyo</param-value> </context-param>

Slim 3 で日付の書式を整える

(略) import java.util.Date; import org.slim3.util.DateUtil; (略) public void run(String args[]) { Date today = new Date(); // 日付の書式は SimpleDateFormat を参照 String datePattern = "yyyy-MM-dd"; System.out.println(DateUtil.toString(toda…

Apache Commons の lang ライブラリを使って日付の出力を試す

Apache Commons lang ダウンロード サンプルとして使っているクラスは下記のもの。 org.apache.commons.lang.time.DateUtils org.apache.commons.lang.time.DateFormatUtils DateUtils の parseDate の引数で指定する日付書式は、 java.text.SimpleDateForma…

Mac OS X 版 Eclipse に Mercurial のプラグインをインストールする

Eclipse の Mercurial 用プラグインは下記のサイトでダウンロードできる。 Welcome to MercurialEclipse インストール手順 インストール方法は、他のプラグインと同様に、 ヘルプ 新規ソフトウェアのインストール… プラグインの URL http://cbes.javaforge.c…

assertThat と assertEquals

// b と a の保持するデータが一致するかチェック assertEquals(a, b); // a が b と同じインスタンスかチェック assertThat(b, is(a)); 参考 JunitのAssertion.assertEqualsとassertThat(equalTo)で結果が違う

Slim3 で「Could not initialize class org.slim3.datastore.Datastore」が発生する

このサンプルチュートリアルを作成中に、index.jsp にアクセスをすると下記のエラーが発生する。 http://www.seattleconsulting.co.jp/gae/slim3_dev_for_beginner_07.html HTTP ERROR 500 Problem accessing /bbs/. Reason: Could not initialize class org…

Long 型の宣言について

// long の宣言は L を後ろにつける // L を付けない場合、int として扱われる Long counter = 0L;

Slim3 の HOT reloading とは

HOT reloading は、サーバーを再起動しなくても Java クラスの変更が反映される仕組みで、開発環境で利用できる便利な機能です。但し、全てのクラスが HOT reloading に対応しているわけではなく、基本的には上記パッケージに属するクラスが対象となります。…

MacPorts で Tomcat 6 をインストールする

インストールする前に Mac OS X 10.6.3 Java 1.6.0_17 で実行している。 % java -version java version "1.6.0_17" Java(TM) SE Runtime Environment (build 1.6.0_17-b04-248-10M3025) Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01-101, mixed mode)…

Java で日付の挙動を確認する

サンプルコード import java.util.*; import java.text.*; import java.util.regex.*; public class DateSample { public static void main(String[] args) throws ParseException { // Calendar クラスは new をしてインスタンスは得られない Calendar cal …

ビジュアライジング・データ- Processingによる情報視覚化手法

P.35 に記載されているサンプルコードを動作させると、「cannot find a class or type named "Table"」と表示される。 PImage mapImage; Table locationTable; int rowCount; 原因をさんざん調べた結果、結局は P.34 に記述されているように、 http://benfry…

Gentoo に Java をインストールする

参考 Gentoo Java ガイド インストールできる Java の種類 Blackdown Java Kit である blackdown-jre と blackdown-jdk SunのJava Kit である sun-jre-bin と sun-jdk IBM Java Kit である ibm-jre-bin と ibm-jdk-bin Alpha/Linux/GNU 用の Compaq Java Kit…

FreeBSD 7.0 に Java の JDK をインストールする

5種類もある JDK 通常は Diablo JDK を利用する。 FreeBSD 公式のバイナリパッケージ Diablo JDK ソースコードからコンパイルする FreeBSD 公式の JDK (開発版としての位置づけ) Sun Microsystems 社の Linux 向けバイナリを Linux バイナリ互換機能で動作さ…

Java の正規表現クラスの仕様

必ずマッチするはずなのに 正規表現のパターンは /\.txt$/ で、マッチさせる文字列は testfile.txt とした場合、必ずマッチするはずだ。 しかし、正規表現の結果は条件分岐で false (マッチしていない) と判定されることに、かなりイライラした。 メソッドの…

*警告:[unchecked] raw 型 java.util.ArrayList のメンバとしての add(E) への無検査呼び出しです

DeleteStockData.java:81: 警告:[unchecked] raw 型 java.util.ArrayList のメンバとしての add(E) への無検査呼び出しです。 errorMessages.add("指定されたディレクトリが存在しません。存在するディレクトリを指定してください。"); DeleteStockData.java…

Java をインストールする

必要なパッケージ jpackage-utils JDK (今回は JDK 6 Update 6 の Linux RPM in self-extracting file) jpackagehttp://mirrors.dotsrc.org/jpackage/1.7/generic/non-free/RPMS/java-1.6.0-sun-compat-1.6.0.06-1jpp.i586.rpm jpackage とは Sun が提供する…