목록공부 기록실 (12)
Leeyebin의 블로그
2.1 네 개의 영역 1. 표현 영역 - 사용자의 요청을 받아 응용 영역에 전달한다. 2. 응용 영역 - 기능을 구현하기 위해 도메인 영역의 도메인 모델을 사용한다. - 로직을 직접 수행하기보다는 도메인 모델에 로직 수행을 위임한다. 3. 도메인 영역 -도메인 모델을 구현한다. 4. 인프라 스트럭처 -구현 기술에 대한 것(RDBMS / MQ, SMTP...) -논리적인 개념을 표현하기보다는 실제 구현을 다룬다. 2.2 계층 구조 아키텍처 표현 계층은 응용 계층에 의존하고 응용 계층이 도메인 계층에 의존한다. 반대 방향으로는 의존 하지는 않는다. 엄격하게는 상위 계층은 바로 아래 계층에만 의존을 가져야 하지만 구현의 편리함을 위해 유연하게 적용할 수 있다. 응용 계층 -> 도메인 계층 / 응용 계층 -> ..
도메인 주도개발 책 공부를 하면서 내용 정리 1.1 도메인이란? 도메인이란? SI회사에 다닐 때 개발스킬이 아니라 업무에 대한 지식을 얘기할 때 도메인 지식이라는 말을 사용했던 것같은데 쉽게 설명하자면 "소프트웨어 프로그램에 대한 기능적으로 구분한 영역? 단위?"이라고 할 수 있을거 같다. 책에서는 온라인 서점을 예시로 보여준다. 한 도메인은 다시 하위 도메인으로 나눌 수 있다. 사진에서와 같이 온라인 서점 도메인은 몇 개의 하위 도메인으로 나눌 수 있다. 한 하위 도메인은 다른 하위 도메인과 연동하여 완전한 기능을 제공한다. 하지만 특정 도메인을 위한 소프트웨어라고 해서 도메인이 제공해야 할 모든 기능을 직접 구현하는 것은 아니다. (ex: 배송시스템/결제 시스템 등은 외부 업체를 이용해서 처리할 때가..
1. 분산 원장을 지원하는 기술 p.s 원장이란? 회계에서 쓰이는 용어다. 모든 계정의 거래내역을 기록하는 장부로 분개장에서 각각 분개한 것을 모으게 된다.(출처는 나무위키) 여기에서 나오는 의미는 금융관련 용어라고 할 수 있는데 내식대로 표현하자면 거래 내역이던 어떤 것에 이용 내역이던 내역을 기록하는 장부라고 이해 했다. 블록체인은 금융 분야에만 국한되지 않고 '분산 원장'으로 각 분야에 응용할 수 있는 범용성이 높은 기술이다. 이것의 의미는 지금까지 각 시스템이 개별적으로 데이터베이스에 저장하고 있던 원장 데이터를 블록체인 기술을 통해 네트워크로 공유할 수 있게 된다는것이다.분산 원장은 동일한 원장 데이터가 여러 시스템에 배치되어 있다. 사용자로부터 쓰기 요청이 있는 경우 그 상태를 모든 시스템에 ..
스프링 프레임워크의 IoC 컨테이너를 사용하여 자바 빈을 관리하는 방법을 알아본다. 스프링 프레임워크를 이용하면 우리가 만든 클래스를 이용하는 것보다 쉽고 편리하게 자바 빈을 관리할 수 있다. 8.1 스프링 IoC 컨테이너 사용 준비스프링 프레임워크에서는 빈 관리 컨테이너를 IoC(Inversion of Control)컨테이너라고 한다. 8.1.1의존성 주입(DI)과 역제어(IoC)의존성 주입을 일반적인 용어로 역제어(IoC:Inversion of Control)라고 한다. 즉 역제어(IoC)의 한 형태가 의존성 주입(DI)이다.역제어란 개발자가 작성한 코드의 흐름에 따라 제어가 이루어지는 것이 아니라 외부에 의해 코드의 흐름이 바뀌는 것을 말한다. 역제어 사례 - 의존성 주입 예전방식 class Pro..
퍼시스턴스 프레임워크(persistence framework)를 사용하면 직접 JDBC API를 호출하지 않고도 데이터베이스에 있는 데이터를 다룰 수 있다.(개발자 대신 퍼시스턴스 프레임워크가 JDBC API를 호출한다.) 퍼시스턴스(Persistence)-데이터의 지속성을 의미한다. 애클리케이션을 종료하고 다시 실행하더라도 이전에 저장한 데이터를 다시 불러올 수 있는 기술 프레임워크(Framework)-동작에 필요한 구조를 어느 정도 완성해 놓은 반제품 형태의 도구이다.(라이브러리는 개발에 필요한 도구들을 나열해 놓은 것) 퍼시스턴스 프레임워크-퍼시스턴스 프레임워크를 사용하면 JDBC 프로그래밍의 복잡함이나 번거로움 없이 간단한 작업만으로 데이터베이스와 연동되는 시스템을 빠르게 개발할 수 있다.-퍼시스..
6.1 프런트 컨트롤러의 도입 프런트 컨트롤러 패턴 이미지 출처 : 자바 웹 개발 워크북 P430 프런트 컨트롤러는 VO객체의 준비, 뷰 컴포넌트로의위임, 오류 처리 등과 같은 공통 작업ㅇ르 담당하고, 페이지 컨트롤러는 이름 그대로 요청한 페이지만을 위한 작업을 수행한다. 디자인 패턴 개발자는 늘 인스턴스의 생성과 소멸에 대해 관심을 가지고 시스템 성능을 높일 수 있는 방향으로 구현해야 한다. 또한 중복 작업을 최소화하여 유지보수를 좋게 만드는 방법을 찾아야 한다. 디자인 패턴은 검증된 방법들을 체계적으로 분류하여 정의한 것이다. 설계자의 경험(객체 생성 기법, 클래스 구조, 객체 간의 교류방법) --적용-->실무에서 검증(시스템) --분류--> 디자인 패턴(Factory Method, Singleton..
서블릿의 단점을 보완하기 위해 등장한 JSP(JavaServer Page) 5.1 MVC 이해하기 올인원 All-in-one 방식과 문제점 -이전에는 클라이언트와 요청 처리를 서블릿 홀로 담당하는 올인원 방식이었다.(서블릿 혼자 북치고 장구치고) -올인원 방식은 규모가 작거나 업무 변경이 많지 않은 경우에 적합하지만, 규모가 크거나 업무 변경이 잦은 경우에는 오히려 유지 보수가 어려워 운영 비용이 증가하게 된다. 글로벌 환경과 MVC 아키텍처 -시스템 변경이 잦은 상황에서 유지 보수를 보다 쉽게 하려면, 중복 코드의 작성을 최소화 하고, 코드 변경이 쉬워야 한다. 그래서 기존 코드의 재사용성을 높이는 방향으로 설계해야한다. 특히 객체지향의 특성을 활용하여 좀 더 역할을 세분화하고 역할 간 의존성을 최소화..
부록2 JDBC와 데이터베이스 2.1 데이터베이스가 없던 그 시절파일 입,출력 API를 사용하여 데이터 입,출력 프로그래밍데이터가 분리되어 통합 조회 어려움데이터의 중복 발생파일 형식이 애플리케이션 및 프로그래밍 언어에 종속됨 데이터 입,출력 프로그래밍이 번거롭다. 애플리케이션의 데이터가 분리되어 통합 조회가 어렵다. 데이터 중복이 발생한다.(저장 공간이 낭비된다., 데이터 무결성이 깨진다.) 파일형식이 애플리케이션이나 프로그래밍 언어에 종속된다. 2.2 데이터베이스의 등장파일 입,출력 프로그래밍으로부터 탈출데이터 통합 관리 및 데이터 중복 감소애플리케이션으로부터 독립개발자의 파일 입,출력 프로그래밍으로부터 자유롭다.(파일 입,출력 API를 사용하여 데이터를 읽고 쓰는 것은 DBMS에게 맡실 수 있다.)..
3.1 CGI 프로그램과 서블릿 CGI의 이해 웹 서버와 프로그램 사이의 데이터를 주고받는 규칙을 CGI(Common Gateway Interface) CGI 프로그램 컴파일 방식은 기계어로 번역된 코드를 바로 실행하기 때문에 실행 속도가 빠르지만, 변경 사항이 발생할 때마다 다시 컴파일하고 재배포할 수 있다. 스크립트 방식은 실행할 때마다 소스 코드의 문법을 검증하고 해석해야 해서 실행 속도가 느리고, 변경 사항이 발생하면 소스 코드를 수정하고 저장만하면 된다. 서블릿 자바 CGI 프로그램은 컴파일 방식 / 자바로 만든 CGI 프로그램을 '서블릿(Servlet)'이라고 부른다. 자바 서블릿이 다른 CGI 프로그램과 다른 점은, 웹 서버와 직접 데이터를 주고받지 않고 전문 프로그램에 의해 관리된다. 서블..
부록11.1 메인 프레임의 시대예전에는 메인 프레임이라는 거대한 컴퓨터에 여러 대의 터미널을 물려서 사용함 특징중앙 집중형소프트웨어의 유지보수 용이(기능 추가나 변경 시 메인 프레임에만 배포하면 됨)보안 용이(메인 프레임에 연결된 터미널을 통하지 않고서는 시스템을 사용할 수 없음)개발도구3세대 언어(Cobol, Fortran, PL/1, C 등)개발 프로세스(절차적 프로그래밍, 구조적 개발 방법론, Top-down 방식, Function 중심 등)단점하드웨어 증설에 한계(사용자나 사용량이 계속해서 증가하는 상황이라면 하드웨어 교체에 따른 유지보수비가 많이 드는 구조) 1.2 클라이언트/서버의 시대하드웨어 사양이 좋아지면서 예전의 메인 프레임 급 수준의 서버용 컴퓨터를 저렴하게 구축할 수 있게 되었음PC ..