読者です 読者をやめる 読者になる 読者になる

Struts1ユーザにGrailsをオススメする6の理由 - The search is over -

Struts1のEOLがアナウンスされました。 最後のリリースから長く時間が経過しており、実質開発は終了している状態でしたが、このタイミングでのアナウンスとなりました。 アナウンスの中では、次の乗り換え先として、Struts2・Spring Web MVC・Grails・Stripe…

Mountain Lionで~/.MacOSX/environment.plistがきかない

http://d.hatena.ne.jp/y_sumida/20120805/1344134360 をみてて~/.MacOSX/environment.plistでグローバルに設定できたよなと思いつつ、ローカルの環境を確認してみるとうまく動いていない...Mountain Lion以前までは以下の方法で回避していたのですが https:…

Spring 3.1がやってくる

先日 Spring 3.1 の RC1 が出ました。新機能は以下のとおり。http://static.springsource.org/spring/docs/3.1.0.RC1/spring-framework-reference/html/new-in-3.1.html3.1 GA release を11月末にリリース予定で、その間にRC2を出すとのことです。

Spring Data JPA で遊んでみる まとめ

いろいろ紹介してきましたが、全部以下に書いてあるので、ざっと目を通すといいかなぁと思います。http://static.springsource.org/spring-data/data-jpa/docs/current/reference/html/#repositories.custom-implementations色々触ってみた感想は、Spring で…

Spring Data JPA で遊んでみる 〜その11〜

ここまで紹介てきたクエリの発火方法で、恐らくほとんどのことができるんじゃないかと思います。ただ、どうしても自分で実装を持ちたくなるような時もあります。Spring Data JPA では定義したリポジトリのインタフェースに対し、独自の拡張クラスを作成する…

Spring Data JPA で遊んでみる 〜その9〜

昨日のSpecificationの続きでSpecificationを複数組み合わせて使う際に便利な、Specificationsというヘルパークラスが用意されている。 public class Specifications<T> implements Specification<T> { private final Specification<T> spec; private Specifications(</t></t></t>…

Spring Data JPA で遊んでみる 〜その10〜

Spring Data JPA では Querydsl なるものがサポートされています。 http://www.querydsl.com/色々機能があるみたいですが、カンタに言うとEntityクラスからAPTでメタ情報のクラスを生成して、そのクラスを利用してタイプセーフで流れるようにクエリが書ける…

Spring Data JPA で遊んでみる 〜その8〜

Specificationの話です。SpecificationはDDDのパターンの一つですが、JPA2から導入されたCriteriaを利用して、Spring Data JPAではSpecificationパターンみたいなことが出来ます。Specificationを使用するにはリポジトリの定義でJpaSpecificationExecutorを…

Spring Data JPA で遊んでみる 〜その6〜

次はメソッドの定義です。Spring Data JPA はメソッドからクエリを自動生成しますが、そのメソッド名には命名規則があります。まず戻り値はRepositryに指定している総称型のエンティティのListか、もしくは、そのエンティティにします。Listの場合はJPAのget…

Spring Data JPA で遊んでみる 〜その7〜

名前付きクエリの話。JPAはもともとこの名前付きクエリをサポートしています。エンティティにつけるアレです。 @Entity @NamedQuery(name = "Emp.findByUseNamedQuery", query = "select e from Emp e where e.id > ?1") public class Emp { // .. これをSpr…

Spring Data JPA で遊んでみる 〜その5〜

query-lookup-strategyについて。 Spring Data は リポジトリに定義されたメソッドから自動的にクエリを生成することができますが、その戦略です。設定は3つあります。 CREATE USE_DECLARED_QUERY CREATE_IF_NOT_FOUND CREATEはメソッドからクエリを生成しま…

Spring Data JPA で遊んでみる 〜その4〜

こんどは public interface PagingAndSortingRepository<T, ID extends Serializable> extends CrudRepository<T, ID> { // ... Page<T> findAll(Pageable pageable); } のPageableを使ってみる。なんとなく何するものかわかりますが、ぺーじゃーてきなあれです。Pageableの実装クラスは今のところP</t></t,></t,>…

Spring Data JPA で遊んでみる 〜その1〜

beta版の時に少し遊んだのですが、気がつけば 1.0.1.RELEASE なんてのが出ててたので改めて触って見ました。Spring Data は Springのアプリケーションで簡単にPersistanceの機能を作るためのアレで、Spring Data JPAはそのJPAバージョンです。この他にもNoSQ…

Spring Data JPA で遊んでみる 〜その3〜

その2の続きです。前回あった List<T> findAll(Sort sort); というSortという面白そうなのがあるので、使ってみます。基本は、Sortをnewして使うのですが、Orderクラスと絡ませたり、Stringでプロパティで食わせたりと、幾つかアプローチがあるので、掻い摘ん</t>…

Spring Data JPA で遊んでみる 〜その2〜

その1の続きです。その1で使った JpaRepositry のインタフェースですが、その継承関係は上の様になっています。JpaRepositryだけがSpring Data Jpaのパッケージにきられており、その他は Spring Data Commons Core という Spring Data で共通のパッケージと…

Nettyのアーキテクチャあたりの訳

前回の続き。ほとんどグーグル先生頼り。元ネタ: http://docs.jboss.org/netty/3.2/guide/html_single/index.html#architecture

Nettyのやろうとしていること

ドキュメントのあたまを少しだけ訳してみた。 ほとんどグーグル先生頼り。元ネタ: http://docs.jboss.org/netty/3.2/guide/html_single/index.html#preface The Problem 今日では、相互に通信するために汎用的なアプリケーションやライブラリを使用します。…

SpringのMavenリポジトリをブラウザから操作する方法

SpringのMavenリポジトリはhttp://maven.springframework.orgなのですが、S3を使っているらしくブラウザからはぽちぽちと操作出来ません。そんなこんなで以下からアクセスすると見れるようになります。 http://s3browse.springsource.com/browse/maven.sprin…

Java SE 7 リリース記念特別イベントの懇親会でLTしてきました

あまり誰も喋らないだろうなぁというところを探してネタにしてみました。 相変わらず外でしゃべることには慣れておらず、途中で何か桜庭さんに突っ込まれた気がするのですが(Throwable#addSuppressedあたり?)、緊張のあまり記憶がありません...とありあえず…

はじめてのIntellij IDEA - Complete statemen

[command+shift+return]で最後に;が入るになる。何か選択状態で [command+shift+return]おす 記述中に [command+shift+return]おす eclipseだと自動的に;が入力された最後に入れる設定ができるけど、Intellij IDEAではないのかな?

はじめてのIntellij IDEA - quick-fixes

[alt+return]。eclipseと違って、警告とか、エラーのあるところでしか使えないっぽい。存在しないクラス書いて[alt+return]したときはこんなん。

はじめてのIntellij IDEA - Instant Completion

基本は[ctrl+space]みたい。ただし、それ以外にもいくつかctrl+spaceのバリエーションがある。 http://blog.livedoor.jp/beyondseeker/archives/50968636.html Basic (Ctrl + Space) Smart Type (Ctrl + Shift + Space) Class Name (Ctrl + Alt + Space) Wor…

はじめてのIntellij IDEA - ProjectとModule

じぶんはeclipse使いなのですが、はじめにはまったのがeclipseに当たるworkspace的な何かはないのか?というところ。どうやら名前が違うようだ。 http://www.jetbrains.com/idea/documentation/migration_faq.html Eclipse IDEA Workspace Project Project M…

はじめてのIntellij - Java7

はじめはEclipseでやろうと思ってましたが、Java7に対応のJDTにうまく入れ替えられなく挫折したのでIntellijで試してみることに。http://www.jetbrains.com/idea/ からCommunity Editionの10.5をダウンロードしてインストール。起動してみる。 [Create New P…

MacでJava7を試す。

ちゃんと正式なリリースがあったら然るべきところから提供されると思いますが、とりあえず今試したくなったのでやってみた。http://code.google.com/p/openjdk-osx-build/からOpenJDK-OSX-1.7-universal-xxxx.dmgの方をダウンロード。インストール。 /Librar…

はじめてのIntellij IDEA - アンインストール

とつぜん一度、最初からやり直したい衝動に駆られたので消す。/Applicationsからアプリを削除。あと色々けす。 $ rm -rf ~/Library/Preferences/IntelliJIdea10CE $ rm -rf ~/Library/Preferences/com.jetbrains.intellij.ce.plist $ rm -rf ~/Library/Appli…

はじめてのIntellij IDEA - プラグインのインストール

Settings[command+,]のpluginsから入れられる。 最初からいくつか標準的なものは入っている。 Vimないと生きてけないので。 eclipseのmousefeedみたいな奴らしい。ショートカット要請ギブス的な意味で初めはいれてみる。 最後に再起動を求められる。 再起動…

H2のログを出す

URLをこんな感じにします。以下はインメモリで起動したときでの例。 jdbc\:h2\:mem\:test;DB_CLOSE_DELAY\=-1;TRACE_LEVEL_FILE\=4O/Rマップとか使用していると、どうしても実際に発行されているSQLがみたくなります。Hibernate側でもSQLを出力したり出来ま…

Eclipse WTP Tomcat hot deploy

元ネタ http://ducquoc.wordpress.com/2010/11/06/eclipse-wtp-tomcat-hot-deploy/EclipseでWebプロジェクトを作るときはWTPを使っています。tomcatプラグインなんてのもありますが、mavenでのライブラリ管理と相性がイマイチなので最近はもっぱらWTPです。…

JSR 303 Bean Validationで遊んでみるよ!

その名のとおりJavaBeansの為のValidationの仕様であるJSR303ですが、近頃でもないですがHibernateはもちろん、その他SpringやOvalなどの周辺フレームワークの対応が進んでずいぶん使いやすくなってきました。ところでアプリケーション作っててValidationの…

Spring Roo in Action

MEAP (Manning Early Access Program)ですが買えるみたいなので買ってみました。 http://www.manning.com/dickens/目次を見るとあまり目新しい所はないような気がしますが、1章だけ読んでいても知らないことがいくつかあったので、時間がかかりそうですが自…

SpringSourceはRooに本気だ

最近Rooに首ったけのyamkazuです。STS(SpringSource Tool Suite)を使用すると新規プロジェクト作成でSpring Template ProjectというSpringの雛形からプロジェクトが作成できるのですが、Spring MVC Projectを作ったところ、mavenのpom.xmlに... <dependency> <groupId>org.spring</groupid></dependency>…

H2をインメモリで動かすときの注意

H2をインメモリで動かすときは jdbc:h2:mem:test みたいな感じでmemを付けて開いてあげます。ただこのまま起動すると、ちょっと注意が必要でconnectionをcloseするとその時点でDBが消滅します。これ知らないと最初のcreate tableは成功しているのに、あとか…

Webアプリの起動時にH2を起動してデータも突っ込む

Webアプリの起動時にH2を自動で起動したいなーって時、DbStarterというのがH2から提供されています。 http://www.h2database.com/html/tutorial.html#web_applicationsただデータの初期化まではやってくれないので、ちょっと拡張してみた。 public class MyD…

FindbugsをEclipseとMavenで実行する

Findbugsはみなさんご存知の通り、クラスやJARファイルを解析して潜在的な問題を探し出してくれる静的解析ツールです。今のプロジェクトではこのFindbugsを2つのタイミングで実施しています。 EclipseにFindbugs Pluginをインストールし、ビルドと同時にFind…

コンテンツ・アシストの後の選択をctrl+p、ctrl+nにしたらうんこ便利になった

Eclipseを使用しているとコンテンツ・アシスト(ctrl+space)を多用します。 複数選択項目がある場合は上記のようにリストが表示される訳ですが、ここでarrow keyの↑↓を使って選択するといまいち使い勝手が悪い。ってことでctrl+p、ctrl+nで選択する方法。 Ecl…

oroの正規表現が試せるデモページ

http://jakarta.apache.org/oro/demo.htmlそのまんまなんですが、Jmeterとかでシナリオ作っているときに正規表現抽出に書く前にちょろっと試しながら使うと非常に便利ですよ。

ToStringBuilerを使って簡単にBeanの中身を表示

偶数月はWEB+DBの月ということで、WEB+DB PRESS Vol.52を買ってきました。 WEB+DB PRESS Vol.52作者: 矢野勉,庄司嘉織,ミック,鶴岡直也,伊藤直也,森田創,高林哲,小飼弾,羽生章洋,角田直行,はまちや2,kana,斉藤太郎,瀧内元気,青木靖,長野雅広,武者晶紀,川口耕…

eclipseでunitテストを書く前に最低限やっておくこと

メモでつ。eclipseはGanymedeです。 1. quick-junitを入れる http://quick-junit.sourceforge.jp/ テスティングペアを開く: Ctrl + 9 JUnit テスト:Ctrl + 0 で操作できる。 2. static importの展開をやめる 参考:http://d.hatena.ne.jp/Yamashiro0217/20090…

Jiemamy v0.2.0リリース

Jiemamy v0.2.0がリリースされました! http://d.hatena.ne.jp/daisuke-m/20090506/1241621056Jiemamyを一言で説明すると、Eclipse上でER図書けば、ddlの生成やら、mavenと連携してDDLの生成、DBの構築をアジャイルに行ってくれる凄いありがたいツールでつ。…

winstone-maven-pluginが便利な件

executable.warについて調べてたらwinstone-maven-pluginなるものを発見しました。 これを使うとxxx-standalone.jarのファイルを作ってくれる。こいつを配布すればアプリケーションサーバ(winstone)内蔵のアプリが簡単に配布できます。使い方が非常に簡単でp…

SeasarCon 2009 Whiteにいってきました。

SeasarCon 2009 Whiteに行ってきました。今回が2回目の参加でした。毎度勉強になりますね。 Wicketとシステム開発の現場 id:t_yanoによるWicketのセッション。ドワンゴでやっている実践的な話が聞けたのが非常に参考になりました。特に役割分担の所の「コン…

今月の予定

3/6 第2回 Wicket勉強会 3/14 Seasar Conference 209 White に参加します!よろしくねがしまーす!

Hudsonの影舞プラグイン

弊社ではBTSに影舞を使用しているのでHudsonの利用促進の意味も込めてつくってみました。影舞自体が非常にシンプルなBTSなので、プラグインも必要最低限のものを作ってみました。 システム設定で影舞の登録 プロジェクトの設定で影舞のプロジェクト設定 設定…

Enum定数のアノテーション

Enumの定数に書かれたアノテーションを取得しようとして、少しハマったのでメモ。 適当なアノテーション。 @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD) public @interface RGB { } ここでBlueに設定されたアノーテーションを取得したい…

今月の2時間で学ぶ Java Hot Topic (7月号)に行ってきました

はじめて行きました。最近会社でHudsonを使い始めたてて、今回はid:cactusman先生のHudsonの話が聞けるということで参加してみました。 資料はこちらで公開されています。全然知らなかったのですが、Hudson-1.222(?)から公式プラグインをHudsonの管理画面か…

Seasar2のうまれ故郷「沖縄」へいってきた。

最近、忙しくてまったくBlogを更新していませんでしたが...沖縄旅行にいってきました。そこでとったSeasar2に所縁のありそうな写真を公開。 Seasar2。そのまんまですね。 id:daisuke-mが手が回らなくなって忘れられているDolteng。田芋天(どぅるてん)とい…

amazonのEC2とS3でちょっとだけ遊んでみた

とくに書くこともないんだけれども。 最近RESTとかお勉強してたり、なにかとクラウドとかが話題なのでamazon EC2とS3を触ってみました。ここの通りやったら出来た。 http://gihyo.jp/dev/serial/01/amazon_ec2普通に簡単にやったら出来ました。って作ったは…

Springちゃんと別れました

彼女は、みんなの憧れの存在でちやほやされてて自慢の彼女だったんだけれども、どうもお互いを理解しあえなくて別れちゃいました。がんばってお互いに向き合ってみたんだけど、根本的な価値観があわないみたいです。どうしても彼女のXMLが理解できないんだ!…

q4eインストール

eclipseの更新マネージャからのインストールします。 [ヘルプ]→[ソフトウエア更新]→[検索およびインストール] [インストール/更新]→[インストールする新規フィーチャーを選択する]→[次へ] [新規リモートサイト]を選択して、以下を入力して[終了] 名前: q4e U…