タグ

ブックマーク / codezine.jp (37)

  • 既存システムを分析するコツは「システムの地図」を作ること

    ビジネス系のシステム開発では、まったくの新規システム開発は少なく、すでにあるシステムの再構築プロジェクトがほとんどです。このようなプロジェクトでは既存システムを調べる作業が必ず発生します。その割には公開された情報として、既存システムを分析する方法を説明したものを見かけません。多くは開発者がその場その場で臨機応変に対応しています。 実際のプロジェクトでは開始早々この既存システムの分析で手間取り、時間を大きくロスするケースが見られます。この連載ではコストをかけずに分析するモデルベースの方法を5回に分けて紹介します。第1回目となる今回は、詳細に踏み込まずにトップダウンでモデル化していくための考え方を示します。 プロジェクトが置かれた状況 既存システムは土台にできるか 既存システムの調査分析は時間ばかりかかり、なかなか成果が現れません。そんなプロジェクトでは以下のような会話が飛び交います。 佐藤さ

    既存システムを分析するコツは「システムの地図」を作ること
  • 「要件定義」の4つの構造と依存関係に着目した実践手法

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    「要件定義」の4つの構造と依存関係に着目した実践手法
  • DAOパターンのデメリットを補う「DataAccessMethodパターン」

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

    DAOパターンのデメリットを補う「DataAccessMethodパターン」
  • OSSのフレームワークを利用してExcelレポートを簡単作成

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    OSSのフレームワークを利用してExcelレポートを簡単作成
  • Java入門ブックガイド(入門編) よりよき入門書と出会うために

    連載の目的 Javaの入門書だけでも多くのがあります。大きな書店に行けば入門書が山ほどあり、どれを買ったらよいか迷うのではないでしょうか。 最近はネットでの購入が増えてきていますが、店頭のように実際に手にとって内容を確認できません。一部のネットショップでは、目次や冒頭の章を閲覧できたり、他の人のレビューを読んだりすることもできますが、やはりそれだけで買うのは少し勇気が要ります。特に不景気な昨今、全部まとめてという買い方は到底できませんし。また、お薦めリストのようなものもネットには存在しますが、根拠に乏しいという感が拭えないのが現状です。 このような経緯があり、購入に役立つ具体的な情報を提供できればという思いでブックガイドを作成しました。 蛇足になりますが、入門編以外にも、マルチスレッド編、コレクション編、Web編などや英語の入門編も企画しています。 対象読者 連載は、ボリュームの関

    Java入門ブックガイド(入門編) よりよき入門書と出会うために
  • 仮想ネットワーク実装でTCP/IPを学ぼう(7) ― GDI+と独自プロトコルの定義

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    仮想ネットワーク実装でTCP/IPを学ぼう(7) ― GDI+と独自プロトコルの定義
  • Javaで軽快に使える「軽量フレームワーク」特集 ~アプレットベースのRIAフレームワーク「Apache Pivot」(1)

    はじめに RIA(Rich Internet Application)という言葉が登場して既に数年が経過しました。「よりリッチなGUIによるWebアプリケーションの開発」という目標を掲げ、さまざまな陣営が新しい技術を世に送り出しました。Javaの世界でも、「JavaFX」などの新技術が生まれたのは記憶に新しいところです。 が、こうした新しい技術というのは、一朝一夕に広まるものではありません。JavaFXにしろSilverlightにしろAdobe AIRにしろ、思ったよりも苦戦しているように見えるのは、やはり「新技術が浸透するにはそれなりの時間が必要だ」ということなのでしょう。ならば発想を転換し、「既に普及している旧(?)技術を使って、最も新しいRIAという技術を構築」したら意外に誰もがすんなりと受け入れるのではないでしょうか。 今回取り上げる「Apache Pivot」(以降、Pivot

    Javaで軽快に使える「軽量フレームワーク」特集 ~アプレットベースのRIAフレームワーク「Apache Pivot」(1)
  • Javaで軽快に使える「軽量フレームワーク」特集~リッチなGUIを構築する「Vaadin」(1)

    はじめに フレームワークと言うと、多くの人は「アプリケーション全体を設計するもの」というイメージでとらえているかもしれません。しかし、もちろんそれだけがフレームワークではありません。例えばHibernateのように特定の機能に特化したものも存在します。 最近になって見られるようになってきたのが、「Ajax利用のためのフレームワーク」です。例えば、「Google Web Toolkit(GWT)」などのことです。Javaを使って、Ajax利用のWebアプリケーションを構築するフレームワークです。素のHTMLだけでは実現できないリッチなGUIを、JavaScriptの複雑なコードを書くことなく実現できるフレームワークとして、GWTは広く使われつつあります。 これまで、サーバーサイドのことばかり考えていた感のあるフレームワークの世界に、こうした「クライアントサイドの構築」を重視したものが登場する

    Javaで軽快に使える「軽量フレームワーク」特集~リッチなGUIを構築する「Vaadin」(1)
  • GlassFishからアプローチするJava~入門編~ 第4回「Webアプリケーションの作成 GlassFish管理コンソールを使う」

    はじめに この連載では、「GlassFish」という製品を利用して、Java言語に親しんでもらうことを目的としています。第4回目の今回は、サンプルWebアプリケーションのカタログ部分の作成を通して、Data Access Object(DAO)パターンやGlassFishの管理コンソールの操作などについて触れていきます。 対象読者 Javaでなにかしらのアプリケーションを作成したことのある方 Javaの変数の宣言や、if文・for文・while文の制御文など簡単な文法を知っており、アプリケーションを作成したことのある方 オブジェクト指向プログラミングができなくとも構いません。徐々に学んでいければと考えています。また、学びやすいWebアプリケーションをサンプルとするので、Webアプリケーションとは違った分野を勉強したい方には当連載は向いていません。 稿で想定する主要技術のバージョン Jav

    GlassFishからアプローチするJava~入門編~ 第4回「Webアプリケーションの作成 GlassFish管理コンソールを使う」
  • Javaで軽快に使える「軽量フレームワーク」特集 ~本格的なRoRスタイルフレームワーク「Play!」(2)

    注目の軽量フレームワークをフットワーク軽く取り上げていく連載。連載第8回目となる今回は、Java格的RoRスタイルフレームワーク「Play!」の第2回として、データベースアクセスのための「モデル」と、高速開発を支援する2つのモジュールについて解説していきます。 はじめに StrutsやJSFといった従来のJavaフレームワークは、標準でデータベース関係の機能をあまり用意していません。しかし、RoR(Ruby on Rails)以降のMVCフレームワークでは、データベースとのやりとりを行う「モデル(Model)」は重要な役割を果たしています。 Play!は、データベースとのやりとりに「JPA(Java Persistance Architecture)」を採用しています。これはJava EEに用意されている、オブジェクトの永続化のための技術です。多くのWebアプリケーションでは、データ

    Javaで軽快に使える「軽量フレームワーク」特集 ~本格的なRoRスタイルフレームワーク「Play!」(2)
  • C++/CLI: とある文字列の相互変換(コンバージョン)

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    C++/CLI: とある文字列の相互変換(コンバージョン)
  • プログラミング言語Nuの基本とインストール方法

    Nu is an interpreted object-oriented language. Its syntax comes from Lisp, but Nu is semantically closer to Ruby than Lisp. Nu is implemented in Objective-C and is designed to take full advantange of the Objective-C runtime and the many mature class libraries written in Objective-C. Nu code can fully interoperate with code written in Objective-C; messages can be sent to and from objects with no co

    プログラミング言語Nuの基本とインストール方法
  • Javaで軽快に使える「軽量フレームワーク」特集 低い学習コストを重視した「Apache Click」 (2)

    はじめに 前回、Ahache Clickの基的な使い方について説明しました。今回は、Webアプリケーションを作成する上で知っておきたいさまざまな機能について、いくつかピックアップして紹介していくことにしましょう。 Webアプリケーションを作成するとき、何よりもまず必要となってくるのは「入力された値のチェック(バリデーション)」「ページ遷移」「エラー処理」といったものでしょう。それらについて順に説明していきます。 対象読者 Javaで手ごろなフレームワークを探している技術者。 最近のフレームワークをごくざっと理解しておきたい方。 Web開発の手法がどうも気に入らない、と常々考えているJavaプログラマ。 バリデート機能付フィールドを使う まずは、値のチェックからです。多くのWebアプリケーション関係のフレームワークでは「バリデーション」と呼ばれる値のチェック機能を備えています。Apache

    Javaで軽快に使える「軽量フレームワーク」特集 低い学習コストを重視した「Apache Click」 (2)
  • Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~前編

    Scalaとは Scalaは、2003年にJavac(コンパイラ)やJavaのGenericsの設計/開発貢献者であるMartin Odersky氏(スイス・ローザンヌ工科大学教授)によって、開発が開始された比較的新しいプログラミング言語です。Javaは実用言語として幅広いシステムで使用されてきましたが、下位互換性を保つという要請の中、言語としての機能強化がなかなか進まないといった限界も見えてきています。そのような現状もあることから、ScalaJavaの後継として実用的な言語を目指して開発されています。 Scala最大の特徴は、Javaの良さを最大限継承しつつ、スクリプト言語や関数型言語の良いところも吸収し、先進的な機能/文法を取り入れている点です。また、今後のハードウェアのマルチコア化を見据え、簡易に並列処理プログラミングを行うことができるライブラリが付属しています。 Scalaのメリ

    Javaの限界を超えて実用化を目指す 新開発言語「Scala」のメリットとは~前編
  • Javaで軽快に使える「軽量フレームワーク」特集 ~Apache Wicketで簡単Webアプリ作成(3)

    はじめに 連載では「軽量フレームワーク(Lightweight Framework)」の中から注目株をピックアップし、その概略を紹介していこうと思います。第3回目となる今回は、前回に引き続きJavaの軽量フレームワーク「Apache Wicket」について説明していきます。 これまでの連載 Javaで軽快に使える「軽量フレームワーク」特集~Apache Wicketで簡単Webアプリ作成(1) Javaで軽快に使える「軽量フレームワーク」特集~Apache Wicketで簡単Webアプリ作成(2) 前回、Wicketのさまざまな機能を利用してみました。Wicketがどんなフレームワークか、大まかなイメージはつかめたのではないかと思います。しかし、Wicketにはその他にもさまざまな機能が「拡張ライブラリ」として用意されています。これらを追加することにより、更に強力なフレームワークへと強化

    Javaで軽快に使える「軽量フレームワーク」特集 ~Apache Wicketで簡単Webアプリ作成(3)
  • Erlangを使った並列処理プログラムの作成

    はじめに CPUメーカーは、発熱の問題上、クロックレートが4.0GHzを超えるCPUを何年も実質的に製造できずにいます。シングルコアプロセッサの速度にこうした限界がある以上、プログラムの実行速度を上げるには、プログラムを複数のプロセッサで実行するしかありません。そこで、CPUメーカー各社は複数のコアを持つプロセッサ(マルチプロセッサCPU)を製造し始めました。近い将来には、100基以上のコアを持つプロセッサも登場することでしょう。このような新しいプロセッサの性能を最大限に活用するために、ソフトウェア開発者は並列処理プログラムを作成することが求められます。ハーブ・サッター氏がムーアの法則について述べたとおり、「The Free Lunch Is Over(タダ飯は終わった)」のです。とはいえ、並列処理プログラムの作成は厄介で、移行は容易ではありません。 過去30年、並列処理の主要フレームワー

    Erlangを使った並列処理プログラムの作成
  • Javaで軽快に使える「軽量フレームワーク」特集 ~Apache Wicketで簡単Webアプリ作成(1)(1/5):CodeZine

    時代がライトウェイト言語へとシフトしつつある中、軽快に使えるフレームワークが次々登場してきました。連載では、Javaで注目されている軽量フレームワークの中から注目株をピックアップし、概略を紹介します。第1回目の今回は「Apache Wicket」の基的な構成と使い方を覚え、実際にWebアプリケーションを作ってみましょう。 はじめに 以前は、Javaの世界でフレームワークと言えば「Struts」と定番が決まっていました。しかし、フレームワークによる開発は、どうしても大掛かりなものになりがちです。時代がライトウェイト言語(Lightweight Language、PHPRubyなどのスクリプト言語)へとシフトしつつある中、重量級のフレームワークは、やや時代遅れな印象をもたれてしまうのは仕方のないことでしょう。 もっと軽快に使えるフレームワークがあれば、と思う人は多かったに違いありません。

    Javaで軽快に使える「軽量フレームワーク」特集 ~Apache Wicketで簡単Webアプリ作成(1)(1/5):CodeZine
  • Google App Engine for Javaを使ってみよう! (8)Unitテスト

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    Google App Engine for Javaを使ってみよう! (8)Unitテスト
  • ScalaによるWebアプリケーションフレームワーク「Lift」とは

    Java仮想マシン上で動くオブジェクト指向+関数型言語として、Scala(スカラ)が最近注目を集めています。Scalaで構築されたWebアプリケーションフレームワークはいくつかありますが、 連載ではその中で比較的歴史のある(といっても2年程度ですが) フレームワークである、Lift(リフト)を紹介したいと思います。 はじめに Java仮想マシン(以下JVM)上で動くオブジェクト指向+関数型言語として、Scala(スカラ)が最近注目を集めています。 Scalaで構築されたWebアプリケーションフレームワークはいくつかありますが、 稿ではその中で比較的歴史のある(といっても2年程度ですが) フレームワークである、Lift(リフト)を紹介したいと思います。 対象読者 Javaは知っているが、Scalaも学んでみたいと思っている方 ScalaでのWebアプリケーション開発に興味がある方 必要な

    ScalaによるWebアプリケーションフレームワーク「Lift」とは
  • Rubyによる並列処理システム 「CloudCrowd 0.1.0」リリース

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    Rubyによる並列処理システム 「CloudCrowd 0.1.0」リリース