タグ

javaに関するaritekuのブックマーク (135)

  • [ThinkIT] 第10回:JUnitの利用 (1/4)

    今回からは数回に渡り、企業システムの構築を支援するEclipseの付属機能について解説していきます。具体的には、JUnit、Ant、CVSなどについて解説します。 これらは、サンプル程度のプログラムの開発にはそれほど利用することはありませんが、チーム開発を行う際には重要な機能です。これらのツール類はEclipseに標準で組み込まれており、他にプラグインをインストールせずに利用することができます。 今回はまず、JUnitについて解説します。 JUnitJavaの単体テストツールです。 プログラムを作成したとき、単に"コンパイルが通った"だけでは完成ではありません。実際にそのプログラムを実行して、期待どおりの動作をすることを確認しなければいけません。動作確認の最もシンプルな方法は、mainメソッドを書いて実行してみることです。 プログラムはそのときのオブジェクトの状態やメソッドの入力値などに

  • DAOパターンのデメリットを補う「DataAccessMethodパターン」

    DAOパターンは、企業向けシステム開発で利用される非常に優れたデザインパターンですが、多くのクラスやインターフェイスを定義する必要があるというデメリットがあります。そこで稿では、GoFのTemplateMethodパターンをベースしたDataAccessMethodパターンを紹介します。これを用いると、通常のDAOパターンに比べてクラス数が激減します。 はじめに CJ2EEのDataAccessObjectパターンは、企業向けシステム開発で利用される非常に優れたデザインパターンです。これを利用することにより、柔軟なシステムを構築することが可能となります。有名なパターンなので、多くの方はこのパターンを使った設計/開発に携わった経験があるのではないかと思います。 しかし、DataAccessObjectパターンを使った開発は多くのクラスやインターフェイスを定義する必要があります。これは、Da

    DAOパターンのデメリットを補う「DataAccessMethodパターン」
  • blog.katsuma.tv

    CakePHPで作成したアプリケーションに対して、Javaアプリケーションから簡単なDB操作(実際はselectだけできればOK)をする必要があって、生のSQLを書くか、それともいい機会だしORマッパのライブラリを勉強がてら使ってみるか、、なんて悩んでいました。保守性を考えるとやっぱり生SQL案は無しで、ORマッパを使うことにしたのですが、Hibernateはどうもリッチすぎる印象があってなかなかやる気が進みませんでした。大規模アプリ開発ならまだしも、今回は上で書いた通り、最低限の参照だけできればそれで事足りる状況だったので、そのためだけにわざわざ設定用のXMLを書くのは気が引けていたのです。 3分で始められるORマッパ 3分間クッキングじゃないですけど、それくらい手軽に操作できるものをずっと探し続けていたら、ActiveObjectsなるプロジェクトに辿り着きました。 AcitiveOb

    ariteku
    ariteku 2011/08/10
  • jakartaプロジェクトの歩き方

    Jakartaプロジェクトの歩き方 作成 2002/7/8 更新 2003/5/8 Jakartaプロジェクトとは? Jakartaプロジェクトとは? JakartaプロジェクトJavaのオープンソースプロジェクトです。 Tomcatをはじめ、Ant、log4j、Strutsなど、数々のプロダクトを生んできました。 主にJavaのサーバーサイドのプロダクトを提供しており、 プロダクトは商用品質であることをポリシーとしています。 またラインセンスは、Apache Software Linenceというラインセンスで、 無償で利用でき、再配布が可能です。 サブプロジェクト Jakartaプロジェクトは、数々のサブプロジェクトから成り立っています。 ここでは、実際に使ってみての感想などをつらつら書いています。 プロジェクト名のリンクをクリックすると、 各プロジェクトについてのページに飛びます。

    ariteku
    ariteku 2011/08/09
  • Struts2.1.8を使ってみた - 趣味の延長線

    struts2系の導入練習で、Hello world作成。 参考サイトは幾つか見つけましたが、 http://www15.plala.or.jp/k_maeba/struts2/hello/index.html http://journal.mycom.co.jp/special/2007/struts2/003.html http://www.limy.org/program/java/struts2/first.html 最もシンプルかつファイル設置場所などわかりやすかったのが↓ http://codezine.jp/article/detail/2296?p=3 シンプル・イズ・ザ・ベスト。 ということで倣ってやってみましたが・・・・ ですが、実際に達成するまでには諸処”違い”がありました・・・・ 2.0と2.1 必須jarが変わった? まず、今回使った最新のstrutsのバージョン

    Struts2.1.8を使ってみた - 趣味の延長線
  • ジェネリックスと可変長引数の微妙な関係

    Javaのジェネリックス(総称)は、利用することはあってもAPIとして公開することはあまりなかったためこれまで気づかなかったが、可変長引数と組み合わせた場合に少々面倒な問題を持っていることに気づいたのでメモしておく。 JDK5でさまざまな新機能が追加されたが、ジェネリックスはその1つ。 一言で言ってしまえば、クラスやインタフェース、メソッドに型をパラメタとして定義できる機能である。 具体的な例とメリットはCollectionフレームワークでしばしば説明されている。 java.util.List<E>の例を以下に示す。 JDK5以前のコードは以下のような感じになる。 public void processMyClasses(List list) { for (Iterator iter = list.iterator(); iter.hasNext(); ) { MyClass myClas

  • モダン(かもしれない)なEclipse環境(Java)の構築方法 - wyukawa's diary

    「モダンなEclipse環境の構築方法」とかね。 2010-07-21 - marsのメモ 僕が書くのも場違いな気がするけど、とりあえず書いてみるよ。 Webアプリ作るという前提だとまずEclipse IDE for Java EE Developersをダウンロードしてインストールする。JDKは別途ダウンロードする。Tomcatも別途ダウンロードする。 JDKはWindowsの場合はデフォルトではProgram Files以下にインストールしようとするがパスに空白が含まれてるのが嫌なのでC直下とかにする。 Tomcatもインストーラを使わずにZIP版を解凍して、パスに空白が含まれていない場所にインストールする。 プラグインはSubversionクライアントとしてSubclipseを、プロパティエディタとしてちょま吉をインストールする。ここまでは必須。 DB使うようならDBViewerもイ

    モダン(かもしれない)なEclipse環境(Java)の構築方法 - wyukawa's diary
    ariteku
    ariteku 2011/08/06
  • Twitterが、Ruby on RailsからJavaVMへ移行する理由

    オライリーが主催するイベント「Open Source Convention 2011」が7月25日から米国ポートランドで開催されました。 その中で、TwitterがなぜRuby on RailsベースのシステムをJavaVMベースへ移行しようとしているのかを解説したセッション「Twitter: From Ruby on Rails to the JVM」が行われ、ビデオが公開されています。 13分程度の短いセッションのポイントをまとめて紹介します。 世界最大のRuby on RailsによるWebサイトをJavaVMへ移行 Twitterのアプリケーションサービスグループ、Raffi Krikorian氏 Twitterは世界中からのツイートをリアルタイムで扱っている。リアルタイム処理が、ツイッターにおけるもっとも難しい処理だ。 Twitterは、おそらく世界最大のRuby on Rail

    Twitterが、Ruby on RailsからJavaVMへ移行する理由
  • 侍 - ログ , スレッドダンプ解析ツール

    "侍" とは 侍 はタブ表示できる GUI の tail ツールです。 標準出力・標準エラー出力をリダイレクトしたログファイルより Java のスレッドダンプのみを切り出して色分け表示したり、-verbosegcオプションによるログをグラフ表示したりできるため特に Java のトラブルシューティングに役立ちます。 システム要件 OS: JDK 1.4 以降の実行環境をサポートする Windows や Unix JDKは以下のページからダウンロードできます。 http://java.sun.com/j2se/1.5.0/ja/download.html 検証済みの解析対象JVM: JDK 1.3.x,JDK 1.4.x,JDK5.0 準拠の Apple/BEA/Sun/HP/IBM 製JVM 起動方法 侍 は以下の2種類どちらかの方法で起動させることができます。 Java Web Start

    ariteku
    ariteku 2011/08/04
  • [ThinkIT] 第9回:O/Rマッパーの利用 (2/4)

    S2Daoはその名から想像できるとおり、DAO(Data Access Object)パターンを利用する場合のツールです。DAOパターンとは、J2EEパターンの1つで、データベースとのやり取りをDAOという役割のクラスにまかせます。 データアクセスをDAOにまかせてしまうことで、ビジネスロジック側では、細かいデータアクセス処理を意識せずに、DAOを使うだけでよくなります。もちろんデータアクセス処理自体はDAOに書かなければなりませんが、同じようなロジックがあちこちに分散することなく、またデータアクセスの層が明確に分かれることで、行き当たりばったりに作るより効率的で保守も楽です。Webアプリケーション開発でDAOを利用する場合は、図2のようになります。 UI(ユーザインターフェイス)は、サーブレット/JSPやStruts、JSFといったUIフレームワークが担当する部分です。DAOを利用する場

    ariteku
    ariteku 2011/08/03
  • djUnit

    Latest version 0.8.6 for Eclipse 3.2, 3.3, 3.4, 3.5 [2011/10/17] Version 0.8.6 for Eclipse 3.2, 3.3, 3.4, 3.5 Released.[2011/10/17] [0.8.6] Changed a exception handler of djUnit class loader. [Fixed bug] Mojibake of djUnit class loader message. [Fixed bug] SWT's "no more handles" occurs. [Fixed bug] Coverage target line(finally clause) bug with asm1.5.x. Bytecode process was improved. Version 0.8.

    ariteku
    ariteku 2011/08/03
  • 57-ポリモーフィズムの利用機会を見逃さない - やさしいデスマーチ

    「プログラマが知るべき97のこと」の57個目のエピソードは、ポリモーフィズムに関する話です。ポリモーフィズムはオブジェクト指向プログラミングにおいて最も重要な概念の1つです。日語で多態性と呼ばれるこの技術は、実装レベルで考えれば方が同じで振る舞いが異なるクラスを定義できるということです。その事による恩恵としては、冗長なif文を減らすことができる事でしょう。例えば次のようなif文を含むメソッドがあるとします。 class Controller { void run(Request req) { if (req.isGet()) { // GETの場合の処理 } else if (req.isPost()) { // POSTの場合の処理 } else { throw new AssersionErrror(); } } } class Client { void invoke(Reques

    57-ポリモーフィズムの利用機会を見逃さない - やさしいデスマーチ
    ariteku
    ariteku 2011/07/09
  • 実はオブジェクト指向ってしっくりこないんです!:気分はstatic!:エンジニアライフ

    わたしはこれまで、C言語、Visual Basic、SAP ABAP、最近になって ASP.NET C# などの言語を使ってきた。 「自分でクラスを作ってオブジェクト指向っぽいことをしている」なんてことはまったくない。特に「メンバー関数をstatic宣言すればインスタンス宣言をしなくてもいい」ということ知ってからは、メンバー関数を従来のファンクションのように使っている。共有変数も、pubulic static宣言していまう。したがってプロパティなんて作らない。 staticを理解していない人のコードを見ると、いちいちインスタンス宣言しているので笑ってしまう。データベースにアクセスするアプリケーションをC#で書いているのだが、Visual Studioで供給しているSQL関係のクラスを使えばできてしまうのだから。 オブジェクト指向の入門書では、クラスが持つ隠ぺい性が強調されているが、これは他

    実はオブジェクト指向ってしっくりこないんです!:気分はstatic!:エンジニアライフ
  • [実装編]スレッドセーフにすることを忘れてはいけない

    スレッドセーフとは,アプリケーションをマルチスレッドで動作させても問題がないことを指す。サーバー向けアプリケーションは,マルチスレッドで動作するように設計・実装することが望ましい。そのほうが通常はパフォーマンスが向上するからだ。 だが,マルチスレッドのアプリケーションは,注意深く設計・実装しないとトラブルが生じる。例えば,あるスレッドで保持していた変数の値がほかのスレッドからアクセスされ,処理結果が上書きされたり,ほかの利用者の情報が見えてしまったりする。 こうしたトラブルは,開発者が1人で単体テストしているときには見つけられず,多数の利用者で限界時の挙動テストをしたときや,番移行した後で,たまたま見つかることが多い。トラブルが発生するタイミングを再現することが難しいので,デバッグは困難になりがちだ。 マルチスレッドでのトラブルを防ぐため,開発者は,スレッドセーフな設計と実装を心がける必

    [実装編]スレッドセーフにすることを忘れてはいけない
  • サーブレットのライフサイクルとインスタンス変数 - サーブレットの基本 - サーブレット入門

    サーブレットのライフサイクルに関して確認しておきます。 サーブレットはTomcatなどのサーブレットが動作するコンテナが起動してから最初にサーブレットが呼ばれたときにコンテナにロードされインスタンスが作成されます。 サーブレットはリクエストに対してスレッドを作成し、そのスレッドが実際の処理を行います。複数のリクエストが同時にあればそれぞれ別のスレッドが用意されマルチスレッドで動作することになります。スレッドはリクエストに対する処理が終われば終了しますがインスタンスはそのまま残っており新しいリクエストが来れば新しいスレッドを作成して実行します。そのため2回目以降はインスタンスを作成する時間がかかりません。 コンテナが終了したり一定時間サーブレットに対してアクセスが無かった場合にインスタンスは破棄されます。 サーブレットの作成から破棄までの流れは以上のようになっており、初回と最後以外はインスタ

  • Javaでifを使ったじゃんけんゲームについて - Javaでじゃんけんゲームのプログラムを作成しました。問題は以下です。あなたの... - Yahoo!知恵袋

    Javaでifを使ったじゃんけんゲームについて Javaでじゃんけんゲームのプログラムを作成しました。 問題は以下です。 あなたの手としてキーボードから1を入力するとグーを、2を入力するとチョキを、3を入力した場合はパートします。 勝負は10回戦までとしますが、途中で0を入力すると終了します。 相手の手は次の処理で変数aiteに1か2か3が代入されます。 //あいての手を決定する。 int aite=(int)(Math.random()*3)+1; というものです。それに対して、下のように作りましたが、じゃんけんゲームの説明の枠だけしか表示されずに先に進みません。 どこかおかしいのでしょうか。回答おねがいします。 import java.io.*; public class Kadai0903{ public static void main(String args[]) throws

    Javaでifを使ったじゃんけんゲームについて - Javaでじゃんけんゲームのプログラムを作成しました。問題は以下です。あなたの... - Yahoo!知恵袋
    ariteku
    ariteku 2011/06/24
    じゃんけん
  • ServletContext イベントのリスン

    ariteku
    ariteku 2011/06/24
    サーブレットリスナー
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    ariteku
    ariteku 2011/06/23
  • 標準化規約 2.Java標準化規約 : 富士通

    標準化規約 2.Java標準化規約 Javaアプリケーションを開発する上での、標準化規約の例をご紹介します。 以下でご紹介する標準規約は、Java開発規約チェッカSIMPLIA/JF Kiyackerで提供しているものです。 SIMPLIA/JF Kiyackerを利用することで、作成したJavaソースコードが標準規約に従っているかどうかを自動的にチェックできますので、アプリケーションの品質向上を図ることができます。 SIMPLIA/JF Kiyacker製品情報ページ

  • オブジェクト指向のソースを読むのが難しい理由 - 都元ダイスケ IT-PRESS

    ダラダラ書かない予定だよ。ざっくり行くよ。あと、分かってる人には当たり前な事だと思うよ。 あるクラスについて知りたかったら、まずその基底クラスを知れ 例えば、Integerクラスについて知りたいと思ったら、Integer.java だけを読んでいてはダメだ。確かに「Integerに特化した責務・構造・操作」は読み取れるかもしれないが、数値としての基的な責務・構造・操作はNumberに書かれている。それを読まずして、Integerが保つ数値という一面を知ることはできない。Integer.javaには「Integer - Number」*1の情報しか書いてないのだよ。差分プログラミング。 さらに、忘れちゃいけない。Object.javaを読め。全ての道は暗黙的にObjectにつながっている。Objectを知らずしてJavaのクラスを知る事は絶対にできない。Objectなんて、みんな「知った気

    オブジェクト指向のソースを読むのが難しい理由 - 都元ダイスケ IT-PRESS