id:takubonさんからいただいたコメントに触発されてちょっと書いてみます。 リリースを行う際に利用者に公開したインターフェイスが「公布済みインターフェイス(published interface)」になります。短い期間のイテレーションを繰り返してチーム間で結合を繰り返していく場合には、利用者は他のチームとなります。イテレーションの期間に応じて不完全な形でインターフェイスを公布する機会があるかもしれませんし、実際に機能を制限してリリースを行ったりもします。 短い期間で反復開発しているということは、インターフェイスを公布する機会が増えるということです。公布する機会が増えれば、リファクタリングの範囲が公布済みインターフェイスに引っかかる確率も増えます。すると、公布済みインターフェイスの変更はリファクタリングの枠を越えて「仕様変更」となってしまうことが多くなってしまいます。 これがイテレーシ
関連:id:sumim:20040525:p1 keisuken さんの 航海日誌 発、babie さんの 遅レス 経由で、オライリーのオープンソースコンベンション(OSCON 2005)のセッション「10 Things Every Java Programmer Should Know About Ruby」(スライド、brazil さんの和訳)で語られた「Item #9 Everything is an Object」から生じる語弊について。 そうですね。これではまるで Java のクラスがオブジェクトではないかのように読めますし、そうだとすれば(オブジェクトに定義にもよりますが、おそらく)間違いでしょう。ただ、文脈をたぐると、ここでの Jim Weirich さんの主張は「(Ruby において)“Array”は、Array というクラス(を実現した)オブジェクトを束縛した定数(に過ぎ
Cross-Domain Single Sign-On Authentication with JAAS Leverage your existing JAAS enterprise security system to provide SSO across multiple subsystems. Implementing this J2EE security model will take your security architecture to the next level. ingle sign-on (SSO) is a very hot topic. Businesses in every industry are eager to integrate legacy systems into newer applications, and SSO can alleviate
AjaxTagsプロジェクトは8日(現地時間)、JSP(JavaServer Pages)でAjaxを利用するためのタグセットであるAjax Tag Library 1.0を公開した。AjaxはAsynchronous JavaScript + XMLの略で、JavaScriptの組み込みクラスを利用してインタラクティブなウェブユーザインタフェースを実現するための技術であ。 JavaScriptの組み込みクラスであるXMLHttpRequestを利用すれば、サーバとウェブブラウザ間で非同期に通信を行うことができる。Ajaxではこれを応用して、ページ遷移と独立した情報のプレゼンテーションを実現する。 Ajax Tag Libraryは、複雑なJavaScriptを記述しなくても、JSPタグを追加するだけでAjaxを利用できるようにするためのカスタムタグライブラリである。通常、Ajaxを利用し
Java開発の問題解決を助ける(2) プロファイラでメモリリークとパフォーマンス問題を解決 サン・マイクロシステムズ 岡崎 隆之 2005/8/10 この連載は、Java開発を妨げるさまざまな問題の解決方法を扱います。前回はプログラムのバグを効率よく発見し解決する方法を紹介しました。第2回は、プロファイラを使ってメモリリークやパフォーマンスの問題を解決する手法を紹介します。 メモリリークとは不要になったオブジェクトが何らかの理由で解放されず、メモリ領域を無駄に占拠してしまっている状況です。このような不要なオブジェクトが積もり積もっていくと、メモリ不足でシステムが停止してしまうなどの深刻な問題を引き起こす場合があります。ではこのような深刻な問題を引き起こしてしまうメモリリークの見つけ方、解決方法を学んでいきましょう。 ■どうしてメモリリークは起こるのか では、そもそもどうしてメモリリークが起
はじめに コンボリューション(Convolution)は数学用語で、日本語では「畳み込み」といいます。掛け算の結果を足し集める演算からなり、コンピュータ処理の得意とするところです。コンボリューションを画像処理に使うと、画像を滑らかにしたり、シャープにしたりできます。掛け算の係数は、3×3などのサイズのマトリックスで指定します。これをオペレータ、フィルタ、マスク、カーネルなどと呼びます。 Java 2D APIには、画像処理でコンボリューションを行うのに便利なConvolveOpやKernelのクラスがあります。しかし、これらだけに頼ると不便な点もあるため、これらを利用しながら、従来と変わらぬ画像処理ができるように工夫しました。 対象読者 画像処理の基本を学び、ペイント系画像ソフトの一部の機能を自作したい人。 必要な環境 J2SE 5.0を使っていますが、J2SE 1.4.2でも
朝一は「JavaOne05報告:10周年を迎えたJavaをどう捉えるのか」ということで稚内北星学園大学の丸山先生、SUNの石原さん、日経BPの星さんによるパネルディスカッション。SUNの石原さんからはJavaOne05の報告ということで、キーメッセージ「情報の時代からParticipation Age(参加の時代)へ」「Share(共有)」という話に引き続きトピックスの紹介。 - DTrace for Java - NetBeans + Matisse - SPOTプロジェクト スマート・ダスト - Project Looking Glass - Project GlassFish - JBI (JSR208) - EJB3 - Persistence APIの独立 - デジタルデバイドの解消 (JEDIプロジェクトなど) - 名称変更 (Java EE、Java SE、
はじめに 現在のWebシステムにおいて帳票の出力を行う場合、PDF形式が選択されることが一般的になっています。その理由としては、データサイズをコンパクトにすることができる、情報の改ざんを防止できる、などが挙げられます。一般ユーザにも普及していますので、システム開発時に顧客からPDF形式での情報の出力を求められることも多いのではないでしょうか。 この記事では、「iText」というライブラリを活用して、PDFの出力を行う方法を解説します。 対象読者 Javaプログラミングで開発を行った経験のある方、および、Javaプログラミングに興味をお持ちの方を対象としています。 必要な環境 このサンプルアプリケーションを動作させるには、以下のソフトウェアが最低限必要です。環境についての詳細や設定方法については、サーバサイド技術の学び舎 - WINGSにある「サーバサイド環境構築設定」を参照して
Gateheadの参加するDWRプロジェクトは19日(現地時間)、DWRの最新版となるDWR 0.6を公開した。DWR(Direct Web Remoting)は、ブラウザで実行されるJavaScriptからサーバサイドのJavaコードを呼び出して実行するためのライブラリ。Servletに組み込んでサーバを動作させれば、JavaScript側でDWRを使った記述ができるようになる。類似技術にJSON-RPC-JavaやSajaxなどがある。 DWRはAjaxを実現するライブラリでもある。サーバサイドのJavaコードを簡単に直接実行できるようになることで、高いレベルのインタラクティブコンテンツの作成を可能にする。DWRはASLバージョン2のもとに提供されるオープンソースライブラリである。 DWR 0.6で実現された機能のうち、主要なものは以下の通り。 GroovyなどBSFがサポートしている
Webシステムが主流となり、データベース・アプリケーションはJavaやC#といったオブジェクト指向言語で開発することが多くなった。しかし、データベース設計はオブジェクト指向モデルとうまくかみ合わず、データモデル設計に苦労するエンジニアは少なくない。本連載は、オブジェクト指向モデルとデータベースモデルのインピーダンスミスマッチに対応するテクニックを紹介する。(編集局) はじめに 本連載の第2回「O/Rマッピングで失敗しない分析・設計のポイント」では「実装フェイズにおけるデータモデルの違い」、第3回「OOAとDOAを併用した最適な分析/設計パターン」では「設計フェイズにおける設計手法の違い」により、インピーダンスミスマッチが発生すること、そしてインピーダンスミスマッチの影響を局所化する方法を解説しました。 ここで題材としていたシステムは、オブジェクト指向アプローチ(OOA)によるシステム開発に
Javaの世界では、POJOというものが流行している。Plan Old Java Objectの略で、Martin Fowler氏らの造語だ。シンプルで、依存性をなくしたオブジェクトのことをさす。しかし、このPOJOというものをどう捉えるべきか、まだまだはっきりしていないのではないかと感じる。ここでも、僕なりの説明を試みるわけだが、正解といえるかは分からない。ただ、方向性としては間違っていないと思っている。 POJOとは まず、POJOを、もう少し詳しく定義するなら、「自分がするべきことに対して最低限しか知らないオブジェクト」、さらに「実行環境やフレームワークのことは一切知らないオブジェクト」といえるのではないか。たとえば、ビジネスロジックを担当するPOJOであれば、自分のするべきこと、まさにロジックと、そのロジックに必要な他オブジェクトのインターフェース(まさに、interface)し
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く