SlideShare a Scribd company logo
1 of 30
Download to read offline
주니어 개발자도 이해 할 수 있는
코어 J2EE 패턴
- 라면공장편 -
2014. 12

Darion Kim
나는 누구?
Darion Kim (김헌기)
디에스멘토링 연구소 수석
보
자칭 통신(통합의 신, God of
Integration)
hnki0104@me.com
https://www.facebook.com/
groups/serverside (율이아빠)
이 문서를 모든
Freshman에게 바칩니다.

(for YMS, JHJ)
약속드립니다. ^^

절대 어렵게 얘기하
지 않겠습니다.
대신 좀 유치하더라도
제 눈높이에 맞춰
공감해주셨으면 합니다.
자~ 이제 들어가
보도록 하겠습니다.
저와 눈높이를 맞춰주세요.

아니시면 여기까지…^^
지금부터 제가 좋아하는 라면
얘기를 하려합니다.
라면은 면과 스프(분말+후레이
크)로 이루어져있습니다.
라면의 뒷면을 보겠습니다.
유통기간 외에 다른것이보입니다.
좀더 자세히 보면 구미라는
글자가 보입니다.
자~~~ 여기서 질문입니다.
도대체 구미가 뭘까요?
정답은 전국 라면 공장중에
하나가 구미공장입니다.
각 라면 공장은 그 지역의 재료를
공급받지만 라면 맛은 공장에 관
계없이 동일한 맛으로 생산됩니다.
안양, 안성, 아산, 구미, 녹산, 부산
공장의 라면 맛은
모두 동일합니다.
안양 안성 아산 구미 녹산 부산
= == = =
라면의 생산공장은 지역
마다 다르지만 라면 맛은
동일하다가 포인트입니다.
저는 이것을 라면공장패턴 이
라 이름을 지었습니다.

우리는 어떤 것을 만들어 낼때 라
면 같이 동일한 맛을 만들어내는
라면공장이 필요할 때가 있습니다.
좀 유식한 말로
팩토리 메서드 패턴(Factory
Method Pattern)이라고 합니다.
원래 얘기하려고 했던 Java
기반의 웹 환경으로 다시 말
씀드리겠습니다.
Java에서 DB에 접근하려면
JDBC(Java Database Connectivity)
기술을 사용하여 다양한 DB에
접근 할 수 있습니다.
Java
Application
JDBC

API
JDBC Driver

Manager
Oracle
Oracle

JDBC Driver
MySQL
MySQL
JDBC Driver
SQL Server
SQL Server

JDBC Driver
DB2
DB2

JDBC Driver
우리는 JDBC API를 인터페이스 기준으로 사
용만 하지 어떻게 만들어졌다는 것에 대해
서는 궁금하지 않습니다.

또 DB에 종속적인 API를 알 필요도 없습니다.
(* 약간의 예외는 있습니다.)
JDBC

API
이를 가능하게 한 것이

JDBC Driver의 인터페이스가 정의되면 각
각의 DB Vendor에서 직접 JDBC Driver의 구
현체를 구현합니다.

이미 각 DB Vendor에서 구현했기 때문에 그
냥 JDBC Driver로 사용하기만 하면 됩니다.
JDBC Driver

Manager
Oracle

JDBC Driver
MySQL
JDBC Driver
SQL Server

JDBC Driver
DB2

JDBC Driver
라면 = JDBC Driver

라면 공장 = DB Vendor
Core J2EE Design Pattern에
는 DAO 패턴(Data Access
Object Pattern) 이 있습니다.
주로 DB에 접근하여 DB연동
작업을 처리하는 역할입니다.
DAO도 인터페이스로 정의하고 라면
공장 패턴을 적용하여 각각의 DB에
맞게 구현하면 추후에 DB가 변경되
어도 추가적인 작업이 필요없습니다.
DAO
Oracle

DAO
MySQL
DAO
SQL Server

DAO
DB2

DAO
DAO를 SpringBoot + Spring Data JPA

조합으로 사용하시면
정말 쉽게 사용하실 수 있습니다.
+
라면공장 패턴을 잘 적용하면
개발자 삶이 윤택해 질수 있다고
다시 한번 말씀드리고 싶습니다.
참고로 이 문서는 기술적인 근거 자료로 사
용하기 힘든 문서임을 알려드립니다.


처음 시작하는 분들에게 개념을 쉽게 이해
하게 하고 접근하게 하기 위해 만든 문서임
을 알려드립니다. ^^
이상 율이아빠였습니다.

More Related Content

Viewers also liked

[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
Sang Don Kim
 

Viewers also liked (20)

코드품질 개선을 위한 GS SHOP 고군분투기
코드품질 개선을 위한 GS SHOP 고군분투기코드품질 개선을 위한 GS SHOP 고군분투기
코드품질 개선을 위한 GS SHOP 고군분투기
 
주니어 개발자도 이해 할 수 있는 의존성 주입(Dependency Injection)
주니어 개발자도 이해 할 수 있는 의존성 주입(Dependency Injection)주니어 개발자도 이해 할 수 있는 의존성 주입(Dependency Injection)
주니어 개발자도 이해 할 수 있는 의존성 주입(Dependency Injection)
 
주니어 개발자도 이해 할 수 있는 Go - Scope 편
주니어 개발자도 이해 할 수 있는 Go - Scope 편주니어 개발자도 이해 할 수 있는 Go - Scope 편
주니어 개발자도 이해 할 수 있는 Go - Scope 편
 
주니어 개발자도 이해 할 수 있는 Go - Namespace 편
주니어 개발자도 이해 할 수 있는 Go - Namespace 편주니어 개발자도 이해 할 수 있는 Go - Namespace 편
주니어 개발자도 이해 할 수 있는 Go - Namespace 편
 
주니어 개발자도 이해 할 수 있는 Go언어 시작하기 - 설치편
주니어 개발자도 이해 할 수 있는 Go언어 시작하기 - 설치편주니어 개발자도 이해 할 수 있는 Go언어 시작하기 - 설치편
주니어 개발자도 이해 할 수 있는 Go언어 시작하기 - 설치편
 
Owasp top 10 2013 - 정다운 -
Owasp top 10   2013 - 정다운 -Owasp top 10   2013 - 정다운 -
Owasp top 10 2013 - 정다운 -
 
Node.js Cloud Service Publish
Node.js Cloud Service PublishNode.js Cloud Service Publish
Node.js Cloud Service Publish
 
사용자가 업로드한 사진의 마커를 이용해 OpenCV + aruco로 일정한 형태로 만들고 영상으로 만들어 보았다.
사용자가 업로드한 사진의 마커를 이용해 OpenCV + aruco로 일정한 형태로 만들고 영상으로 만들어 보았다.사용자가 업로드한 사진의 마커를 이용해 OpenCV + aruco로 일정한 형태로 만들고 영상으로 만들어 보았다.
사용자가 업로드한 사진의 마커를 이용해 OpenCV + aruco로 일정한 형태로 만들고 영상으로 만들어 보았다.
 
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
 
Go로 push agent 개선하기
Go로 push agent 개선하기Go로 push agent 개선하기
Go로 push agent 개선하기
 
메시지 발송 브로커를 만들어보자
메시지 발송 브로커를 만들어보자메시지 발송 브로커를 만들어보자
메시지 발송 브로커를 만들어보자
 
Ksug2015 jpa5 스프링과jpa
Ksug2015 jpa5 스프링과jpaKsug2015 jpa5 스프링과jpa
Ksug2015 jpa5 스프링과jpa
 
SpringDataJPA - 스프링 캠프
SpringDataJPA - 스프링 캠프SpringDataJPA - 스프링 캠프
SpringDataJPA - 스프링 캠프
 
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
 
[Spring Camp 2013] Java Configuration 없인 못살아!
[Spring Camp 2013] Java Configuration 없인 못살아![Spring Camp 2013] Java Configuration 없인 못살아!
[Spring Camp 2013] Java Configuration 없인 못살아!
 
Java/Spring과 Node.js의 공존 시즌2
Java/Spring과 Node.js의 공존 시즌2Java/Spring과 Node.js의 공존 시즌2
Java/Spring과 Node.js의 공존 시즌2
 
Jpa 잘 (하는 척) 하기
Jpa 잘 (하는 척) 하기Jpa 잘 (하는 척) 하기
Jpa 잘 (하는 척) 하기
 
Node.js 기본
Node.js 기본Node.js 기본
Node.js 기본
 
Java/Spring과 Node.js의공존
Java/Spring과 Node.js의공존Java/Spring과 Node.js의공존
Java/Spring과 Node.js의공존
 
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
 

Similar to 라면공장패턴

131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원
NAVER D2
 
Data oriented design
Data oriented designData oriented design
Data oriented design
Sangwook Kwon
 

Similar to 라면공장패턴 (20)

유니티3D 그리고 웹통신
유니티3D 그리고 웹통신유니티3D 그리고 웹통신
유니티3D 그리고 웹통신
 
131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원
 
Ndc17 DevOps? DevOps개발자? 북미에서의 6년
Ndc17 DevOps? DevOps개발자? 북미에서의 6년Ndc17 DevOps? DevOps개발자? 북미에서의 6년
Ndc17 DevOps? DevOps개발자? 북미에서의 6년
 
웹사이트기획 및 관리
웹사이트기획 및 관리웹사이트기획 및 관리
웹사이트기획 및 관리
 
Hibernate start (하이버네이트 시작하기)
Hibernate start (하이버네이트 시작하기)Hibernate start (하이버네이트 시작하기)
Hibernate start (하이버네이트 시작하기)
 
예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기
 
사내 TDD 도입을 위한 설명 문서
사내 TDD 도입을 위한 설명 문서사내 TDD 도입을 위한 설명 문서
사내 TDD 도입을 위한 설명 문서
 
개발자들 뭐 하는 건가요?
개발자들 뭐 하는 건가요?개발자들 뭐 하는 건가요?
개발자들 뭐 하는 건가요?
 
Things Happend between JDBC and MySQL
Things Happend between JDBC and MySQLThings Happend between JDBC and MySQL
Things Happend between JDBC and MySQL
 
자바가 디비와 사귀기 까지 벌어지는 일들
자바가 디비와 사귀기 까지 벌어지는 일들자바가 디비와 사귀기 까지 벌어지는 일들
자바가 디비와 사귀기 까지 벌어지는 일들
 
이제 막 웹개발자 되고싶은 분들께
이제 막 웹개발자 되고싶은 분들께이제 막 웹개발자 되고싶은 분들께
이제 막 웹개발자 되고싶은 분들께
 
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - HTML, Android Animation
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - HTML, Android Animation[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - HTML, Android Animation
[D2 CAMPUS] 안드로이드 오픈소스 스터디자료 - HTML, Android Animation
 
SQL Server에서 Django를 추구하면 안 되는 걸까?
SQL Server에서 Django를 추구하면 안 되는 걸까?SQL Server에서 Django를 추구하면 안 되는 걸까?
SQL Server에서 Django를 추구하면 안 되는 걸까?
 
Ryan Dahl의 Node.js 소개 동영상 해설 by doortts
Ryan Dahl의 Node.js 소개 동영상 해설 by doorttsRyan Dahl의 Node.js 소개 동영상 해설 by doortts
Ryan Dahl의 Node.js 소개 동영상 해설 by doortts
 
20131002 AWS Meister re:Generate - DynamoDB (Korean)
20131002 AWS Meister re:Generate - DynamoDB (Korean)20131002 AWS Meister re:Generate - DynamoDB (Korean)
20131002 AWS Meister re:Generate - DynamoDB (Korean)
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기
 
레거시 프로젝트 개선기 (사내 발표 자료)
레거시 프로젝트 개선기 (사내 발표 자료)레거시 프로젝트 개선기 (사내 발표 자료)
레거시 프로젝트 개선기 (사내 발표 자료)
 
(번역)서버 미경험자가 소셜 게임을 통해 알게 된 서버에 대한 것
(번역)서버 미경험자가 소셜 게임을 통해 알게 된 서버에 대한 것(번역)서버 미경험자가 소셜 게임을 통해 알게 된 서버에 대한 것
(번역)서버 미경험자가 소셜 게임을 통해 알게 된 서버에 대한 것
 
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
 
Data oriented design
Data oriented designData oriented design
Data oriented design
 

More from Darion Kim

More from Darion Kim (6)

지금… IT개발팀에서 일하는 방식 GS SHOP 고군분투기
지금… IT개발팀에서 일하는 방식 GS SHOP 고군분투기지금… IT개발팀에서 일하는 방식 GS SHOP 고군분투기
지금… IT개발팀에서 일하는 방식 GS SHOP 고군분투기
 
자발적 자기완결형 개발 문화를 위한 GSShop 고군분투기
자발적 자기완결형 개발 문화를 위한 GSShop 고군분투기자발적 자기완결형 개발 문화를 위한 GSShop 고군분투기
자발적 자기완결형 개발 문화를 위한 GSShop 고군분투기
 
디지털화 역량강화를 위한 GS SHOP 고군분투기
디지털화 역량강화를 위한 GS SHOP 고군분투기디지털화 역량강화를 위한 GS SHOP 고군분투기
디지털화 역량강화를 위한 GS SHOP 고군분투기
 
개발방식의 변화를 위한 GSShop 고군분투기
개발방식의 변화를 위한 GSShop 고군분투기개발방식의 변화를 위한 GSShop 고군분투기
개발방식의 변화를 위한 GSShop 고군분투기
 
재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144
재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144
재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144
 
바가지 머리 시스템 구조 & 서비스 배포 삼대 패밀리 이야기
바가지 머리 시스템 구조 & 서비스 배포 삼대 패밀리 이야기바가지 머리 시스템 구조 & 서비스 배포 삼대 패밀리 이야기
바가지 머리 시스템 구조 & 서비스 배포 삼대 패밀리 이야기
 

라면공장패턴