매직넘버를 심볼릭 정수로 치환하기 매직넘버란 소스 코드 안에 작성된 구체적인 숫자값을 말합니다. 예를 들어 다음과 같이 입력받은 값의 길이가 100을 넘기면 예외를 발생시키는 코드를 보면 다음과 같습니다. If ( 100 > input.length ) then Throw New OutofLengthException() End If 위 코드에서 숫자 100이 의미하는 뜻을 알 수가 없습니.. 프로그램 아키텍쳐/Refactoring 2010.12.09
리팩토링의 단계별 접근 방법 1. 한번에 2개씩 수정하지 않는다. 리팩토링을 할 때는 ‘리팩토링을 하기전에 테스트 - 리팩토링 - 리팩토링 후 테스트’ 의 순서를 가진다. 이와 같은 단계는 지켜가면서 리팩토링 하는 것이 좋다. 즉, 한번에 하나씩 수정하는 것이 가장 좋은 방법이다. 리팩토링은 여러 작업을 동시에 .. 프로그램 아키텍쳐/Refactoring 2010.12.09
코드의 악취(Bad Smells in Code) 코드의 악취는 마틴 파울러의 책 'Refactoring'에 쓰여진 비유로 리팩토링이 필요한 부분을 지칭합니다. 마틴 파울러는 책에서 코드의 악취를 22가지 소개하고 있습니다. 영문 한글 설명 Duplicated Code 중복된 코드 코드가 여기저기 겹쳐 있다. Long Method 너무 긴 메소드 메소드가 너무 길다. Large .. 프로그램 아키텍쳐/Refactoring 2010.12.09
자바 기반의 웹 프로그램 자바에서 웹 프로그램을 제작하기 위해서는 서블릿(Servlet)을 기본 컴포넌트로 사용한다. 여기에 표현을 위한 컴포넌트인 JSF나 JSP, JSTL 등을 사용한다. 서블릿은 CGI(Common Gateway Interface)방식으로 코드를 작성하고 JSP는 서버 사이드 스크립트(Server Side Script)방식을 사용한다. CGI 방식은 정젖 웹 페이지 제.. 자바(Java)/JAVA 2EE 2010.12.09
JSP(Java Server Pages) 컴포넌트 기술문서 서블릿과 JSP는 동적 웹 페이지 제작 기술로서 정적 웹 페이지가 가지는 단점을 극복하기 위한 기술이다. [정적 웹 페이지 흐름도] 정적 웹 페이지는 한번 작성한 HTML 문서를 사용자의 요청에 따라 해당하는 페이지를 서버에서 바로 전송하는 방식이다 .이 방식은 페이지 생산에 비해 유지보수가 어렵고.. 자바(Java)/JAVA 2EE 2010.12.09
HttpServletResponse 인터페이스 웹 서버에서 실행되고 있는 HTTP 서블릿이 클라이언트의 요청을 받아 처리하고 그 결과를 HTTP를 사용해 클라이언트에게 되돌려 주기 위해 HttpServletResponse객체를 사용한다. HttpServletResponse 인터페이스는 서블릿의 service() 메소드가 HTTP 헤더를 적당하게 설정할 수 있도록 해주고 클라이언트에게 데이터를 .. 자바(Java)/JAVA 2EE 2010.12.08
HttpServletRequest 인터페이스 ServletRequst 인터페이스를 확장하여 HTTP 프로토콜에 사용하는 인터페이스이다. 즉, 사용자의 요청을 서블릿에 전달하기 위해 서블릿 컨테이너가 요청을 HttpServletRequest 인터페이스를 구현한 객체로 서블릿에게 전달한다. HttpServletRequst 인터페이스 메소드 메소드 설명 String getAuthType() 서버에서 사용하는 .. 자바(Java)/JAVA 2EE 2010.12.08
HttpServlet 추상 클래스 HttpServlet 추상클래스는 HTTP서블릿을 생성할 수 있도록 기능을 제공해 주는 추상 클래스이다. GerenicServlet클래스를 상속받아 구현된 클래스로 웹 서비스 프로토콜인 HTTP 프로토콜에서 사용하는 서블릿이다. 따라서 HTTP 프로토콜을 사용하는 서블릿 프로그램을 만들때는 HttpServlet클래스를 상속받아 구현.. 자바(Java)/JAVA 2EE 2010.12.08
클라이언트에게 응답할 때 사용되는 ServletResponse 인터페이스 ServletResponse 인터페이스는 서블릿에서 처리된 결과를 클라이언트에게 되돌려 줄 때 필요한 기능들을 미리 정의해 놓은 인터페이스이다. 이 때 클라이언트로 보내지는 모든 데이터는 MIME 타입으로 인코딩되어 전송된다. 이 때 데이터를 보낼 때는 MIME타입의 텍스트 데이터와 바이너리 데이터로 구분된.. 자바(Java)/JAVA 2EE 2010.12.08
사용자의 요청 정보를 담고 있는 ServletRequest 인터페이스 ServletRequest 인터페이스는 클라이언트로부터 온 요청에 대한 정보를 서블릿에게 전달하기 위해 사용되는 인터페이스이다. 서블릿 컨테이너는 클라이언트로부터 온 요청을 ServletRequest 인터페이스를 구현한 Request객체를 생성해 서블릿에게 전달해 준다. 따라서 Request 객체에 사용되는 메소드를 미리 정.. 자바(Java)/JAVA 2EE 2010.12.08