일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- graph database
- exit code = -805306369
- maven
- tomcat
- HTML Special Entity
- typeorm
- Java
- JSP
- Next.js
- MariaDB
- orioledb
- BRIN
- springboot
- HTML Code
- tortoise SVN
- Spring Boot
- OGM
- PG-Strom
- Maven Project
- NestJS
- loadcomplete
- Can't load AMD 64-bit .dll on a IA 32-bit platform
- NextJs
- PostgreSQL
- 서브라임 텍스트
- STS
- Spring
- Spring Cloud
- Windows 10
- Eclipse
- Today
- Total
목록개발 (59)
Undergoing
Exer.xml(경로 : c:\XMLExer\) /sucess.jsp /fail.jsp /sucess.jsp /fail.jsp xmlLoader.java import java.io.File; import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.DocumentBuilder; import org.w3c.dom.Document;import org.w3c.dom.Element;import org.w3c.dom.NamedNodeMap;import org.w3c.dom.Node;import org.w3c.dom.NodeList; public class xmlLoader { public static void main(String[] arg..
exerDispatcher.java package ex01.ex01; import java.io.IOException;import java.util.ArrayList;import java.util.HashMap; import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * Servlet implementation class exerDispathcer */ public class exe..
규율이라고 글로벌하게 정해진 것은 아니고, 준수했을 경우 서로 편해지고 향후 테스트를 할 경우 좀 더 객관성있게 할 수 있는 몇 가지 약속들이 책에 서술되어 있길래 각인해야 할 때마다 보기 위해 적어둔다. - public API의 시그너처는 절대 변경하지 않는다. API는 계약의 일부이다. - 종속성을 줄여라. 종속된 상태로 계속해서 클래스를 생성하면 테스트가 복잡해진다. - 생성자는 간단하게 만들어라. - 최소 지식의 원칙(The Law of Demeter)을 준수하라. - 숨겨진 종속성 및 전역 상태를 파악하라. - 제너릭 메서드를 이용하라. - 상속보다 컴포지션을 활용하라. - 조건 분기보다는 다형성을 사용하라.
예외 처리 테스트는 매우 중요한 기법이다. 의도치 않은 상황까지 고려하여 미연에 방지하고 프로그래밍해야 하기 때문이다. 하지만 임의로 오류 상황을 만드는 데에는 많은 시간이 소요된다. 또한 수동으로 만들어내지 못하는 오류도 얼마든지 있다. 따라서 요구사항에 예외 처리를 포함하는 것은 매우 중요하다. 다음은 예외 상황을 만들어주는 요청 핸들러이다. private class SampleExceptionHandler implements RequestHandler{public Response process(Request request) throws Exception{throw new Exception("프로세싱 요청 중 에러 발생");}} 이를 포함하여 테스트 메서드를 만들어 핸들러를 등록하고 요청을 처리해보자..
앞 포스팅에서 DefaultController 클래스를 인스턴트화 하는 부분을 테스트해 볼 것이다. 일단 DefaultController 객체를 생성하고 테스트 작성을 위한 프레임워크를 set-up 한다. TestDefaultController.java public class TestDefaultController {private DefaultController controller;@Beforepublic void instantiate() throws Exception{controller = new DefaultController();} @Testpublic void testMethod(){throw new RuntimeException("implement me");}} DefaultController ..
컨트롤러는 다음과 같은 역할을 수행한다. - 요청을 수락- 요청에 따른 공통 연산 수행- 적절한 request handler 선택- 핸들러가 관련 비즈니스 로직을 수행할 수 있도록 요청 routing- 오류나 예외 처리를 위한 최상위 핸들러 제공 표현/비즈니스 계층 패턴 등 여러 분야에서 컨트롤러가 광범위하게 사용됨을 인지한다면, 컨트롤러의 기본적인 작성법은 숙지해야 할 것이다. 기본적인 인터페이스(요청하고, 요청 핸들러에 전달하고, 응답 개체를 반환한다)는 다음 소스처럼 구현될 수 있다. Request.java public interface Request{String getName();} Response.java public interface Response{ } RequestHandler.java p..
* Reference : JUnit in Action, Second Edition(국내번역판) JUnit은 자바 프로그래밍 언어로 짜여진 유닛 테스팅 프레임워크로, 테스트 주도 개발(TDD. Test-Driven Development)에서 중요하게 여겨진다. 자동화 테스트를 위한 전용 프레임워크의 필요성을 중히 여긴 에릭 감마와 켄트 벡이 제작하였다. * Framework : 거의 완성된 애플리케이션. 여러 애플리케이션에서 공유할 수 있는 재활용 가능하고 보편적인 구조를 제공함. 응집성 높은 구조를 제공한다는 점에서, 단순 유틸리티 클래스의 집합인 툴킷과 구분 JUnit은 오픈소스 소프트웨어로, http://www.junit.org 에서 다운로드 받을 수 있다. But Myeclipse를 설치했다면 기본..
커스텀 액션을 만드는 방법- 태그 파일 : 구현 간단함. 웹 컨테이너의 특정 dir에 태그 파일을 저장하면 바로 사용 가능. HTML 중심 구조. 코드 노출 쉬움- 태그 클래스 : 구현 복잡. 태그 클래스의 소스코드를 컴파일하고, 그 결과로 생긴 클래스 파일(TLD 파일)을 웹 컨테이너의 특정 dir에 설치하고 web.xml에 저장해야 함. 완전한 자바 클래스. 선언 방식 : 태그 파일에서 사용할 수 있는 지시자 이름 역할 tag 지시자 웹 컨테이너가 태그 파일을 처리할 때 필요한 정보를 기술 include 지시자 다른 태그 파일을 포함 taglib 지시자 태그 파일에서 사용할 다른 커스텀 액션의 태그 라이브러리에 대한 정보 기술 attribute 지시자 커스텀 액션의 애트리뷰트에 대한 정보 기술 var..
What is JSTL?- JSTL(JavaServer Pages Standard Tag Library). Java EE 기반의 웹 애플리케이션 개발 플랫폼을 위한 컴포넌트- JSP 페이지 안에서 사용할 수 있는 커스텀 액션(XML 문법을 따르면서 특정한 동작을 수행하는 태그)과 함수 제공- if나 for문 등 간단한 프로그램 로직 구사 가능- 다른 JSP 페이지를 호출할 수 있음- JSP 페이지 하나로 여러가지 언어의 웹페이지 생성- DB로의 입력, 수정, 삭제, 조회- XML 문서의 처리- 문자열을 처리하는 함수 호출 JSTL Library 라이브러리 기능 URI 식별자 접두어 코어 일반 프로그래밍 언어에서 제공하는 것과 유사한 변수 선언. 실행 흐름의 제어 기능을 제공, 다른 JSP 페이지로 제어를..