본문 바로가기

반응형

백엔드

(178)
JUnit - 개요 TDD의 근간이 되는 프레임워크. 소위 xUnit 시리즈라고 불리는 다양한 단위 테스트 프레임워크들의 기원이 되는 프레임워크. JUnit 단위 테스트를 수행하는 데 있어 기본적으로 다음과 같은 기능을 제공 - 테스트 결과가 예상과 같은지를 판별해주는 단정문 (assertions) - 여러 테스트에서 공용으로 사용할 수 있는 테스트 픽스처 (test fixture) - 테스트 작업을 수행할 수 있게 해주는 테스트 러너 (test runner) 테스트 픽스쳐 테스트를 반복적으로 수행할 수 있게 도와주고, 매번 동일한 결과를 얻을 수 있게 도와주는 '기반이 되는 상태나 환경'을 의미한다. 일관된 테스트 실행환경이라고도 하며, 때로는 테스트 컨텍스트라 부르기도 한다.
TDD의 장점 개발의 방향을 읽지않게 유지해준다 - 현재 자신이 어떤 기능을 개발하고, 어디까지 와 있는지를 살펴볼 수 있다. 품질 높은 소프트웨어 모듈 보유 - TDD를 통해 만들어진 애플리케이션은 필요한만큼 테스트를 거친 품질이 검증된 부품을 갖게되는 것과 마찬가지다. 자동화된 단위 테스트 케이스를 갖게 된다. - TDD의 부산물로 나오는 자동화된 단위 테스트 케이스들은, 개발자가 현재까지 작성된 시스템에 대한 이상 유무를 바로 확인할 수 있게 돕는다. - 기능 추가, 수정 시에 수행해야하는 회귀 테스트에 대한 부담도 줄어든다. 사용설명서 & 의사소통의 수단 - TDD로 작성된 각 모듈에는 테스트 케이스라고 하는 테스트 코드가 개발 종료와 함께 남게 된다. 이 테스트 코드들은 현재의 자신과 주위의 개발자, 미래의 ..
TDD - 테스트 주도 개발의 진행 방식 질문 - 테스트 작성을 통해 시스템에 질문한다. 응답 - 테스트를 통과하는 코드를 작성해서 질문에 대답 정제 - 아이디어를 통합, 불필요한 것은 제거, 모호한 것은 명확히 해서 대답을 정제 반복 - 다음 질문을 통해 대화를 계속 진행 위는 TDD를 이용한 개발의 사이클이다. 이를 그림으로 나타내면 아래와 같다. 참고 https://product.kyobobook.co.kr/detail/S000001223650 테스트 주도 개발 TDD 실천법과 도구 | 채수원 - 교보문고 테스트 주도 개발 TDD 실천법과 도구 | 효율적인 설계와 간결한 코드를 만드는 필수 TDD 기법『TDD 실천법과 도구』는 업고픔질 소프트웨어를 만드는 유쾌한 개발 비법 TDD를 다룬 책이다. 초급 개 product.kyobobook.c..
스프링 - 컨테이너 종류 스프링은 BeanFactory와 ApplicationContext의 2가지 타입의 컨테이너를 제공한다. - Bean Factory - ListableBeanFactory, HierarchicalBeanFactory - ApplicationContext - ConfigurableApplicationContext Application Context 인터페이스와 관련된 주요 클래스의 계층 구조 - GenericXmlApplicationContext : XML 파일을 설정 정보로 사용하는 스프링 컨테이너 구현 클래스이다. 독립형 어플리케이션을 개발할 때 사용 - AnnotationConfigApplicationContext : 자바 코드를 설정 정보로 사용하는 스프링 컨테이너. 독립형 어플리케이션을 개발할 때 ..
자바 - 예외처리 예외 클래스의 계층 구조 RuntimeException 클래스들 - 프로그래머의 실수로 발생하는 에러 Exception 클래스들 - 사용자의 실수와 같은 외적인 요인에 의해 발생하는 예외 RuntimeException 클래스들은 예외처리를 해주지 않아도 컴파일러가 문제삼지 않는 것을 알아야한다.
자바 - 제어자 제어자는 클래스, 변수 또는 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여한다. 제어자의 종류는 크게 접근 제어자와 그 외의 제어자로 나눌 수 있다. 접근 제어자 - public, protected, default, private 그 외 - static, final, abstract, native, transient. synchronized, volatile, strictfp final을 사용하면 값을 변경할 수 없는 상수가 되며, 메서드에 사용되면 오버라이딩을 할 수 없게 되고 클래스에 사용되면 자신을 확장하는 자손클래스를 정의하지 못하게 된다. abstract는 미완성의 의미를 가지고 있다. 메서드의 선언부만 작성하고 실제 수행내용은 구현하지 않은 추상메서드를 선언하는데 사용된다. 접근 제어자..
자바 - package 패키지란 클래스의 묶음. 패키지에는 클래스 또는 인터페이스를 포함시킬 수 있다. 자신만의 패키지 체계를 유지함으로써 같은 이름의 클래스일지라도 서로 다른 패키지에 존재하는 것이 가능하다. 클래스가 물리적으로 하나의 클래스 파일인 것과 같이 패키지는 물리적으로 하나의 디렉토리이다. - 하나의 소스파일에는 첫 번째 문장으로 단 한 번의 패키지 선언만을 허용한다. - 모든 클래스는 반드시 하나의 패키지에 속해야한다. - 패키지는 점(.)을 구분자로 하여 계층 구조로 구성할 수 있다. - 패키지는 물리적으로 클래스 파일을 포함하는 하나의 디렉토리이다.
자바 - Super() super()는 조상 클래스의 생성자이다. 자손 클래스의 인스턴스를 생성하면 자손의 멤버와 조상의 멤버가 모두 합쳐진 하나의 인스턴스가 생성된다. 그래서 자손 클래스의 인스턴스가 조상 클래스의 멤버들을 사용할 수 있는 것이다. 자손 클래스의 멤버가 조상 클래스의 멤버를 사용할 수도 있으므로 조상의 멤버들이 먼저 초기화되어 있어야한다. class SuperTest { public static void main(String args[]){ Child c = new Child(); c.method(); } } class Parent { int x = 10; } class Child extends Parent { int x = 20; void method(){ System.out.println("x=" + x)..

반응형