2007-01-01から1年間の記事一覧

テーブルの外部キー制約確認方法(MySQL4.1)

DB

需要があるのかどうか不明ですが、ひとまず必要にかられてやってみたので書いときます。 使うシチュエーション レコード削除したいんだけどdeleteすると ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constraint failsと出てで…

Chris Andersonの"FREE"講演動画

ロングテールの提唱者として有名なChris Anderson氏が、次なる著作"FREE"のプレビューとして講演した動画を見ました。(via Guy Kawasaki氏のブログ) http://www.netvision.de/uk/dispatching/?event_id=5bb1b5e95afabb2e62d2b148ded47706&portal_id=369401…

ITProにブログ書きました

「自分の設計にガックリ」,システムを運用して痛感 このタイトルは会社的に大丈夫なんだろうかという気はしつつ、まあ少しでも届いて欲しい人に届き易くなるのであれば良いかなと。あと写真が何故か横長にw関係ありませんが、趣味でAndroidをいじり始めまし…

DBマガジン8月号に寄稿しました

先週末に発売された、DBマガジン8月号の特集1『Ajaxによる最新型DBアプリ開発』の第2章『AjaxとサーバサイドJavaをDWRでシームレスに連携させる』を寄稿しました。 第2章はDWR2.0の紹介からサンプルアプリ作成(簡易タスク管理)、どさくさに紛れてGuiceにつ…

コミッタによるGuiceプレゼン動画・中級編

GuiceコミッタのKevin Bourrillion氏による第2回。今回は中級編という事で、より実践的な内容になっています。 具体的にはInjectorやScopeの使い方や微妙な仕様(バグ)に関する突っ込んだ話、テスト方法、今後のバージョンアップについてなどです。 動画ペ…

Twitter的マルチインタフェースサービスと、実装基盤としてのESB

追記:長くなったので一言で言うと、以下は「Twitterみたいなの作るならESB見とくと良いかも」という話です。 マルチインタフェースサービス Twitterが本格的に流行るかどうかは分かりませんが、Twitter的なサービス――Webサイトだけではなく携帯電話やインス…

Spring JavaConfigのM2が出ました

「4月5月に作業するよ」って言って、本当に5月上旬に出てくるのは偉いですね。 リリースのアナウンス ダウンロード バージョンアップ内容 新しいアノテーションの追加 scoped beansのサポート*1 エンハンスの改善 Petclinicサンプルの追加 追加されたアノテ…

SpringFrameworkで命名規約ベースの設定を実現するArid POJOs

記事のタイトルみたいですが、1行で言えばそういう事です。今まで(Springに)無かったのが不思議なくらいですね。 作者はPOJOs IN ACTIONの著者Chris Richardson氏。 では、早速使ってみます。 基本サンプル まず下記サイトからダウンロード。 Arid POJOsの…

Guiceコミッタによるプレゼン動画と資料

GuiceコミッタであるKevin Bourrillion氏とBob Lee氏によるプレゼン動画とその資料が公開されました。 Java on Guice: Dependency Injection Java Way プレゼン資料(PDF) ↓動画を貼り付けてみました。 http://video.google.com/videoplay?docid=606844741087…

Pythonのスペル修正プログラムをJavaに移植してみました

オレンジニュースで紹介されていた、GoogleのPeter Norvig氏による"スペル修正プログラムはどう書くか"(原文)を読んで、ちょっと試してみたかったので深く考えずにJavaに移植しました。Pythonの文法を全く知らなかったのですが、元々とても短い上にコード…

Spring Java Configuration(2)

1回目に続き、Spring Java Configurationを試してみたいと思います。今回はAOP。ちなみに付属のドキュメントにはAOPの説明が無かったので(さすがM1リリース)、テストケースを参考に試してみます。 Spring Java ConfigurationでのAOP定義 injectするService…

Bob Lee氏

今知ったのですが、Guice作ってるBob Leeさんはdynaopの作者だったんですね。Bitter EJBの著者の一人というのは知っていたのですが、こちらは知りませんでした。昔、当時在籍していた会社の勉強会でSwingのフレームワークを作ろうとしていて(参加者数人の構…

Spring2.0.4でパフォーマンスが大幅向上

SpringFrameworkのBeanのインスタンス取得が最大12倍速くなったそうです。 2.0.4リリースアナウンスより引用 Regarding the performance improvements, repeated creation of Spring bean instances is up to 12 times faster in this release than previous…

ベンチマークを更新しました

SpringFramework 2.0.4で、ちょうどベンチマークに関係する部分のパフォーマンスチューニングを行ったとの事なので(詳しくは次のエントリ参照)、再度ベンチマークを行いました。Seasar2も最新版に入れ替えた上で、セットアップ処理コードを一部変更してい…

Spring勉強会での発表資料を公開しました

先日行われたJapan Springframework User Groupの勉強会でGuiceについてライトニングトークした資料を公開しました(アップロードありがとうございます>岩永さん)。 ブログを読まれている方には新しい情報は無いと思いますが、よろしければどうぞ。 発表資…

ブレースとdo/endの結合度

ここ1,2週間くらいちょっとRubyを触りだしているのですが、一昨日勉強会で知った事があります。 p [1,2,3].map { |v| v + 1 } p [1,2,3].map do |v| v + 1 end これまでブレースとdo/endは常に置き換え可能なものなのかと思っていたのですが、上記を実行する…

第2回勉強会に参加してきました

昨日はJSUG第2回勉強会に参加してきました。 スピーカである豆蔵の麻野さん、ATL Systemsの船戸さん、arclampのゆーすけさん、ありがとうございました&お疲れ様でした。 私もid:zuisenerさんに続いて、ライトニングトークでGuiceについてちょっと喋らせても…

Spring Java Configuration(1)

Guiceと Springframeworkの最大の違いはDIやAOPの設定をJavaコードで書くかXMLで書くかですが、実は(?)SpringでもJava コードによる設定の記述手段が用意されています*1。今回はその"Spring Java Configuration"を簡単に見てみます。なお、まだマイルストー…

20070411

(その14)トランザクション管理

AOP用途の73%を占めるトランザクション管理*1。これが分かればとりあえずGuiceを使ってみようという人が増えるかもしれないので、ちょっと試してみます。 トランザクション機能は他ライブラリを使う Guiceはトランザクションに関する機能を一切持っていませ…

JSUG第2回勉強会でライトニングトークします

JSUG勉強会 第2回「Spring、RDBと出逢う」で、Guiceについてライトニングトークする事になりました。SpringとGuiceを組み合わせる内容がメインになると思います。 勉強会のテーマであるRDBとの連携は、まさに仕事の中心なのでとても楽しみです。懇親会も楽し…

(その13) Springframeworkとの統合(2) Spring管理のBeanをGuiceに個別登録

Springとの統合手段2つ目、SpringIntegration#fromSpringメソッドについてです。 fromSpring()メソッドのインタフェースは以下のようになっています。 /** Creates a provider which looks up objects from Spring using the given name. */ public static <T> </t>…

MLとissueが結構楽しいです

Guiceの開発者MLでは活発なやり取りが続いていて、どんどん新しい提案が生まれていたり、ポリシーが語られていたりしています。既に次のバージョン(1.1)のラベルもあるので、気になる方はこちら。実現するかどうかは分かりませんが、Seasar2のHOT deployと…

(その12) Providerについて

Spring統合の2回目の予定でしたが、前提としてProviderを理解していると良さそうだったので(というか、理解していないとAPIがよく分からなかったので)、予定を変更してProviderを見てみます。 Providerインタフェースは、Keyクラスと共にGuiceのDIの核とな…

(その11) Springframeworkとの統合(1) Spring管理のBeanをGuiceに一括登録

GuiceはSpringと統合する為のクラスを用意しています。その名もずばりSpringIntegration。統合と言っても様々な形態が考えられると思いますが、現時点でGuiceが用意しているのは、Springのコンテナで管理されているBeanをGuiceから取得/injectできるようにす…

パフォーマンス計測コード公開

下記のWikiに公開しました。ソースの直接貼り付けは書き方が分からなかったので、添付ファイルになっています。 修正、追加、ブラッシュアップなど大歓迎です。 http://www.wikihouse.com/arumani/index.php?Guice%2C%20Sring%2C%20S2%20%A5%D1%A5%D5%A5%A9%…

(その10) 同じ型で異なる実装クラスをinjectしたい場合

いくつか手段があります。 アノテーションそのもので区別。 ex ) @JasracService / @ElicenseService アノテーションで指定する文字列で区別。 ex) @Named("JASRAC") / @Named("eLicense") 以下、それぞれ見ています。 アノテーションそのもので区別 どの実…

(その9)AOP含めたパフォーマンス比較を再度

ちょっと数字を出す事の責任を感じてます…。 前置きさせて下さい。 ベースとなっているGuice付属のソースのJavaDocコメントには、以下の文で始まっています。"A semi-useless microbenchmark." 誤解を恐れつつ言えば、このマイクロベンチマークは「大豆100粒…

(その8) Seasar2をAOPパフォーマンス比較対象に追加

id:koichikさんに「S2も比較に追加して」というコメントを頂いたので、言われた通りの方法で追加して試しました。Seasar2のテストコードはま!さんのSeasar2用コードにkoichikさんの記述を追加しただけのものです。Seasar2は触った事がないのでシングルトンか…

訂正:AOPパフォーマンス比較

すみません、以前のSpringとGuiceのAOPパフォーマンス比較ですが、テストコードに間違いがありまして、条件が同じになってませんでした。 Guiceは毎回エンハンスしたインスタンスを作っていた一方、Springは1つのProxyを使い回していたという…。数字を見て何…