レベルエンター山本大のブログ

面白いプログラミング教育を若い人たちに

BLOCKVROCKリファレンス目次はこちら

2007-03-01から1ヶ月間の記事一覧

Guice API翻訳 ■com.google.inject.Moduleインターフェイス

Interface Module com.google.inject.ModuleAll Known Implementing Classes: AbstractModule, ServletModule public interface Module A module contributes configuration information, typically interface bindings, which will be used to create an In…

Guice API翻訳 ■com.google.inject.Guiceクラス

Class Guice java.lang.Object └com.google.inject.Guice public final class Guice extends Object The entry point to the Guice framework. Creates Injectors from Modules. Guiceフレームワークのエントリーポイントです。Module群からInjectorを作成し…

C# 3.0の新しい言語仕様

C#

C#2.0と比較したときのC#3.0の新しい言語仕様を紹介します。 引用元:http://www.codepost.org/view/126動的型付け言語の影響を強く受けた仕様だという印象があります。(MSらしいなぁ) 「var」キーワード VB6.0以前のVariant型に似たものでしょう。「何で…

手続き型をトランザクションスクリプトと呼べば許される気持ちになる

Javaを使っていても、オブジェクト指向分析・設計をやっていても、結局「手続き型のアーキテクチャ」になっている企業システムをよく見かける。そして多くの場合、それがそのプロジェクトでは最も良い選択肢であると感じる。マーティンファウラーさん著のエ…

Guiceのソースから学ぶGenerics

GuiceはJavaのGenerics機能をフル活用したタイプセーフなフレームワークです。 私も、当初よりGenerics機能は、Javaの静的型付け言語的良さを強化する素晴らしい機能だと思っていましたが、実用方法としてはCollectionフレームワーク以上のものが思いつきま…

View - Modelにインピーダンスミスマッチがある

ORMの対象領域で有名なインピーダンスミスマッチだけど、 Webアプリケーションの場合、StrutsやServlet&JSPなんかを使うと ViewとModel層にもインピーダンスミスマッチが発生してしまうのではないだろうか?O-Rのインピーダンスミスマッチは、モデリングの…

開発プロセスの議論

Kronos社内では最近開発プロセスの優劣について話題が熱い。 開発プロジェクトの正解を探す旅をはじめてこそ、真のエンジニアに近づけると思うのでこの傾向はとても好ましい。 しかしこの議論には、まずはさまざまな前提を先に共有すべきだ。 ■ 究極の開発プ…

DI解説のなかで、DIのメリット説明方法

■DIの説明で「生成処理の一元管理のメリット」を言うなら「一時的なクラスの切替のシナリオ」を使うべき DIのメリットを説明するときの話。 DIで管理することで「具象クラスに仕様変更があったときに切替が容易」といいますが、Eclipseリファクタリング全盛…

DI解説のなかで、インターフェイスのメリットの説明方法

■インターフェイスは単体では依存性を弱めない インターフェイスの効能として、よく「依存性を弱める」「疎結合にする」があげられますが、これはインターフェイスだけの効能ではありません。依存性を弱めるにはインターフェイスの仲介だけでは駄目です。 イ…

レビューコメント

あるDIに関連するFrameWorkの本の監修レビューをしています。 その中で思う色々を以下につづります。

要求と要件

要求 顧客が表面的に欲しがっている事項 要件 要求の中でも、なくてはならない必須事項 このとき、「顧客にとって要求はすべて要件では?」という疑問があるかもしれないが、顧客は実現可能性(コスト・納期含む)を検討していない。 顧客要求(やりたいこと…

Guice Featured Wiki Pages■Spring Comparison

SpringComparison Springとの比較How does Guice compare to Spring et al? The Spring Framework, created by Rod Johnson, blazed the Java dependency injection trail. If not the first dependency injection framework, you can certainly credit Spri…

見積もりの良し悪し

PM

プロジェクトマネージメントで四苦八苦しながら考えてることをまとめていきたいと思います。 マネージメントに首を突っ込んだ当初「見積」をどうやっていいかわからなくて困った。 「不確実な未来をどう見積もったら良いのか?」に非常に苦しむ。 見積段階は…

UsingTerracottaDSO via TSS

TheServerSide.comに掲載された「UsingTerracottaDSO」の記事の翻訳 Terracottaとは 複数のJavaVM上で同じJavaオブジェクトを共用できるオープンソース製品。 2005年の製品登場時期より150台を超えるWEBコンテナのセッションをクラスタリングする事例が出る…

Wicket Examples ■StockQuote Component

WicketのStockQuote Componentサンプルのチュートリアルカスタムコンポーネント: 株式相場 Custom Component: StockQuote This example shows how to create a custom Wicket component: a stock quote component. We assume you already are familiar with…

Wicket Examples ■Markup Inheritance

Wicketのマークアップの継承サンプルのチュートリアルThis markup inheritance example show you how to create reusable page layouts and panel layouts. このマークアップ継承のサンプルでは、再利用可能なページレイアウトおよびパネルレイアウトの作り…

Wicket Examples ■Ajax Counter

WicketのAjax カウンターサンプルのチュートリアルAjax CounterAjax カウンターThis example shows you how to use Wicket's Ajax behaviors and components by building a simple counter that updates through Ajax link clicks. このサンプルは、Ajaxリン…

Wicket Examples ■Using Fragments

Wicketのフラグメントの利用法サンプルのチュートリアルフラグメントを使うThis example shows you how to use fragments (Wicket 1.2 feature) to lessen the burden on extra markup files. Fragments are 'inline panels' and are a quick way of using p…

[翻訳]Guice User's Guide ■34. Appendix: How the Injector resolves injection requests

付録:Injectorはどうやってインジェクションの要求を解決しているか?The injector's process of resolving an injection request depends on the bindings that have been made and the annotations found on the types involved. Here is a summary of ho…

Guice User's Guide 完訳

ようやく完訳しました。多分めちゃくちゃ誤訳だらけです。自分で読んでて意味判らんところもありますので。。よかったら御指摘ください。 id:shot6さんが一覧化してくださいました。 http://d.hatena.ne.jp/shot6/20070320 一覧だと上から読めますね。 あり…

GuiceでHelloWorld

会社の技術情報サイトに寄稿してます。 http://www.kronos-jp.net/tech_list.htmlすでに出回りまくった初級編ですが、よろしければ!

Wicket Examples ■Wicket Features

Wicketの特徴 ※ 最近Guiceと共に気に入ってるWicketの公式サンプル解説を訳します。 Wicket (http://wicket.sourceforge.net)

Wicket Examples ■Hello World!

WicketのHelloWorldサンプルのチュートリアル HelloWorld demonstrates the basic structure of a web application in Wicket. A Label component is used to display a message on the home page for the application. このHelloWorldはWicketを使ったWebア…

Wicket Examples ■Navomatic

WicketのNavomaticサンプルのチュートリアル オートマティックナビゲーション、ナボマティック ?? Navomatic The Navomatic application shows the use of border components and links to create a navigation component that can easily be dropped into…

Wicket Examples ■GuestBook Application

WicketのGuestBookサンプルのチュートリアル GuestBook The GuestBook application allows users to enter comments that appear on a page like a weblog. Drawing the list of comments is very easy with the Wicket ListView component. This example al…

[翻訳]Guice User's Guide ■16. Implicit Bindings

暗黙的なバインドAs we saw in the introduction, you don't always have to declare bindings explicitly. In the absence of an explicit binding, Guice will try to inject and create a new instance of the class you depend on. If you depend on an …

[翻訳]Guice User's Guide ■17. Injecting Providers

インジェクティング・プロバイダー(注入仲介者)Sometimes a client needs multiple instances of a dependency per injection. Other times a client may not want to actually retrieve an object until some time after the actual injection (if at all…

[翻訳]Guice User's Guide ■18. Injecting Constant Values

定数値のインジェクトWhen it comes to constant values, Guice gives special treatment to several types:定数値が設定されると、Guiceはそれぞれの種類によって固有の処理を行います。 Primitive types (int, char, ...) Primitive wrapper types (Intege…

[翻訳]Guice User's Guide ■19. Converting Strings

文字列の変換If Guice still can't find an explicit binding for one of the above types, it will look for a constant String binding with the same binding annotation and try to convert its value. For example:Guiceが、上記の種類の中でも明示的な…

[翻訳]Guice User's Guide ■20. Custom Providers

カスタムプロバイダーSometimes you need to create your objects manually rather than let Guice create them. For example, you might not be able to add @Inject annotations to the implementation class as it came from a 3rd party. In these cases…