Suche senden
Hochladen
주니어 개발자도 이해하는 코어 J2EE 패턴 - 학급반장편 -
•
72 gefällt mir
•
5,557 views
Darion Kim
Folgen
주니어 개발자도 이해하는 코어 J2EE 패턴 - 학급반장편 -
Weniger lesen
Mehr lesen
Software
Melden
Teilen
Melden
Teilen
1 von 43
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
라면공장패턴
라면공장패턴
Darion Kim
7개의 키워드로 만나는 책쓰기
7개의 키워드로 만나는 책쓰기
DongHwan Yu
주니어 개발자도 이해 할 수 있는 아름다운 JVM 세상
주니어 개발자도 이해 할 수 있는 아름다운 JVM 세상
Darion Kim
IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편
IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편
Darion Kim
주니어 개발자도 이해 할 수 있는 Go - Scope 편
주니어 개발자도 이해 할 수 있는 Go - Scope 편
Darion Kim
주니어 개발자도 이해 할 수 있는 의존성 주입(Dependency Injection)
주니어 개발자도 이해 할 수 있는 의존성 주입(Dependency Injection)
Darion Kim
주니어 개발자도 이해 할 수 있는 Go언어 시작하기 - 설치편
주니어 개발자도 이해 할 수 있는 Go언어 시작하기 - 설치편
Darion Kim
코드품질 개선을 위한 GS SHOP 고군분투기
코드품질 개선을 위한 GS SHOP 고군분투기
Darion Kim
Empfohlen
라면공장패턴
라면공장패턴
Darion Kim
7개의 키워드로 만나는 책쓰기
7개의 키워드로 만나는 책쓰기
DongHwan Yu
주니어 개발자도 이해 할 수 있는 아름다운 JVM 세상
주니어 개발자도 이해 할 수 있는 아름다운 JVM 세상
Darion Kim
IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편
IT 이노베이션 센터 이야기 - AWS Lambda를 활용한 개발 스폰서십 확보편
Darion Kim
주니어 개발자도 이해 할 수 있는 Go - Scope 편
주니어 개발자도 이해 할 수 있는 Go - Scope 편
Darion Kim
주니어 개발자도 이해 할 수 있는 의존성 주입(Dependency Injection)
주니어 개발자도 이해 할 수 있는 의존성 주입(Dependency Injection)
Darion Kim
주니어 개발자도 이해 할 수 있는 Go언어 시작하기 - 설치편
주니어 개발자도 이해 할 수 있는 Go언어 시작하기 - 설치편
Darion Kim
코드품질 개선을 위한 GS SHOP 고군분투기
코드품질 개선을 위한 GS SHOP 고군분투기
Darion Kim
주니어 개발자도 이해 할 수 있는 Go - Namespace 편
주니어 개발자도 이해 할 수 있는 Go - Namespace 편
Darion Kim
[JWPA-1]의존성 주입(Dependency injection)
[JWPA-1]의존성 주입(Dependency injection)
Young-Ho Cho
사용자가 업로드한 사진의 마커를 이용해 OpenCV + aruco로 일정한 형태로 만들고 영상으로 만들어 보았다.
사용자가 업로드한 사진의 마커를 이용해 OpenCV + aruco로 일정한 형태로 만들고 영상으로 만들어 보았다.
flashscope
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
flashscope
LogicalDOC White Paper
LogicalDOC White Paper
LogicalDOC
10 steps to implement edms
10 steps to implement edms
LogicalDOC
Performance test using_j_meter_ver1.2
Performance test using_j_meter_ver1.2
Tommy Lee
HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형
HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형
Minchul Jung
LogicalDOC Ecosystem
LogicalDOC Ecosystem
LogicalDOC
Ksug2015 jpa5 스프링과jpa
Ksug2015 jpa5 스프링과jpa
Younghan Kim
HTTP/2와 웹 성능 최적화 방안
HTTP/2와 웹 성능 최적화 방안
SangJin Kang
Go revel 컨셉_정리
Go revel 컨셉_정리
라한사 아
Go revel 구성_루팅_정리
Go revel 구성_루팅_정리
라한사 아
프로그래밍 go투어 정리
프로그래밍 go투어 정리
라한사 아
Let's Go (golang)
Let's Go (golang)
상욱 송
Go 1.설치와 세팅
Go 1.설치와 세팅
재봉 이
SpringDataJPA - 스프링 캠프
SpringDataJPA - 스프링 캠프
Younghan Kim
HeadFisrt Servlet&JSP Chapter 6
HeadFisrt Servlet&JSP Chapter 6
J B
자바기초에서 JSP, 스프링, MyBatis까지_ 자바개발자를 꿈꾸는 당신에게..
자바기초에서 JSP, 스프링, MyBatis까지_ 자바개발자를 꿈꾸는 당신에게..
탑크리에듀(구로디지털단지역3번출구 2분거리)
HeadFisrt Servlet&JSP Chapter 5
HeadFisrt Servlet&JSP Chapter 5
J B
개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님
NAVER D2
신입웹개발자교육
신입웹개발자교육
은숙 이
Weitere ähnliche Inhalte
Andere mochten auch
주니어 개발자도 이해 할 수 있는 Go - Namespace 편
주니어 개발자도 이해 할 수 있는 Go - Namespace 편
Darion Kim
[JWPA-1]의존성 주입(Dependency injection)
[JWPA-1]의존성 주입(Dependency injection)
Young-Ho Cho
사용자가 업로드한 사진의 마커를 이용해 OpenCV + aruco로 일정한 형태로 만들고 영상으로 만들어 보았다.
사용자가 업로드한 사진의 마커를 이용해 OpenCV + aruco로 일정한 형태로 만들고 영상으로 만들어 보았다.
flashscope
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
flashscope
LogicalDOC White Paper
LogicalDOC White Paper
LogicalDOC
10 steps to implement edms
10 steps to implement edms
LogicalDOC
Performance test using_j_meter_ver1.2
Performance test using_j_meter_ver1.2
Tommy Lee
HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형
HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형
Minchul Jung
LogicalDOC Ecosystem
LogicalDOC Ecosystem
LogicalDOC
Ksug2015 jpa5 스프링과jpa
Ksug2015 jpa5 스프링과jpa
Younghan Kim
HTTP/2와 웹 성능 최적화 방안
HTTP/2와 웹 성능 최적화 방안
SangJin Kang
Go revel 컨셉_정리
Go revel 컨셉_정리
라한사 아
Go revel 구성_루팅_정리
Go revel 구성_루팅_정리
라한사 아
프로그래밍 go투어 정리
프로그래밍 go투어 정리
라한사 아
Let's Go (golang)
Let's Go (golang)
상욱 송
Go 1.설치와 세팅
Go 1.설치와 세팅
재봉 이
SpringDataJPA - 스프링 캠프
SpringDataJPA - 스프링 캠프
Younghan Kim
HeadFisrt Servlet&JSP Chapter 6
HeadFisrt Servlet&JSP Chapter 6
J B
자바기초에서 JSP, 스프링, MyBatis까지_ 자바개발자를 꿈꾸는 당신에게..
자바기초에서 JSP, 스프링, MyBatis까지_ 자바개발자를 꿈꾸는 당신에게..
탑크리에듀(구로디지털단지역3번출구 2분거리)
HeadFisrt Servlet&JSP Chapter 5
HeadFisrt Servlet&JSP Chapter 5
J B
Andere mochten auch
(20)
주니어 개발자도 이해 할 수 있는 Go - Namespace 편
주니어 개발자도 이해 할 수 있는 Go - Namespace 편
[JWPA-1]의존성 주입(Dependency injection)
[JWPA-1]의존성 주입(Dependency injection)
사용자가 업로드한 사진의 마커를 이용해 OpenCV + aruco로 일정한 형태로 만들고 영상으로 만들어 보았다.
사용자가 업로드한 사진의 마커를 이용해 OpenCV + aruco로 일정한 형태로 만들고 영상으로 만들어 보았다.
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
[NHN NEXT]실전프로젝트 밴드 게임 만들기 후기
LogicalDOC White Paper
LogicalDOC White Paper
10 steps to implement edms
10 steps to implement edms
Performance test using_j_meter_ver1.2
Performance test using_j_meter_ver1.2
HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형
HTTP 완벽 가이드 / 20장 리다이렉션과 부하균형
LogicalDOC Ecosystem
LogicalDOC Ecosystem
Ksug2015 jpa5 스프링과jpa
Ksug2015 jpa5 스프링과jpa
HTTP/2와 웹 성능 최적화 방안
HTTP/2와 웹 성능 최적화 방안
Go revel 컨셉_정리
Go revel 컨셉_정리
Go revel 구성_루팅_정리
Go revel 구성_루팅_정리
프로그래밍 go투어 정리
프로그래밍 go투어 정리
Let's Go (golang)
Let's Go (golang)
Go 1.설치와 세팅
Go 1.설치와 세팅
SpringDataJPA - 스프링 캠프
SpringDataJPA - 스프링 캠프
HeadFisrt Servlet&JSP Chapter 6
HeadFisrt Servlet&JSP Chapter 6
자바기초에서 JSP, 스프링, MyBatis까지_ 자바개발자를 꿈꾸는 당신에게..
자바기초에서 JSP, 스프링, MyBatis까지_ 자바개발자를 꿈꾸는 당신에게..
HeadFisrt Servlet&JSP Chapter 5
HeadFisrt Servlet&JSP Chapter 5
Ähnlich wie 주니어 개발자도 이해하는 코어 J2EE 패턴 - 학급반장편 -
개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님
NAVER D2
신입웹개발자교육
신입웹개발자교육
은숙 이
보다 나은 웹 어플리케이션 설계
보다 나은 웹 어플리케이션 설계
Eb Styles
이제 막 웹개발자 되고싶은 분들께
이제 막 웹개발자 되고싶은 분들께
지수 윤
7월 우아한테크세미나 "주니어개발자로 성장하는 우아한 방법들" 첫번째 세션
7월 우아한테크세미나 "주니어개발자로 성장하는 우아한 방법들" 첫번째 세션
Devrelationswoowahan
애자일 도입과 사례 공유
애자일 도입과 사례 공유
agilekorea
현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점
현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점
Wonha Ryu
ksh portfolio 02
ksh portfolio 02
SunhoKo2
Book report apprenticeship patterns
Book report apprenticeship patterns
Munsu Kim
주니어가 회사에서 기회를 얻는 방법 by 1호
주니어가 회사에서 기회를 얻는 방법 by 1호
Excelcon
Ähnlich wie 주니어 개발자도 이해하는 코어 J2EE 패턴 - 학급반장편 -
(10)
개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님
신입웹개발자교육
신입웹개발자교육
보다 나은 웹 어플리케이션 설계
보다 나은 웹 어플리케이션 설계
이제 막 웹개발자 되고싶은 분들께
이제 막 웹개발자 되고싶은 분들께
7월 우아한테크세미나 "주니어개발자로 성장하는 우아한 방법들" 첫번째 세션
7월 우아한테크세미나 "주니어개발자로 성장하는 우아한 방법들" 첫번째 세션
애자일 도입과 사례 공유
애자일 도입과 사례 공유
현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점
현업 엔지니어의 시각에서 본 알고리즘 공부의 장점과 단점
ksh portfolio 02
ksh portfolio 02
Book report apprenticeship patterns
Book report apprenticeship patterns
주니어가 회사에서 기회를 얻는 방법 by 1호
주니어가 회사에서 기회를 얻는 방법 by 1호
Mehr von Darion Kim
지금… IT개발팀에서 일하는 방식 GS SHOP 고군분투기
지금… IT개발팀에서 일하는 방식 GS SHOP 고군분투기
Darion Kim
자발적 자기완결형 개발 문화를 위한 GSShop 고군분투기
자발적 자기완결형 개발 문화를 위한 GSShop 고군분투기
Darion Kim
디지털화 역량강화를 위한 GS SHOP 고군분투기
디지털화 역량강화를 위한 GS SHOP 고군분투기
Darion Kim
개발방식의 변화를 위한 GSShop 고군분투기
개발방식의 변화를 위한 GSShop 고군분투기
Darion Kim
재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144
재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144
Darion Kim
바가지 머리 시스템 구조 & 서비스 배포 삼대 패밀리 이야기
바가지 머리 시스템 구조 & 서비스 배포 삼대 패밀리 이야기
Darion Kim
Owasp top 10 2013 - 정다운 -
Owasp top 10 2013 - 정다운 -
Darion Kim
Mehr von Darion Kim
(7)
지금… IT개발팀에서 일하는 방식 GS SHOP 고군분투기
지금… IT개발팀에서 일하는 방식 GS SHOP 고군분투기
자발적 자기완결형 개발 문화를 위한 GSShop 고군분투기
자발적 자기완결형 개발 문화를 위한 GSShop 고군분투기
디지털화 역량강화를 위한 GS SHOP 고군분투기
디지털화 역량강화를 위한 GS SHOP 고군분투기
개발방식의 변화를 위한 GSShop 고군분투기
개발방식의 변화를 위한 GSShop 고군분투기
재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144
재업로드주소: https://www.slideshare.net/hnki0104/gsshop-103837144
바가지 머리 시스템 구조 & 서비스 배포 삼대 패밀리 이야기
바가지 머리 시스템 구조 & 서비스 배포 삼대 패밀리 이야기
Owasp top 10 2013 - 정다운 -
Owasp top 10 2013 - 정다운 -
주니어 개발자도 이해하는 코어 J2EE 패턴 - 학급반장편 -
1.
주니어 개발자도 이해
할 수 있는 코어 J2EE 패턴 - 학급반장편 - 2014. 12 Darion Kim
2.
나는 누구? Darion Kim
(김헌기) 디에스멘토링 연구소 수석 보 자칭 통신(통합의 신, God of Integration) hnki0104@me.com https://www.facebook.com/ groups/serverside (율이아빠)
3.
이 문서를 모든 Freshman에게
바칩니다. (for YMS, JHJ)
4.
약속드립니다. ^^ 절대 어렵게
얘기하 지 않겠습니다.
5.
대신 좀 유치하더라도 제
눈높이에 맞춰 공감해주셨으면 합니다.
6.
자~ 이제 들어가 보도록
하겠습니다. 저와 눈높이를 맞춰주세요. 아니시면 여기까지…^^
7.
한 교실에 20명의 학생들이
있습니다.
8.
어느날 새로운 담임선생님이 오셨습니다.
9.
선생님은 미화부장인 개똥 이란
학생을 찾아서 일을 부 탁하려 합니다.
10.
그래서 학생 한명
한명씩 개똥이냐고 물어봐야 겠다 고 생각했습니다.
11.
자~~~ 여기서 첫번째 질문입니다. 선생님은
몇번을 물어봐야 개똥이를 찾을수 있을까요?
12.
운이 좋으면 1번만에
물어보고 운이 나쁘면 20번이나 물어봐 야 찾을 수 있습니다.
13.
선생님 학생1 학생2 학생3 학생4 학생5 학생6 학생7 학생8 학생9 학생10 학생11 학생16 학생12 학생13 학생14 학생15 학생18 학생19 학생20 학생17
14.
하지만 선생님은 생각을 달리먹고
단 2번만에 개똥이 학생을 찾았습니다.
15.
다시 두번째 질문입니다. 선생님은
어떻게 하셨길래 2번만에 개똥이 학생을 찾게 되었을 까요?
16.
정답은 바로 반장입니다.
17.
반장에게 물어보고 반장이
다시 개똥이 학생을 알려주어서 단 2 번만에 찾을 수 있었습니다. 선생님 반장 학생1 개똥이 학생2
18.
선생님은 반장에게만 물 어보면
단 2번만에 모든 일을 할 수가 있었습니다.
19.
저는 이것을 학급반장패턴 이라고
이름을 지었습니다. 우리는 어떤일을 할때면 학급 반장 같은 사람이 필요합니다.
20.
좀 유식한 말로 커맨드
패턴(Command Pattern) 이라고 합니다.
21.
원래 얘기하려고 했던
Java 기반의 웹 환경으로 다시 말 씀드리겠습니다.
22.
초기의 웹개발은 Servlet
기술로 View를 출력하였지만 구현에 대한 어려움이 있었기 때문에 이보다 구 현이 훨씬 용이한 JSP 기술을 사용하 게 되었습니다.
23.
JSP 기술에 힘입어
사람들은 윤전기 에서 신문을 찍어내듯이 화면을 대 량으로 만들어 내기 시작했습니다.
24.
웹서비스는 계절별로 화면디자 인을
바꾸거나 호기심이 가는 기 능 추가로 고객만족을 추구해야 했습니다.
25.
하지만 JSP로는 기존
로직의 변경과 확장에 대해 어려움이 있었습니다. 만들기가 쉬워 대량으로 만들었지 만 변경과 재사용은 어려웠습니다.
26.
웹브라우저 /a/a.jsp /a/b.html /a/cServ /a/d.html /a/e.jsp /b/a.jsp /b/b.html /b/cServ /b/d.html /b/eServ
27.
이에 똑똑한 사람들은
고민을 하기 시작했습니다. 무수히 많은 JSP들을 어떻게 하 면 쉽게 제어 할 수 있을까요?
28.
정답을 말씀드리면 공통으로 발생하는
요청처 리를 Servlet에 맡기고 다음 JSP에 위임했습니다. Client Servlet JSP1 JSP2 JSP3
29.
Client Servlet JSP1 JSP2 JSP3 선생님 반장 학생1 개똥이 학생2
30.
Dispatcher(Servlet)가 요청처리를 한곳 으로
받아드리면서 Controller(Business Logic)가 View(JSP)와 섞이지 않고 여러 View(JSP)들의 공통역할을 하게 됩니다. Controller View Client Dispatcher Model HTML
31.
다시 말해 요청코드와
HTML이 분리되기 때문에 유지보수가 쉬워집니다.
32.
Controller = 학급반장 View
= 학생(개똥이)
33.
제일 앞단에 다양한
요청을 제어하는 Controller를 두어 단 일 진입을 하게 한다고 해서 프런트 컨트롤러 패턴(Front Controller Pattern)이라 불리 우게 되고 Core J2EE Design Pattern에 포함되어 있습니다.
34.
35.
2003년 Java진영의 히트상품이자 스트러츠(Struts)가
활성화되기 전 까지 잘나가는 웹 프레임워크(Web Framework) 개발자의 척도였습니다.
36.
프런트 컨트롤러 패턴은 매우
막강합니다. 결코 View(HTML)만을 관리 하기 위해 사용하는 것이 아닙니다. 프런트 컨트롤러 패턴은 화면뿐만 아니라 데이터를 제공받는 서비스(Service) 를 관리 할 수도 있습니다.
37.
기업 서비스도 관리가
안된 채로 운영 되어지면 이렇게 스파게티면 같이 심 하게 꼬이게 됩니다. 당연히 학급반장이 필요합니다.
38.
SOA(Service Oriented Architecture)
환경 에서 ESB(Enterprise Service Bus)구현 기 술에도 사용되어집니다.
39.
Controller Business Process (WS-BPEL) Webservice Consumer Serivce Dispatcher WebService Provider ESB (Enterprise Servie
Bus) XML(SOAP) XML(SOAP) XML(SOAP)
40.
MSA(Micro Services Architecture) 환경에서
API Gateway 구현 기술 에도 사용되어집니다.
41.
Controller Business Process (DSL) HTTP Client Serivce Dispatcher REST API API
Gateway JSON(REST) JSON(REST) JSON(REST)
42.
참고로 이 문서는
기술적인 근거 자료로 사 용하기 힘든 문서임을 알려드립니다. 처음 시작하는 분들에게 개념을 쉽게 이해 하게 하고 접근하게 하기 위해 만든 문서임 을 알려드립니다. ^^
43.
이상 율이아빠였습니다.
Jetzt herunterladen