월별 글 목록: 2010년 3월월

Circular Dependency Problem

Circular Dependency의 해악은 개발을 하다보면 자연스럽게 알게 된다. 회사에서 개발하는 시스템중에 처음에는 그러하지 않았을 것인데, 아키텍처링을 할 수 없는 지금의 조직에서 자연스럽게 Circular Dependency를 걸어버렸다. 일정이라는 최고의 방패를 무기 삼어서 말이다. 결국, 의존과 버전에 묶여서 뗄레야 뗄루 없는 커플처럼 되어 버린 기존의 시스템은 또다시 거대한 레거시로의 한발한발 다가서고 있다.

정말로 뗄 수 없을 정도로 말이다. 누군가는 나서서 해결을 해야 겠지만, 누가 하겠는가.. 일정에 맞춰서 들어온 일 처리해야쥐. 결국 시스템의 모습은 직책자들의 마인드와 의지가 만들어 내는 우리의 현실이며, 이 모습은 좋은 개발팀 혹은 좋은 개발실은 아니라는 느낌을 지울 수 없다..

아래 Building 속성에서 Circular dependencies는 Warning이 아니라 Error 상황이 되어야 된다. 그래서, 위의 상황을 미리 방지하는 것이 좋겠다. 단순히, 일정에 맞춰야 되서 Warning이 Default가 되어서는 안될 것이다.

Framework vs Toolkit

프레임웍과 툴킷의 차이입니다.
아래 내용은 http://kamalmeet.com/?p=24 에서 참고를 하였습니다.

a toolkit is something which will provide you with some tools or methods which will help you achieve your goal.

a framework is something that provides you a way in which the application should be created.

Platform vs. Framework

플랫폼과 프레임웍에 대한 비교내용입니다.
wikipedia보다 더 잘 정의가 되어 있는 내용이 있어서 올려봅니다.
아래 내용을 읽어보니, 느낌이 확 오네요.. ^^
출처 정보는 아래와 같습니다. 흠. 복사할때 아래의 정보를 넣어주네요.. 네이버 참 좋다..^^


platform

 

1) In computers, a platform
is an underlying computer system on which application programs can run.
On personal computers, Windows 2000 and the Mac OS X are examples of two
different platforms. On
enterprise servers or mainframes, IBM’s S/390 is an
example of a platform.

A platform consists of an operating system, the computer
system’s coordinating program, which in turn is built on the instruction
set for a
processor or microprocessor, the hardware that
performs logic operations and manages data movement in the computer. The
operating system must be designed to work with the particular
processor’s set of instructions. As an example, Microsoft’s Windows 2000
is built to work with a series of microprocessors from the Intel
Corporation that share the same or similar sets of instructions. There
are usually other implied parts in any computer platform such as a
motherboard and a data bus, but these parts have increasingly become
modularized and standardized.

Historically,
most application programs have had to be written to run on a particular
platform. Each platform provided a different application program
interface for different system services. Thus, a PC program would have
to be written to run on the Windows 2000 platform and then again to run
on the Mac
OS X platform. Although these
platform differences continue to exist and there will probably always be
proprietary differences between them, new
open or standards-conforming
interfaces now allow many programs to run on different platforms or to
interoperate with different platforms through mediating or “broker”
programs.

2) A platform is
any base of technologies on which other technologies or processes are
built.

 

framework

In general, a framework is a real or conceptual structure
intended to serve as a support or guide for the building of something
that expands the structure into something useful.

In computer systems, a
framework is often a layered structure indicating what kind of programs
can or should be built and how they would interrelate. Some computer
system frameworks also include actual programs, specify programming
interfaces, or offer programming tools for using the frameworks. A
framework may be for a set of functions within a system and how they
interrelate; the layers of an operating system; the layers of an
application subsystem; how communication should be standardized at some
level of a network; and so forth. A framework is generally more
comprehensive than a
protocol and more prescriptive than a
structure.

이클립스에서 자바 소스 보기

이클립스에서 자바로 개발을 하다보면, 라이브러리나 API대상의 코드를 확인하기 위해서 F3 키를 눌려서 확인한다. 특히 자바 API 소스를 보기 위해서는 자바 소스를 간단하게 링크만 하면 된다. 아래의 이미지처럼, JRE System Library에서 rt.jar의 속성창에서 Java Source Attachment의 Location path에 src의 위치를 확인시켜 주면 소스가 잘 나온다.

Enterprise Integration Patterns

엔터프라이즈 환경에서 레거시 시스템들과의 통합이 이슈화 되는 시점에서 이것저것 찾아보니, 좋은 책이 있네요.

Enterprise Integration Patterns, Web Service, SOA, ESB등의 개념에 대한 비교도 http://www.enterpriseintegrationpatterns.com/eaipatterns.html 에 잘 설명이 되어 있네요.. 그리고, http://www.enterpriseintegrationpatterns.com/toc.html 에 각 패턴에 대한 간단한 기술이 되어 있어서 대충 감을 잡기에 좋네요..

이거 한번 읽어보니, 삽질의 세계로 다시 한번.. ^^