Whiteship's Note


9. Testing Techniques

View/JSP : 2007.06.26 12:41


책에서 다루고 있는 테스트 종류
    Regression Test :: Unit Test를 묶어 둔 것으로 새로운 기능을 개발하기 전에 실행. 즉 테스트는 다른 테스트에 독립적이어야 함.
    Unit Test :: 단일 메소드 또는 기능을 테스트 하는 것
    Load Test :: 병목현상이나 성능 측정을 위한 테스트

테스트가 왜 중요한가?
    제목하고 어울리는 내용은 아닌것 같은데 시나리오를 들어 설명하고 있었습니다. 갑이라는 사람이 a, b, c 메소드를 구현하고 테스트 합니다. 병이라는 사람이 해당 클래스에 d, e 메소드를 개발하고 테스트 합니다. 그리고 QA팀에 넘겨줬는데 에러가 납니다. 원인은 regression test를 하지 않았기 때문에...

JUnit 테스팅 프레임워크 소개
    역시나 이 프레임워크도 다들 알고 있을 법한 내용인지라...

JMeter 를 사용한 성능 테스트
    오.. 첨보는 거라 한번 해봐야겠습니다.

생각해볼 것
    1. 테스트가 중요함에도 테스트를 잘 작성하지 않는 이유?
    2. 개발하는 모든 메소드를 빠짐없이 테스트 해야 하는가?
    3. p192쪽의 제목 "애플리케이션에 단위 테스트 추가하기"의 코드는 정말 단위 테스트인가?
    4. JMeter 외에 성능 테스트를 위한 오픈소스는 없을까?
    5. 책에서 다루지 않고 있는 테스트의 종류에는 어떤 것이 있을까?

'View > JSP' 카테고리의 다른 글

태그 파일 배포하기  (0) 2008.09.14
태그 파일 활용 예제  (0) 2008.02.18
태그 파일  (2) 2008.02.18
JavaServer Pages Standard Tag Library  (5) 2008.02.18
JMeter 다운로드 & 사용해보기  (0) 2007.06.29
9. Testing Techniques  (2) 2007.06.26
6. The Decorating Filter Pattern  (0) 2007.06.20
5. Development Using Patterns  (0) 2007.06.06
4. Role Separation with Custom Tags  (0) 2007.06.01
3. Role Separation with JavaBeans  (0) 2007.05.29
Foundation of JSP Design Patterns 소스코드  (0) 2007.05.28
top


4. Role Separation with Custom Tags

View/JSP : 2007.06.01 13:11


Using Custom Tags
- Sevlet Container가 custom tag를 다루는 과정
1. 페이지 처리 도중에 custom tag를 만나면 제어권을 해당 페이지에서 태크 핸들러에게 넘깁니다. 태그 핸들러에서 필요한 처리를 하고나서 다시 페이지로 제어권을 넘깁니다.
2. Servlet Container는 이런 태그 핸들러 들의 객체를 생성하여 풀에서 관리합니다.
- 태그 핸들러를 taglib 지시자를 사용하여 jsp에 포함시킬 수 있습니다.
ex) <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
- taglib의 uri는 web.xml에 정의되어 있으며 web.xml에서는 해당 uri를 특정 TLD 파일과 매칭시킵니다.
- TLD 파일에는 태그 핸들러 클레스의 위치와 해당 태그에서 사용할 수 있는 속성들의 정보를 가지고 있습니다.
- 태그 핸들러는 자바 클레스 입니다.
1. 태그 만들기 :: TagSupport 클레스 상속
2. Body가 있는 태그 만들기 :: BodyTagSupport 클레스 상속
- 태그 만들기 예제
참조 : http://www.javastudy.co.kr/docs/lec_javaweb/jsp/chapter5.pdf

Introducing Simple Tag
- JSP2.0 에 새로 추가된 기능
- WEB-INF/tag 밑에 태그를 만들어서 사용하면 됩니다.
- 사용 예)<%@ taglib tagdir="/WEB-INF/tags" prefix="tags" %>
- 심플 태그 만들기 예제
참조 : http://whiteship.tistory.com/470




'View > JSP' 카테고리의 다른 글

태그 파일  (2) 2008.02.18
JavaServer Pages Standard Tag Library  (5) 2008.02.18
JMeter 다운로드 & 사용해보기  (0) 2007.06.29
9. Testing Techniques  (2) 2007.06.26
6. The Decorating Filter Pattern  (0) 2007.06.20
5. Development Using Patterns  (0) 2007.06.06
4. Role Separation with Custom Tags  (0) 2007.06.01
3. Role Separation with JavaBeans  (0) 2007.05.29
Foundation of JSP Design Patterns 소스코드  (0) 2007.05.28
2. Using JSP  (0) 2007.05.28
1. JSP Foundation  (0) 2007.05.21
top


3. Role Separation with JavaBeans

View/JSP : 2007.05.29 17:32


어떻게 하면 잘 돌아가는 것(function well) 뿐만 아니라 인터페이스 까지 볼 수 있는(appealing interface) 애플리케이션을 만들 수 있을까?
- 컨텐츠 생성 과 컨텐츠 표현 계층을 분리하라.
- 이렇게 하면 화면 디자이너가 애플리케이션의 코드와 상관없이 인터페이스만 보고 화면을 개발할 수 있다.
- 애플리케이션 코드를 화면에서 숨길수록 더 깔끔한 표현 계층을 만들 수 있다.

JavaBeans
- Serializable 인터페이스 구현
- default 생성자
- private 속성들
- public getter, setter들

Using JavaBeans
- <jsp:useBean id="objectName" scope="page" calss="class.path" />
- <jsp:getProperty name="objectName" property="propertyName" />
- <jsp:setProperty name="simpleBean" property="propertyName" value="propertyValue" />

Dealing with Large Sets of Data
- 조금씩 그때그때 가져오기
- 왕창 가져와 놓고 조금씩 보여주기 => 캐쉬 사용

Standardizing Form Handling
- validation 과 error reporting
- 검증과정
    - 1. 입력되는 데이터를 임의로 저장한다.
    - 2. 입력된 데이터를 검증하여 에러가 나면 에러를 객체에 저장한다.
    - 3. 2번 과정을 무사히 마치면 데이터베이스에 커밋할 것으로 체크한다.
- 표현과정
    - 1. request의 파라미터로 커밋 될 것인지 확인(submit이라는 파라미터가 있는지 확인)한다.
    - 2. 없으면 에러가 있거나 아직 데이터를 입력하지 않은 상태(폼을 처음 로딩했을 때)니까 폼을 보여준다.(에러가 있으면 에러도 표시)



'View > JSP' 카테고리의 다른 글

태그 파일  (2) 2008.02.18
JavaServer Pages Standard Tag Library  (5) 2008.02.18
JMeter 다운로드 & 사용해보기  (0) 2007.06.29
9. Testing Techniques  (2) 2007.06.26
6. The Decorating Filter Pattern  (0) 2007.06.20
5. Development Using Patterns  (0) 2007.06.06
4. Role Separation with Custom Tags  (0) 2007.06.01
3. Role Separation with JavaBeans  (0) 2007.05.29
Foundation of JSP Design Patterns 소스코드  (0) 2007.05.28
2. Using JSP  (0) 2007.05.28
1. JSP Foundation  (0) 2007.05.21
top


1. JSP Foundation

View/JSP : 2007.05.21 11:00


Understanding HTTP
- Http Uses TCP/IP
- 요청(request)와 응답(response)가 HTTP의 핵심
- HTTP 요청의 구성 : 헤더, 폼데이타, 두 종류 있다.(GET - 서버로 부터 데이터를 가져올 때 사용, POST - 서버에 데이터를 추가/수정 할 때 사용)
- HTTP 응답의 구성 : 컨텐츠 타입, 길이, HTTP 버전. 상태코드

Servlet & JSP
- 쓰레드 기반의 Servlet 만들었으나 HTML 출력하기 불편함
- 그리하여 JSP 만들었으나 자바 코드랑 섞여 있어서 디자인 요소랑 분리하고파짐

Web Appication Development 패턴
- Servlet 모델 :: 전부 서브릿으로
- 모델 1 :: 전부 JSP 로
- 모델 2 :: 서브릿(C), JSP(V)에 역할 나눠서 MVC 패턴 구현

Larning JSP Basics
- JSP 페이징 처리 과정 :: 맨 처음 요청 들어오면 JSP 페이지를  Servlet Java 코드로 변환한 뒤 컴파일 하여 class 파일 만들어서 그 클래스파일 로딩해서 처리하는데, 그 다음 요청 부터는 JSP 페이지가 바꼈는지 확인하고 바꼈으면 위에 과정 반복하고 아니면 그냥 처리.
- 라이프 사이클 메서드 :: jpsInit(), _jspService(). jspDestroy() 순으로 호출 되지만 _가 앞에 붙은 메소드는 오버라이딩 금지.(요 부분이 JSP 에서 Servlet 코드로 바뀔 때 만들어 지는 부분이니까 충돌 납니다.)

JSP 페이지 구조
- Direntives
    - <%@ page import="" extends="" buffur="" autoflush="" %>
    = <jsp:directive.page import="" extends="" buffur="" autoflush="" />
    - <%@ include file="" %>
    = <jsp:directive.include file="" />
- Declarations
    - visibal to the rest of the page
    - <%! int balance = 0; %>
    - <jsp:declaration> int balance = 0; </jsp:declaration>
- Scriptlets
    - 요 부분이 _jspService() 에 들어가게 됨
    - <%    %>
    - <jsp:scriptlet> </jsp:scriptlet>
- Expressions
    - <%= %>
    - <jsp:expression> </jsp:expression>

EL 사용하기
- ${변수명.속성명}

JSTL 사용하기
- http://epro.tistory.com/79

1장 소스코드
- 테스트 데이터 넣을 DDL들
- JSP 코드
- 화면
사용자 삽입 이미지

느낀점 & 궁금증
- 코드가 DB 접근, 내용과 표현이 결합으로 인해 정신없슴.
- 어디서 에러가 날지 두려움.
- DB, 디자인, 자바코드 모두 알고 있어야 개발 가능.
- 아직도 이런 방법(모델1)으로 많이 개발을 하고 있을까?

'View > JSP' 카테고리의 다른 글

태그 파일  (2) 2008.02.18
JavaServer Pages Standard Tag Library  (5) 2008.02.18
JMeter 다운로드 & 사용해보기  (0) 2007.06.29
9. Testing Techniques  (2) 2007.06.26
6. The Decorating Filter Pattern  (0) 2007.06.20
5. Development Using Patterns  (0) 2007.06.06
4. Role Separation with Custom Tags  (0) 2007.06.01
3. Role Separation with JavaBeans  (0) 2007.05.29
Foundation of JSP Design Patterns 소스코드  (0) 2007.05.28
2. Using JSP  (0) 2007.05.28
1. JSP Foundation  (0) 2007.05.21
top