Java

JVMのパフォーマンスチューニング

最近仕事でパフォマンスチューニングをやってるんだけど。意外とJVMのパラメータ変えるだけで性能があがったりするもんだね。そこで、JVMのオプションについていろいろ調べてみようかなと思って、下記URLの記事を参考にちょっと試してみた。 環境はUbuntu10.…

Java6 SDKからJavaScriptが普通に使えるらしい

前、わざわざRhinoをインストールしてVM上で動くJavaScriptを試してみたわけなんだけど(UbuntuでJavaScript(Rhino) - ありの日記)Java6 SDKにはそもそもjrunscriptって形でRhinoが入っていたらしい。なんと。 $ jrunscript -q Language ECMAScript 1.6 imple…

TestNGとJUnit4

TestNGはJUnit4と一緒でしょ、と思っていたけどそうではなかった話。 TestNGが出てきた当初はアノテーションとか使ってアドバンテージがあったように見えたけど、JUnit4が出てからはこれでTestNGいらなくなるんだなーと遠くから思ってた。が、最近TestNGを使…

GAE/Jでデータを暗号化して保存

データを暗号化して保存したかったので以下のサイトを参考に実装しました。 Java Tips:手軽に暗号化・復号化するには? - ITmedia エンタープライズ そして、ローカル環境でうまくいったのでクラウド上にデプロイしてみたら日本語が文字化けしてしまった。…

正規表現を使って変数っぽいのを抜き出す。

というわけで、正規表現中途半端な理解の中、変数ぽいのを抜き出さないといけない仕事があったのでやってみた。参考にしたのはここ。 hellohiro.com Javaの道:文字列(7.正規表現) まず、要件としてあがっている変数とはこんな奴 「$」で始まる 英数字の…

commons-emailで複数の添付ファイルをつけて送信する

commons-emailで添付ファイルをつけて送る方法はいっぱい出てきたんだけど、複数のファイルを添付したい場合ってのがなんか見つからなかった。でも、すげー簡単だから書くまでもないって感じなのかな。 添付ファイルありのメールを送る方法はここ(Java メー…

JavaでCSVを扱う

JavaでCSV出力するのに便利なのはないかなと調べていたらSuper CSVなるものを発見。http://supercsv.sourceforge.net/Stringの配列を渡したらそれをCSVにしてくれるっていうのはよくあるんだけど、これは、JavaBeansやMapを渡してCSVを書き出してくれるので…

JSPでもstatic importできる

JSPでstatic importするには以下のようにする。たとえばViewHelperというヘルパクラスのスタティックメソッドを使いたいとかって場合。 <%@page import="static com.example.ViewHelper.*"%> ViewHelperにHTMLをエスケープする「f」って関数を用意しておけば…

S2JUnit4ユニットテストをやってみた

id:idesakuさんの記事を見てS2JDBCでもS2JUnit4を使えることが分かったのでやってみた。 S2JDBC + S2JUnit4でハマる - idesaku blog そもそもS2JUnit4も使ったことが無かったので一から調べた。 以下のサイトが分かりやすい。 Seasar S2JUnit4 - @//メモ 以…

FileItem#getStringで文字コード指定しないと文字化けする。

今日はファイルアップロード機能を作ってた。Commons FileUploadを使って。 そして以下のようにファイル以外のパラメータ(input type="text"の内容とか)も飛んでくるのでその名前と値を取得していたんだけど。。 if (item.isFormField()) { String name = it…

テーブル定義書CSVからS2JDBC用のEntityクラスを生成する(自分メモ)

こんなテーブル定義(CSV)をもとにEntityクラスを作るとき。 論理項目名、物理項目名、データ型、サイズ、NOT NULL制約、主キー 今回ファイル名は「User.csv」とする "ユーザID","user_id","varchar","11","○","○" "名前","name","varchar","8","○","" "年齢"…

i-modeで簡単ログインを行う方法を調べてみた。

mixiやはてなの携帯サイトでやってる簡単ログインってやつを調べてみた。まだi-modeしか調べてないけど、どのキャリアも基本的に端末につけられた一意なIDを送るってことには違いはないと思う。 このIDを保存しておいて、次回ログイン時に同じIDだったら認証…

Eclipseしんだー。

JSP開こうとしたら死んだー。昨日までは開けてたような気がするのに。Subclipse入れたからそのせいかと思ってアンインストールしたけど、だめぽ。なんだこれー。むかーつくー。 これを気にうちのEclipseもGalileoにするかなー。でも、GAE/Jのプラグイン動か…

Slim3 for GAE/JでAjax

Slim3はまだ開発中みたいなので、Ajax対応がない(多分)。そもそも、Ajax対応って何よってことなんだけど、自分が必要なのはJSONをレスポンスで投げれるってことくらい。じゃ、JSPで勝手に書けばいいんだよね、きっと。 そこで、JavaのオブジェクトをJSONにす…

S2JDBC-GENでmigrateするとき各環境用のデータをロードさせたいんだけど・・。(解決済)

めちゃはまった。ソースまで追いかけちゃった。 S2JDBC-GENで各環境用のデータをダンプしておいてマイグレートしたいと思った。そうすると、スキーマの内容が変わってマイグレートしなおしたとき、ローカルで使ってたテストデータなんかを(だいたい)元に戻せ…

S2JDBC-GEN+Mavenの環境をセットアップする方法

先週末から悩んでいたDBのマイグレーションの問題にS2JDBC-GENで対応することにした。本当はエンティティクラスとかを自動生成してくるからアプリでもそれを使えればいいんだけど、今回は間に合わないので、S2JDBC-GENは、DBのマイグレーションツールとして…

Jiemamyに欲しい機能

昨日の日記のコメントを書いていたら長くなったので、記事にしちゃいました。 DBのバージョン管理、Javaの場合 - ありの日記> 都元さんへ申し訳ないなんてとんでもないです^^; 私が欲しいなと思った機能は、Railsのマイグレーション機能なんですね。ご存知…

DBのバージョン管理、Javaの場合

Railsを使ってるときは、Migrationツールが標準で備わっていたので、Javaに戻ってくるとどうやって同じような事をしようかなとかなり迷い中。以下の候補を考えてみた。 S2JDBC-Gen LiquiBase Jiemamy Rails 現在のプロジェクトではSeaserを使っているのでS2J…

Slim3 GAE/Jをつかってみた。

デモアプリと、空のプロジェクト(blankプロジェクト)をダウンロード。SVNで。 svn checkout http://slim3.googlecode.com/svn/trunk/ slim3-read-only チェックアウトすると以下のプロジェクトが含まれている。 slim3 slim3-blank slim3-demo slim3-gen slim…

Google App Engine for Java + Eclipse on Ubuntu 環境を整える

Eclipse Pluginをインストール http://dl.google.com/eclipse/plugin/3.4 これをインストールしたらGoogle App Engine for Java SDKもインストールされる、便利だねー Eclipseを使わない場合はここからダウンロード→ログイン - Google アカウント 1. Eclipse…

すぐできるTomcat5.5(6.0)インストール on RedHat系Linux

CentOS5.3 x86_64版にJDK6とTomcat5.5をインストールした時のメモ。 因みに、RedHat Enterprise Linux 4(32bit版)で、Tomcat6.0.18をインストールしたときにもこのメモの通りインストール出来た。読み替えてもらえばインストールできるはず。 Javaのインスト…

Seasar Conference 2009 Springがあるね

2009年6月13日(土)12:00〜17:45 Seasar Conference 2009 Springがあるみたい。 Seasar Conference 2009 Spring - トップページ 現時点ではセッションの内容は出てないけど、みんなで行きましょう〜。 ひがさんはBigtableの使い方を教えて…

Javaのパフォーマンスを監視する

GUIが使えるときは、JDK6 update 7から付属しているjvisualvmというツールを使ってJavaプログラムのパフォーマンス調査を行うことが出きるが、GUIが使えない環境にいるときは、jps, jstatコマンドを組み合わせて使って同様の結果を得ることが出来る。(これは…

JavaScript(Rhino)からJavaのクラスにアクセスする

以下のサイトを参照してやってみる。 Java のスクリプティング - Rhino | MDN RhinoからJavaのクラスにアクセスするのはすごく簡単。一番簡単に使う方法は以下の様に、パッケージ名まで含めたクラスを指定して使うだけ。 js> list = new java.util.ArrayList…

UbuntuでJavaScript(Rhino)

JDK6は既にインストール済み。一応インストール方法 $ sudo apt-get install sun-java6-jdkRhinoインストール $ sudo apt-get install rhino対話形式のシェルを起動 $ rhino Rhino 1.7 release 1 2008 11 26 js>ここから対話形式でJavaScriptを実行できる。 …

C#とJavaのクロージャ?

クロージャとは、、Wikipediaによると「引数以外の変数を実行時の環境ではなく、自身が定義された環境(静的スコープ)において解決する関数のことである。」そうである。 クロージャ - WikipediaC#でもクロージャっぽいことができるらしい。C#の場合デリゲ…

Google Android本

Google Androidの入門書的な本がでるらしい。初めてのGoogle Androidプログラミング サンプルで学ぶ必須作法と基本手順posted with amazlet at 09.02.11ジェローム・ディマジオ 日経BP社 売り上げランキング: 722Amazon.co.jp で詳細を見るiPhoneも捨てがた…

SAStrutsとS2JDBCは大規模案件にも使えるらしい

SAStrutsとS2JDBCを作ったわけ - yvsu pron. yas ひがやすを氏がブログでSAStrutsとS2JDBCは大規模案件にも使えるように設計していると言ってました。 SAStrutsとS2JDBCはぱっとみRailsみたいな感じなので、Rails見たいに小規模なシステムをちゃちゃっと作る…