IoC는 Dependency Lookup 과 Dependency Injection 으로 나뉜다. □ Dependency LookupIoC 컨테이너는 각 컨테이너에서 관리할 객체들을 위한 별도의 Bean 설정파일을 가진다. (XML 파일)이런 저장소에서 사용자가 사용하고자 하는 빈을 특정 id로 찾아서 사용하는 방식.Bean을 Lookup 하기 위하여 컨테이너에 제공하는 API와 의존관계가 발생(ApplicationContext의 getBean() 메소드)가능한 Dependency Lookup을 사용하지 않는 것이 컨테이너의 종속성을 줄일 수 있다. □ Dependency Injection (Spring에서 사용)하나의 객체가 정상적으로 수행되기 위해서 다른 객체를 참조하는 것을 의존관계.각 클래스 사이의..
□ POJO (Plain Old Java Object) - 특정 규약(contract)에 종속되지 않는다. (Java 언어와 꼭 필요한 API 외에 종속되지 않는다.)- 특정 환경에 종속되지 않는다.- 객체지향 프로그래밍 기법과 언어가 주는 장점인 유연한 설계와 재사용성 활용하여 비즈니스의 복잡성과 변화를 상대함. □ Spring Framework스프링은 자바 엔터프라이즈 애플리케이션 개발에 사용되는 프레임워크입니다. 애플리케이션 프레임워크는 애플리케이션의 개발을 빠르고 효율적으로 할 수 있도록 애플리케이션의 바탕이 되는 틀과 공통 프로그래밍 모델, 기술 API등을 제공합니다. POJO 프레임워크 중 하나이며, 자바 애플리케이션 개발을 위한 포괄적인 인트라 스트럭처를 제공하는 자바 플랫폼이다. 스프링을 ..
□ EJB (Enterprise JavaBeans) 엔터프라이즈 자바빈즈(Enterprise JavaBeans; EJB)는 기업환경의 시스템을 구현하기 위한 서버측 컴포넌트 모델이다. 즉, EJB는 애플리케이션의 업무 로직을 가지고 있는 서버 애플리케이션이다. EJB 사양은 Java EE의 자바 API 중 하나로, 주로 웹 시스템에서 JSP는 화면 로직을 처리하고, EJB는 업무 로직을 처리하는 역할을 한다. Multi-tier의 분산형 객체지향 JAVA 어플리케이션을 개발하고 보급하기 위한 컴포넌트 아키텍쳐로서 Sun 사에서 개발했고, EJB는 확장성 있는 어플리케이션 서버 컴포넌트들을 지원하는 여러 서비스들을 제공함으로써 비즈니스 어플리케이션들을 컴포넌트 단위로 쉽게 작성 할 수 있도록 합니다. EJ..
모노리틱 아키텍쳐(Monolithic Architecture) 마이크로 서비스 아키텍쳐를 이해하려면 먼저 모노리틱 아키텍쳐 스타일에 대해서 이해해야 한다 모노리틱 아키텍쳐 스타일은 기존의 전통적인 웹 시스템 개발 스타일로, 하나의 애플리케이션 내에 모든 로직들이 모두 들어 가 있는 “통짜 구조” 이다. 예를 들어, 온라인 쇼핑몰 애플리케이션이 있을때, 톰캣 서버에서 도는 WAR 파일(웹 애플리케이션 패키징 파일)내에, 사용자 관리,상품,주문 관리 모든 컴포넌트들이 들어 있고 이를 처리하는 UX 로직까지 하나로 포장되서 들어가 있는 구조이다. 각 컴포넌트들은 상호 호출을 함수를 이용한 call-by-reference 구조를 취한다. 전체 애플리케이션을 하나로 처리하기 때문에, 개발툴 등에서 하나의 애플리케..
REST(Representational State Transfer) "웹에 존재하는 모든 자원(이미지, 동영상, DB 자원)에 고유한 URI를 부여해 활용"하는 것으로, 자원을 정의하고 자원에 대한 주소를 지정하는 방법론 애플리케이션의 복잡도가 증가하면서 애플리케이션을 어떻게 분리하고 통합하느냐가 주요 이슈가 되었고, 이에 자바 진영에서는 과거 EJB(Enterprise Java Beans), SOA(Service Oriented Architecture)에 이어 최근에는 MSA(Micro Service Architecture)와 함께 REST가 떠오르고 있는 것이다. 그리고 모바일과 같은 다양한 클라이언트의 등장하면서 Backend 하나로 다양한 Device를 지원하기 위해 REST의 필요성이 증대되었다..
import java.util.ArrayDeque;import java.util.ArrayList;import java.util.Deque;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.LinkedList;import java.util.List;import java.util.Map;import java.util.Set; public class Test { public static void main(String[] args) {// TODO Auto-generated method stub Deque deque = new ArrayDeque(); System.out.print("Deque ..
파워빌더는 네트웍을 통해 배포될 수 있는 객체 지향형 클라이언트/서버 구조의 프로그램을 만들 수 있는 응용프로그램 개발도구로서 보편적으로 사용되고 있다. 파워빌더는 한때 네트웍 내의 분산 데이터베이스 구축 제품 판매에 선두주자 역할을 했던 Sybase사의 제품인데, 파워빌더가 그들의 경쟁사에 비해 우위를 가지는 주요 특성중의 하나는 객체 지향형 인터페이스를 사용하는 데이터베이스를 구축하는 특성을 갖고 있다는 것이다. 파워빌더로 만들어진 응용프로그램은 ODBC (Open Database Connectivity)를 이용, 다른 플랫폼 상에서 운영되는 데이터베이스들에도 접근하여 그 데이터를 이용할 수 있다. 파워빌더는 다음과 같은 세부적인 도구들로 구성되어 있다.대규모의 클래스 라이브러리 : 개발자가 직접 만..
데이터 마트 (Data Mart, DM)는 데이터 웨어하우스(Data Warehouse, DW) 환경에서 정의된 접근계층으로, 데이터 웨어하우스에서 데이터를 꺼내 사용자에게 제공하는 역할을 한다. 데이터 마트는 데이터 웨어하우스의 부분이며, 대개 특정한 조직, 혹은 팀에서 사용하는 것을 목적으로 한다. 개개의 데이터 마트와 데이터 웨어하우스는 형식상 다른 존재이다. 그러나, 이 용어를 사용하는 대부분의 저자들은 용어의 의미상 데이터마트가 사용자 요구 분석에서 시작하는 개념으로 해석하고 데이터 웨어하우스는 기존의 데이터를 어떻게 수집, 분석하고 이를 어떻게 재사용할 것인가에 대한 개념으로 해석한다.데이터 웨어하우스는 중앙 집중식 데이터 집합체 (물리적으로는 분산되어 있음)를 뜻하며, 데이터 마트는 데이터 ..
데이터 마이닝(data mining)은 대규모로 저장된 데이터 안에서 체계적이고 자동적으로 통계적 규칙이나 패턴을 찾아 내는 것이다. 데이터 마이닝은 통계학에서 패턴 인식에 이르는 다양한 계량 기법을 사용한다. 데이터 마이닝 기법은 통계학쪽에서 발전한 탐색적자료분석, 가설 검정, 다변량 분석, 시계열 분석, 일반선형모형 등의 방법론과 데이터베이스 쪽에서 발전한 OLAP (온라인 분석 처리:On-Line Analytic Processing), 인공지능 진영에서 발전한 SOM, 신경망, 전문가 시스템 등의 기술적인 방법론이 쓰인다.데이터 마이닝의 응용 분야로 신용평점 시스템(Credit Scoring System)의 신용평가모형 개발, 사기탐지시스템(Fraud Detection System), 장바구니 분석..