Spring Data JPA で遊んでみる 〜その2〜
その1の続きです。
その1で使った JpaRepositry のインタフェースですが、その継承関係は上の様になっています。JpaRepositryだけがSpring Data Jpaのパッケージにきられており、その他は Spring Data Commons Core という Spring Data で共通のパッケージとして定義されています。
基本的なCRUD系のメソッドと、Sort、Pageableといった、面白そうな引数をとるようなメソッドもあります。
追記:
JpaRepositryを使用してRepositoryを定義するかどうかはどうなんだろう。Spring Data Commons Coreだけを使用して、定義すれば簡単にバックエンドを切り替えられるのかな?Entityの定義とかは結局JPAを意識してしまっとるし、なかなか難しい判断の所。
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
今日では、相互に通信するために汎用的なアプリケーションやライブラリを使用します。例えば、Webサーバから情報を取得するためにHTTPクライアントライブラリを使用して、Webサービスに対してリモートプロシージャコールを実施するといったものです。
しかし、汎用のプロトコルやその実装は、時にはうまくスケールしません。巨大なファイル、電子メール、または金融情報やマルチプレーヤーゲームのデータなど、ほぼリアルタイムでメッセージを交換するために、汎用的なHTTPサーバーを使用しない理由はそこです。何が必要なのでしょうか?それは、特別な目的のために高度に最適化されたプロトコルの実装です。例えば、AJAXベースのチャットアプリケーション、メディアストリーミング、または大規模なファイル転送に最適化されているHTTPサーバを実装することもできます。あなたもニーズに合わせて全く新しいプロトコルを設計し、実装することだってできるのです。
別のケースでは、古いシステムとの相互運用性を確保するため、従来の独自プロトコルを扱う必要がある場合です。このようなケースでは、アプリケーションの安定性とパフォーマンスを損なうことなく、迅速にそのプロトコルを実装する方法が必要になります。
The Solution
Netty Projectは、非同期イベント駆動型のネットワークアプリケーションフレームワーク、そして保守性、高性能、高スケーラビリティのプロトコルサーバーとクライアントを迅速に開発するためのツールを提供します。
別の言葉を使うと、Nettyはプロトコルサーバーやクライアントといったネットワークアプリケーションを、迅速かつ容易に開発可能にするNIOのクライアント/サーバフレームワークです。これはNIOを大幅に簡素化し、TCPやUDPソケットサーバの開発といったネットワークプログラミングを容易にしています。
'素早く簡単に'ということで、アプリケーションの保守性やパフォーマンスの問題に悩むこと意味しているわけではありません。Nettyは、FTP、SMTP、HTTP、および様々なバイナリ、テキストベースのレガシープロトコルなど、多くのプロトコル実装から得た経験から慎重に設計されています。その結果、Nettyは妥協することなく、開発効率、パフォーマンス、安定性、および柔軟性を実現する方法を見つけることに成功しました。
一部のユーザーは既に同様の効果を持つ他のネットワークアプリケーションフレームワークを知っているかもしれません。そのようなユーザは、Nettyがそれらと何が違うのか?が気になるでしょう。答えは、それがどのような思想をもとに構築されているかです。Nettyは使い始めたその日から、APIとその実装の両面から最も快適な経験を与えるように設計されています。それは具体的なものではありませんが、この哲学は、このガイドを読み、実際にNettyを触ってみることで、あなたの人生がより快適になることを認識するでしょう。
SpringのMavenリポジトリをブラウザから操作する方法
SpringのMavenリポジトリはhttp://maven.springframework.orgなのですが、S3を使っているらしくブラウザからはぽちぽちと操作出来ません。
そんなこんなで以下からアクセスすると見れるようになります。
http://s3browse.springsource.com/browse/maven.springframework.org/
Java SE 7 リリース記念特別イベントの懇親会でLTしてきました
あまり誰も喋らないだろうなぁというところを探してネタにしてみました。
相変わらず外でしゃべることには慣れておらず、途中で何か桜庭さんに突っ込まれた気がするのですが(Throwable#addSuppressedあたり?)、緊張のあまり記憶がありません...
とありあえず資料公開しときます!
寺田さんをはじめ、みなさまおつかれさまでした!
はじめてのIntellij IDEA - Complete statemen
[command+shift+return]で最後に;が入るになる。
何か選択状態で
[command+shift+return]おす
eclipseだと自動的に;が入力された最後に入れる設定ができるけど、Intellij IDEAではないのかな?
はじめてのIntellij IDEA - quick-fixes
[alt+return]。eclipseと違って、警告とか、エラーのあるところでしか使えないっぽい。