목록2017/08 (10)
Inor
JSP 동작 원리 Servlet의 경우에는 java 코드를 이용해서 html 파일이 작성되는 방식으로 동작이 됐습니다. 그러나 JSP의 경우에는 html 파일에 스크립트릿 태그를 이용해서 자바 코드를 작성하는 방식으로 jsp 파일을 생성 합니다. 이렇게 생성된 파일로 클라이언트의 요청이 오면 JSP 컨테이너가 jsp 파일을 Servlet 파일로 변환 합니다. 그리고 Servlet 파일은 컴파일 돼서 class 파일로 변환이 되고 요청이 있었던 웹브라우저에 html 파일 형식으로 응답 합니다. JSP 태그 스크립트릿 : JSP 문서 내부에 자바 코드를 작성할 수 있도록 선언하는 태그 입니다. 로 끝이 납니다.선언 : JSP 문서 내부에서 사용되는 변수나 메서드를 선언할 수 있도록 하는 태그 입니다. 로 끝..
생명주기 대부분의 프로그램이 생명주기를 갖고 있듯이 서블릿도 생명주기를 갖고 있습니다. 서블릿 객체가 생성, 실행, 소멸 되는 과정에서 호출되는 특정 메서드들이 있습니다. 생명주기에 따라서 특정 메서드가 호출이 되고 그 안의 로직을 수행 합니다. Servlet에도 각 과정에서 호출이 되는 몇가지 메서드들이 있습니다. 그것들을 알아보도록 하겠습니다. 초기화(initialization) 사용자의 Servlet 클래스가 상속 받는 HttpServlet 클래스의 init() 메서드를 오버라이드해서 초기화 메서드를 생성할 수 있습니다. 이 메서드는 서블렛 객체가 생성 되면서 호출이 되는 메서드로서 주로 초기화 작업을 수행 합니다. 초기화 전에 특정 작업(전처리)을 수행해야되는 경우가 있다면 @PostConstru..
- 객체지향 개발의 원칙 저와 비슷한 초보 개발자들이 객체지향 프로그래밍을 하는 중간에 겪는 많은 문제들은 클래스들의 구조를 설계할때 너무 복잡한 구조로 설계했기 때문에 발생 합니다. 디자인 패턴들은 이런 구조적 문제 때문에 발생하는 문제점을 줄여주고 사전에 예방 합니다. 그러나 디자인 패턴을 공부하기 전에 디자인 패턴의 근간이 되는 객체지향 개발의 5대 원칙인 SOLID에대해서 알아보도록 하겠습니다. SOLID는 개발자가 객체지향개발을 할 때 기본적으로 갖고 있어야하는 생각들을 5가지로 정리한 것 입니다. 하나씩 알아보도록 하겠습니다. - Single Responsibility Principle (단일 책임 원칙) 단일 책임 원칙이란 하나의 클래스가 한 가지의 기능만 갖고 있으며 클래스가 제공하는 서비..
정규화 정규화란 하나의 테이블이 갖고 있는 엔터티들의 중복을 줄여서 DB를 갱신할때 발생할 수 있는 갱신 이상을 예방하고 저장 공간의 낭비를 줄여주기 위해서 수행하는 작업입니다. 크고 제대로 조직되지 않은 테이블과 테이블의 관계를 작고 잘 조직된 형태로 변형 시키는 것을 정규화라고 합니다. 갱신이상에는 삽입 이상(insert), 삭제 이상(delete), 수정 이상(update)가 있습니다. 삽입 이상 : 원하지 않는 자료가 삽입 되거나 삽입 작업을 수행해야 하는데 자료가 부족해서 삽입하지 못하는 문제점 입니다.삭제 이상 : 하나의 자료를 삭제하고 싶지만 해당 튜플을 삭제할 경우에 원하지 않는 자료의 삭제가 동반되는 문제점 입니다.수정 이상 : 정확하지 않게 갱신 되거나 일부 튜플들만 갱신 되어 정보의 ..
Recovery DBMS는 사용자의 요청이 있거나, 트랜잭션 수행 중에 오류로 인해서 시스템이 트랜잭션을 철회 하거나, 소프트웨어나 하드웨어 문제 때문에 시스템을 재시작 했을 경우에 복구 작업을 수행 합니다. 트랜잭션 복구 시스템이 정상적으로 작동하고 있는 상황에서 트랜잭션을 철회하는 경우에는 어떻게 복구를 진행 하는지 알아보도록 하겠습니다. 먼저 로그 데이터를 역방향으로 탐색 하면서 해당 트랜잭션에서 수행 했던 일을 찾습니다. 그리고 그것을 undo 복구를 통해서 이전의 상태로 돌려 놓습니다. 이 과정에서 undo 복구를 진행했던 과정을 redo 복구를 위해서 따로 CLR(Compensation Log Record) 로그에 저장하는데 그 이유는 undo 복구를 수행하다가 잘못된 연산을 했을때 원래의 상..
Log 대부분의 DMBS는 undo, redo 복구를 위해서 log를 사용 합니다. 로그는 데이터베이스의 복구를 위해서 사용되기 때문에 매우 중요하고 데이터 손실이 있어서는 안되는 데이터 입니다. 그렇기 때문에 몇몇 DBMS에서는 여러개의 로그를 유지하며 안정적으로 사용하기도 합니다. 그러나 대부분의 DBMS에서는 성능상의 이유로 하나의 로그만을 사용 합니다. 로그는 로그 레코드의 연속이며 데이터베이스의 모든 변경 사항을 저장 합니다. 로그 레코드는 이전의 로그 레코드에 덧붙이는 방식으로 저장 됩니다. 로그 레코드는 식별을 위한 식별자를 사용해서 구분 합니다. 아래는 로그 레코드가 기록되는 방식을 보여주는 그림 입니다. 로그 레코드의 오브젝트 물리적 상태 로깅(physical state logging) ..