![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/QkcML/btqEyJFpu2G/h1renq1bEwmcpoLDaKpjqk/img.png)
Servlet과 JSP의 개념 기능의 차이는 없고 역할의 차이만 있다. (하는 일은 동일) Servlet이란 웹 기반의 요청에 대한 동적인 처리가 가능한 Server Side에서 돌아가는 Java Program Java 코드 안에 HTML 코드 (하나의 클래스) 웹 개발을 위해 만든 표준 JSP란 Java 언어를 기반으로 하는 Server Side 스크립트 언어 HTML 코드 안에 Java 코드 Servlet를 보완하고 기술을 확장한 스크립트 방식 표준 Servlet의 모든 기능 + 추가적인 기능 Servlet과 JSP의 차이 Servlet Java 코드 안에 HTML 코드 (하나의 클래스) data processing(Controller)에 좋다. 즉 DB와의 통신, Business Logic 호출, ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/CeORk/btqEtN8SByK/6wml4qYd5cX1i3IypHzo6k/img.jpg)
IoC란? IoC 컨테이너 개념을 이해하기 위하여 이와 같은 컨테이너가 왜 등장하게 되었는지를 먼저 이해하는 것이 중요합니다. 애플리케이션 코드를 작성할 때, 특정 기능이 필요하면 라이브러리 사용하곤 합니다. 이때는 프로그램의 흐름을 제어하는 주체가 애플리케이션 코드입니다. 하지만 프레임워크(Framework) 기반의 개발에서는 프레임워크 자신이 흐름을 제어하는 주체가 되어, 필요 할 때마다 애플리케이션 코드를 호출하여 사용합니다. 프레임워크에서 이 제어권을 가지는 것이 바로 컨테이너(Container)입니다. 객체에 대한 제어권이 개발자로부터 컨테이너에게 넘어가면서 객체의 생성부터 생명주기 관리까지의 모든 것을 컨테이너가 맡아서 하게됩니다. 이를 일반적인 제어권의 흐름이 바뀌었다고 하여 IoC(Inve..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/lnKPg/btqD7HvygLj/VNkTXCMmxHa9hofiEgQ1B0/img.png)
네이티브 앱 & 모바일 웹 앱 & 하이브리드 앱 네이티브 앱 (Native App) 흔히 우리가 자주 사용하는 어플리케이션을 의미한다. 모바일 기기에 최적화된 언어로 개발된 앱으로 안드로이드 SDK를 이용한 Java 언어나 iOS 기반 SDK를 이용한 Swift 언어로 만드는 앱이 네이티브 앱에 속한다. 장점 성능이 웹앱, 하이브리드 앱에 비해 가장 높음 네이티브 API를 호출하여 사용함으로 플랫폼과 밀착되어있음 Java나 Swift에 익숙한 사용자면 쉽게 접근 가능함 단점 플랫폼에 한정적 언어에 제약적 모바일 웹 앱 (Mobile Wep App) 모바일웹 + 네이티브 앱을 결합한 형태 모바일 웹의 특징을 가지면서도, 네이티브 앱의 장점을 지녔다. 따라서 기존의 모바일 웹보다는 모바일에 최적화 된 앱이라..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/yUQKx/btqD4xNvXKa/0HchhtzqIrDufh4Rhz14hk/img.png)
퍼사드 패턴 (Facade Pattern) 어떤 서브시스템의 일련의 인터페이스에 대한 통합된 인터페이스를 제공한다. 퍼사드에서 고수준 인터페이스를 정의하기 때문에 서브시스템을 더 쉽게 사용할수 있다. 패턴을 사용할때는 항상 패턴이 어떤 용도로 쓰이는지를 잘 알아둬야 한다. 퍼사드 패턴은 단순화된 인터페이스를 통해서 서브시스템을 더 쉽게 사용할 수 있도록 하기위한 용도로 쓰인다. 홈씨어터로 퍼사드 패턴을 구현해보자. 전선과 프로젝터를 설치하고, 각 장치들을 케이블로 연결하고 등등 여러 인터페이스들이 나열되어 있다. DVD영화를 보려고하면.. 1. 팝콘 기계를켠다. 2. 팝콘 튀기기 시작. 3. 전등을 어둡게 조절 4. 스크린을 내린다. .. .. 12. DVD 플레이어를 켠다 13. DVD를 재생한다. p..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/pwBex/btqD6mc9G6p/90UAkrVRHKVfjZHxhlngm1/img.png)
어댑터 패턴 (Adapter Pattern) 한 클래스의 인터페이스를 클라이언트에서 사용하고자하는 다른 인터페이스로 변환한다. 어댑터를 이용하면 인터페이스 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 연결해서 쓸 수 있다. 호환되지 않는 인터페이스를 사용하는 클라이언트를 그대로 활용할수 있다. 이렇게 함으로써 클라이언트와 구현된 인터페이스를 분리시킬 수 있으며, 향 후 인터페이스가 바뀌더라도 그 변경 내역 은 어댑터에 캡슐화 되기 때문에 클라이언트는 바뀔 필요가 없어진다. 어댑터 패턴 클래스 다이어그램 전기 콘센트를 보면 이해가 쉽다. 한국의 표준 플러그를 일본에 전원 소켓에 바로끼워줄수 없어 동그랑 모양을 일자로 바꿔주는 어댑터를 끼워주어야 한다. 이와같이 어댑터는 소켓의 인터페이스를 플러그에서 필..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bLooxq/btqEA1GEhBL/Zvd78WJviWFxUWeeQX9320/img.png)
Goal JSP에 대해 설명할 수 있다. JSP 동작 과정에 대해 설명할 수 있다. JSP란? JAVA 코드가 들어가있는 HTML 코드 입니다. Servlet은 자바 소스코드 속에 HTML코드가 들어가는 형태인데, JSP는 이와 반대로 HTML 소스코드 속에 자바 소스코드가 들어가는 구조를 갖는 웹어플리케이션 프로그래밍 기술입니다. HTML 속에서 자바코드는 또는 형태로 들어갑니다. 자바 소스코드로 작성된 이 부분은 웹 브라우저로 보내는 것이아니라 웹 서버에서 실행되는 부분입니다. 웹 프로그래머가 소스코드를 수정 할 경우에도 디자인 부분을 제외하고 자바 소스코드만 수정하면 되기에 효율을 높여줍니다. 또한 컴파일과 같은 과정을 할 필요없이 JSP 페이지를 작성하여 웹 서버의 디렉토리에 추가만 하면 사용이 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bz8GoA/btqD7XwVi6I/IpmQGesWqxtSs0xKRNtb50/img.png)
커맨드 패턴 (Command Pattern) 요구사항을 객체로 캡슐화 할 수 있으며, 매개변수를 써서 여러 가지 다른 요구 사항을 집어넣을수 있다. 또한 요청 내역을 큐에 저장하거나 로그로 기록할수 도있으며 작업취소 기능도 지원가능 하다. 커맨드 객체는 일련의 행동을 특정 리시버하고 연결시킴으로써 요구사항을 캡슐화한다. 이렇게 하기 위해 행동과 리시버를 한 객체에 집어넣고 메소드 하나만 외부에 공개하는 방법을 사용한다. 커맨드 패턴 클래스 다이어그램 식당을 예로들어보자. 1. 손님이 웨이터에게 주문을 한다. 2. 웨이터가 고객의 주문을 주문서에 적는다. 3. 웨이터는 주문서를 주방에 전달하여 주문을 요청한다. 4. 요리사는 주문서에 적힌 주문대로 음식을 자신의 노하우로 만든다. 손님 == 클라이언트 웨이..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/69txo/btqEBnbpvZx/xwZP2yP749rd1ZDg6vvyx1/img.png)
Goal Servlet에 대해 설명할 수 있다. Servlet의 동작 과정을 설명할 수 있다. Servlet Container 역할에 대해 설명할 수 있다. Servlet Life Cycle에 대해 설명할 수 있다. Servlet이란? 자바 플랫폼에서 컴포넌트를 기반으로 하는 웹 애플리케이션의 핵심 기술 입니다. 좀 더 풀어쓰자면 웹 프로그래밍에서 클라이언트의 요청을 처리하고, 그 결과를 다시 클라이언트에게 전송하는 Servlet 클래스의 구현 규칙을 지킨 자바 프로그래밍 기술입니다. Servlet 특징 클라이언트의 요청에 대해 동적으로 작동하는 웹 애플리케이션 컴포넌트입니다. Java Thread를 이용합니다. HTTP 서비스를 지원하는 javax.servlet.http.HttpServlet 클래스를 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/qr6Uz/btqEACzscJH/PBLtUMrKBiTAGnOO4KE9qk/img.jpg)
UI와 UX 많이 들어봤지만, 차이를 말하라고 하면 멈칫한다. 면접에서도 웹 개발을 해봤다고 하면 나올 수 있는 질문. UI User Interface 사용자가 앱을 사용할 때 마주하는 디자인, 레이아웃, 기술적인 부분이다. 디자인의 구성 요소인 폰트, 색깔, 줄간격 등 상세한 요소가 포함되고, 기술적 부분은 반응형이나 애니메이션 효과 등이 포함된다. 따라서 UI는 사용자가 사용할 때 큰 불편함이 없어야하며, 만족도를 높여야 한다. UX User Experience 앱을 주로 사용하는 사용자들의 경험을 분석하여 더 편하고 효율적인 방향으로 프로세스가 진행될 수 있도록 만드는 것이다. (터치 화면, 사용자의 선택 flow 등) UX는 통계자료, 데이터를 기반으로 앱을 사용하는 유저들의 특성을 분석하여 상황..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cLR0KX/btqD4x7GT2j/oL2N5KfU9ZDiORpeA0u71k/img.jpg)
Implementing Use Cases Model-View-Controller Pattern Application data 및 logic (모델로 캡슐화 됨)은 presentation logic (뷰 및 컨트롤러로 캡슐화 됨)과 독립적이어야합니다. View는 사용자 입력 및 출력을 담당합니다. dialog box는 view의 좋은 예입니다. Controllers는 모델에서 수행 할 수 있는 허용 가능한 트랜잭션에 대한 논리를 구현합니다. Model은 세분화 된 비즈니스 로직과 데이터를 캡슐화합니다. 상호 작용을 보여주는 시퀀스 다이어그램은 다음과 같습니다: The Entity-Control-Boundary Pattern ECB (Entity-Control-Boundary Pattern)는 Model-V..
- Total
- Today
- Yesterday