タグ

ブックマーク / blog.j5ik2o.me (5)

  • S2AsbtractServiceの使い方について - かとじゅんの技術日誌

    以下について誤解のないように書いておきます。 シンプルな問い合わせは、メソッドにしない。 Serviceクラス使ってる意味なくね? aaSerivce.selectById(aaId); というように、ID指定で取得するような問い合わせは、 selectById()メソッドを作らず、 aaService.select().id(aaId).getSingleResult(); って書くんだと。なんでも、メンテナンスコストが下がるとかで。 逆だろ、上がるだろこれ。 これすごくわかります。私も結構悩みました。来は個人事業主さんのいう姿がよいと思います。 が、ここから題。 私も最初のころはselectByIdをAbstractServiceにつくっていました。selectByIdって便利ですね、でもFKで関連しているテーブルもJOINしたいのですができないみたいなんですが、、、何かよいメソッ

    S2AsbtractServiceの使い方について - かとじゅんの技術日誌
  • SMART deployに対応させてみる - かとじゅんの技術日誌

    DIの実用例を考えていたのですが,よいものが思いつかないので少し違う視点で書きなぐりますw ダイちゃんの以下のエントリにコンポーネントの自動登録がでてきましたね.ComponentAutoRegisterは実はS2.3で登場した機能です. 私の方では,Seasar2.4からの新機能であるSMART deployについて書いてみます. これは「jp.xet.tutorial.s2.converterパッケージにある、.*という名前(正規表現だから、全ての名前)のクラスは、勝手にコンテナに登録しとけやゴルァ」という指示。MySQLConverterとPostgreSQLConverterは、そういえばこのパッケージに置いてある。ということで、勝手に登録されたんですね。 では、そのコンポーネントの名前は? ここも空気を読むSeasar2、のターン。「クラス名の最初を小文字にした名前で、登録しとく

    SMART deployに対応させてみる - かとじゅんの技術日誌
  • Stringの連結はそう簡単なものではない - かとじゅんの技術日誌

    追記: 指摘の通りで、現実的な連結回数での計測でもないですし、統計手法を用いた分析をしていないので、このエントリの計測値は当てにしないでください。なので以下のブログを参考にしてください。 currentTimeMillis()で計測しておいて plusTime:14780, concatTime:7053, sbuilderTime:7, sbufferTime:13 とか、その7とか13の有効数字はいくつだっての。 激しく今更感があるタイトルですが(;・∀・) 昔に取り上げたのですが、 文字列の結合をやるからといって、すぐにStringの+をつかってはいけない - じゅんいち☆かとうの技術日誌 Stringの+演算子は間違った使い方するとパフォーマンスが低下しますよっていう話題。若干ネタ成分ありますが、ご容赦ください。 これ系の話題は自分的にはオワコンなんですが、最近、また話題を見つけた

    Stringの連結はそう簡単なものではない - かとじゅんの技術日誌
  • 例外の再考 - かとじゅんの技術日誌

    愛する部下の一人がよいエントリを書いてくれたので、私も重い腰をあげてみたw Throwableについて気出して考えてみた 2nd Season - 都元ダイスケ IT-PRESS 短時間で、ようまとめたなーw チェック例外は、Java以外の言語では聞いたことがないのですが。Javaが10年やってきて、これがベストプラクティスなら他の言語にも存在してもよいはず。なぜ使わないんだろう。。。ということで、例外を再考してみました。 例外をめぐる議論 何気にいろいろ調べていたら、こういうのがでてきました。2004年以降はRTE使っているよというのがこれか!? Javaの理論と実践: 例外をめぐる議論 これはもう過去にされていた議論ですね。知らなかったですw Sunは、文書化されない例外は投げるべきでない。つまるところ、扱う例外はメソッドのthrowsにちゃんと明記する派。APIを使う側のユーザとし

    例外の再考 - かとじゅんの技術日誌
  • .Interface - AOPの使い方

    AOPとは何か? http://s2container.seasar.org/ja/aop.html ここにはこういう説明があります。 AOPとは、Aspect Oriented Programming (アスペクト指向プログラミング) の略です。 プログラム来の目的とは異なる処理を内部に埋め込まず、外から織り込むように作ることです。 開発者はプログラム来の目的だけに集中したいのですが、異なる処理、つまりロギングやトランザクション管理などにも気を配る必要があります。これはこれまでの開発の常識だったと思います。AOPでこの問題に対処できます。 またこのような説明もあります。 オブジェクト指向では顧客からの要求である機能(Core Concern)とロギング機能、宣言的トランザクション、DBコネクションの取得・解放、例外処理、セキュリティ機能や分散処理などの非機能要求 (Crosscutt

    .Interface - AOPの使い方
  • 1