본문 바로가기

전체 글420

Servlet이란? * Servlet이란?-자바를 기반으로 만드는 웹 어플리케이션 프로그래밍 기술-동적으로 HTML을 생성하는 자바프로그램 * Servlet의 장점1) 스레드를 기반으로 하기 때문에 웹 애플리케이션 운영에 효율적2) 자바 기반으로 자바 API 를 모두 사용할 수 있음.3) 운영체제나 하드웨어에 영향을 받지 않으므로, 한번 개발된 애플리케이션은 다양한 서버 환경에서 실행가능4) 웹 애플리케이션에서 효율적인 자료 공유 방법을 제공. ★하나의 Servlet이 동작하기 위해서는 HTTP 요청을 받고 응답하는 웹서버와servlet이라는 웹 컴포넌트를 관리하고 실행하는 Servlet Containor인 WAS가 필요하다. Servlet의 초기화 과정을 보실까요^^ WAS가 Java 파일을 컴파일해서 Class로 만들어.. 2015. 1. 30.
[Spring] 관점지향프로그래밍(AOP) AOP(Aspect Oriented Programming) *OOP의 단점-OOP의 대표적인 상속은 컴파일시에 행동이 결정 되므로 실행시에 특징을 바꿀수 없다.-그리고 모든 서브클래스에서 동일한 코드 상속을 받게 될 경우 슈퍼클래스의 변경이 이루어 졌을때 일부 서브클래스에서 원치 않는 변경을 받아들여야만 한다.-상속은 전혀 유현하지 못한다. ↓ OOP의 한계로 인해 AOP등장! *AOP 특징-이를 해결 하기 위해 구성이라는 기법을 사용한다.-구성은 상속의 모든 단점을 해결해 준다.-실행중 동적으로 행동을 바꿀 수 있으며 슈퍼클래스가 없으므로 의존도가 제가 된다.-하지만 이런 구성도 단점이 있다.-슈퍼클래스의 코드를 재사용 할 수 없고 구성 객체에게 위임 해야하는 번거로움이 있다.-AOP는 OOP의 강력한.. 2015. 1. 30.
[Spring] Spring의 주요 모듈 * 제어 반전 컨테이너제어 반전(IoC: Inversion of Control) 컨테이너는 스프링의 가장 중요하고 핵심적인 기능으로서 자바의 반영(reflection)을 이용해서 객체의 생명주기를 관리하고 의존성 주입(Dependency Injection)을 통해 각 계층이나 서비스들간의 의존성을 맞춰준다.이러한 기능들은 주로 환경설정을 담당하는 XML 파일에 의해 설정되고 수행된다.* 관점 지향 프로그래밍 프레임워크스프링은 로깅이나 보안, 트랜잭션 등 핵심적인 비즈니스 로직과 관련이 없으나 여러 곳에서 공통적으로 쓰이는 기능들을 분리하여 개발하고 실행 시에 서로 조합할 수 있는 관점 지향 프로그래밍(AOP)을 지원한다.* 데이터 액세스 프레임워크스프링은 데이터베이스에 접속하고 자료를 저장 및 읽어오기 .. 2015. 1. 30.
[Spring] Spring framework란? * 스프링 프레임워크(Spring Framework)란?자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고도 불린다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다. * 스프링의 특징 1) 경량 컨테이너로서 자바 객체를 직접 관리한다. 각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로부터 필요한 객체를 얻어올 수 있다. 2) 스프링은 POJO(Plain Old Java Object) 방식의 프레임워크이다. 일반적인 J2EE 프레임워크에 비해 구 현을 위해 특정한 인터페이스를 구현하거나 상속을 받을 필요 가 없어 기존에 존재하는 라이브러리 등을 지원하기에 용이하고 객체가 가볍다 3) 스프링은 제어 반전(IoC : Inversion.. 2015. 1. 30.
WebLogic Thread dump **Thread dump (Javacore) *Thread dump 개요1) Thread dump를 뜨는 경우는 해당 어플이케이션의 현재 어떤 부분이 어떻게 수행하고 있는지 stack을 확인하기 위함이다. 2) 또한, 대부분의 프로세스가 Hang이거나, 응답시간이 지연된다거나, CPU를 많이 점유하는 Thread가 있다면 해당 Thread가 무엇을 하고 있는지 확인하기 위해 수행을 하게 된다. 3) Thread dump는 stack 정보를 확인하는 것이기 때문에 한 시점의 정보만 봐서는 정확한 원인을 분석하기 위한 데이터로는 부적합한 것이 사실이다. 따라서 Thread dump를 뜰 대는 5초 간격으로 최소한 3번을 뜨는 것이 가장 효과적이다. (권장) 4) 53의 기본 개념은 일정한 간격으로 연속적인 .. 2015. 1. 30.
2Tier와 3Tier란? * 2Tier란 -클라이언트에서 BusinessLogic 작성하고 데이터베이스에 저장하여 사용하는 형태 -위 그림과 같이 클라이언트에서 DB서버로 직접 데이터를 입력하고 불러오는 방식으로, 즉 Client에서 일반적으로 Data를 입력하고 불러오는 방식이다. 장점 단점 1. 개발이 편리하다. 2. 개발비용이 저렴하다 1. 보안에 취약하다 2. 재사용이 어렵다 3. 서버에 부하가 일어난다 4. 유지보수가 쉽다 * 3Tier란 -클라이언트가 미들웨어로 메세지를 주고 받으면서 데이터베이스에 저장하여 사용하는 형태. -결과값을 클라이언트가 약속된 메세지 형태로 받을 수 있는 양방향 프로그램이 가능. -분산 처리가 가능하기 때문에 일정한 퍼포먼스 효과를 볼 수 있음. 장점 단점 1. 보안에 용이하다 2. 재사용에.. 2015. 1. 30.