본문 바로가기
카테고리 없음

05/04 국비학원 개발자과정 110회차-마지막 테스트

by 코딩마스터^^ 2023. 5. 4.

[NCS전공교과] 애플리케이션 테스트 관리 (서술형 │ 8문항)- 2001020226_19v5.1 애플리케이션 테스트케이스 설계하기]   중급문제1.스프링 프레임워크에서 @Service 어노테이션의 역할은 무엇인가. (12점)

 

  

 로직

프로젝트매니저가 하는 역할이라고 생각하면 된다. 

 

Spring Framework에서 @Service 어노테이션은 비즈니스 로직을 처리하는 서비스 클래스에 적용됩니다. @Service 어노테이션이 적용된 클래스는 해당 애플리케이션의 Service Layer에서 사용됩니다.

 

@Service 어노테이션을 사용함으로써, 해당 클래스가 Spring의 Bean으로 등록되어, 해당 클래스가 필요한 다른 클래스에서 쉽게 DI(Dependency Injection)를 받을 수 있습니다. 또한, @Service 어노테이션은 해당 클래스가 Service Layer의 구성원임을 명시하고, 개발자가 클래스의 역할을 쉽게 파악할 수 있도록 도와줍니다.

 

@Service 어노테이션은 @Component 어노테이션의 특수한 형태이며, @Component 어노테이션이 적용된 클래스와 동일한 역할을 합니다. 하지만, @Service 어노테이션은 비즈니스 로직을 처리하는 Service Layer에서 사용되는 클래스임을 명시하기 위해, 좀 더 구체적인 어노테이션을 제공한다는 차이가 있습니다.​

- 2001020226_19v5.3 애플리케이션 성능 개선하기]   하급문제2.아래 조건과 코드를 보고 예상되는 SQL 형태가 무엇이 될 지 기술하시오. (8점)

 

-- 조건 --

hashmap = { 'title' : null, 'state ' : 'Y' }

 

-- 코드 --

<select id="searchBoard" resultType="Board">

SELECT * FROM BOARD

<where>

<if test="state != null">

state = #{state}

</if>

<if test="title != null">

title like #{title}

</if>

</where>

</select>

 

  

 where절에 작성하기

 

 

SELECT * FROM BOARD
WHERE state = 'Y' AND title like '%검색어%'​
- 2001020226_19v5.1 애플리케이션 테스트케이스 설계하기]   중급문제3.버전(형상) 관리 시스템의 사용 이점에 대해서 서술하시오. (12점)

 

  

 형상관리팀에서 버전관리를 하게 되어있다.

 

버전관리의 이점은

로컬 레포지토리에 작성하고 웹 레포에 올리기때문에

로컬과 웹 두가지에서 관리를 할 수 있다는것이 장점이다. 안전 장치가 하나 더 있는 것이라고 볼 수 있다.

로컬레포와 웹레포가 따로이다.

 

로컬환경에서 안전하게 여러가지의 테스트 시나리오를 가지고 테스트 해 볼 수 있다.

 

형상관리시에 마스터브랜치와 디벨롭 브랜치를 따로 관리하는것이 좋다.

프로젝트가 끝나면 모든 코드가 마스터브랜치에 합쳐질 수 있다는것이 장점이다.

- 2001020226_19v5.3 애플리케이션 성능 개선하기]   하급문제4.세션을 관리하는 클래스인 HttpSession을 이용하여 세션 정보를 지울 때 사용하는 메소드를 작성하시오. (8점)

( HttpSession session = request.getSession(); 코드가 이미 수행된 상황 )

 

  

 requestForword를 

 

세션정보를 지울때 사용하는 메소드는 invaildate이다.

HttpSession session = request.getSession(); // 이미 생성된 세션 객체를 가져옴

 

// 세션 정보를 지움

session.invalidate();

이렇게 세션 정보를 지우면 해당 세션과 관련된 모든 정보, 즉 세션 ID와 세션에 저장된 모든 속성들이 삭제된다.

- 2001020226_19v5.1 애플리케이션 테스트케이스 설계하기]   중급문제5.스프링 프레임워크에서 @Repository 어노테이션의 역할은 무엇인가. (12점)

 

  

 DAO에서 지정했다가 공식적으로 외부의 라이브러리 클래스 객체에 대해 CRUD를 지원하는 용도로 따로 만든것이다.

 

@Repository 어노테이션은 스프링 프레임워크에서 데이터 액세스 계층인 DAO(Data Access Object)에 사용되는 어노테이션이다.

 

@Repository 어노테이션을 사용하여 DAO 클래스에 해당하는 인터페이스나 클래스에 등록하면, 해당 클래스가 데이터 액세스를 담당하는 클래스임을 스프링 컨테이너에게 알리고, 스프링이 자동으로 해당 클래스를 빈으로 등록하게 된다.

 

또한, @Repository 어노테이션은 예외 처리와 관련된 기능을 제공한다. DAO에서 발생한 예외를 스프링의 일관된 예외 처리 기능으로 변환하여 반환하도록 도와준다. 

따라서, @Repository 어노테이션은 DAO 클래스를 스프링 빈으로 등록하고, 예외 처리를 간편하게 처리할 수 있도록 도와주는 역할을 한다.​

- 2001020226_19v5.2 애플리케이션 통합 테스트하기]   하급문제6.Git의 명령 중 Push에 대해서 기술하시오. (8점)

 

  

 ​Git의 Push 명령은 로컬 저장소에 있는 코드 변경 내용을 원격 저장소에 업로드하는 명령입니다. 일반적으로 로컬에서 개발한 코드 변경 내용을 원격 저장소에 공유하거나 협업을 위해 사용됩니다.

 

git push [options] [repository] [refspec]

options: push 명령에 대한 옵션을 지정합니다.

repository: 원격 저장소의 이름을 지정합니다. 보통은 origin이라는 이름으로 지정됩니다.

refspec: 로컬 저장소에서 업로드할 브랜치나 태그의 이름을 지정합니다.

예를 들어, 로컬 저장소에서 main 브랜치에 변경된 코드를 원격 저장소인 origin의 main 브랜치에 업로드하는 경우 다음과 같이 명령합니다.

git push origin main

 

Push 명령을 실행하면 원격 저장소에 업로드되기 전에 로컬 저장소의 변경 내용이 원격 저장소의 변경 내용과 충돌하는지 여부를 확인하고, 충돌이 발생하는 경우에는 Push를 중지하고 충돌을 머지해야한다.

 

따라서, Push 명령을 실행하기 전에 항상 로컬 저장소의 변경 내용을 Commit하여 로컬 저장소와 원격 저장소의 변경 내용을 동기화시켜야 한다.​

- 2001020226_19v5.3 애플리케이션 성능 개선하기]   상급문제7.Spring Framework 의 주요 기능인 AOP에는 실행 시점에 따른 Advice가 5가지 있는데,

각각의 Advice에 대해 나열하고, 각 관점의 특징에 대해 서술 하시오. (20점)

 

  

 Spring Framework의 주요 기능 중 하나인 AOP(Aspect-Oriented Programming)에는 실행 시점에 따른 Advice가 총 5가지가 있다.

 

Before Advice:

메소드 실행 전에 수행되는 Advice입니다. 대상 메소드가 호출되기 전에 실행된다.

 

After Returning Advice:

대상 메소드가 예외를 발생시키지 않고 정상적으로 반환된 후에 실행되는 Advice입니다. 반환값을 가로채고 변경하거나, 로깅 작업 등을 한다.

 

After Throwing Advice:

대상 메소드가 예외를 발생시켰을 때 실행되는 Advice이다. 예외를 처리하거나, 로깅 작업 등을 수행할 수 있다.

 

After Finally Advice:

대상 메소드가 정상적으로 종료되었든, 예외가 발생했든 간에 무조건 실행되는 Advice입니다. 주로 자원 반환 작업이나 로깅 작업 등을 수행한다.

 

Around Advice:

대상 메소드 실행 전과 후에 모두 실행되는 Advice로, 대상 메소드 실행 전에 필요한 작업을 수행하고, 대상 메소드 실행 후에 필요한 작업을 할 수 있다. 또한, 대상 메소드 실행 전에 호출을 가로채서 전달 인자를 수정하거나, 대상 메소드 실행 후에 반환값을 가로채서 수정할 수 있다. Around Advice는 가장 강력한 Advice로, 모든 종류의 Advice를 대체할 수 있다.​

- 2001020226_19v5.2 애플리케이션 통합 테스트하기]   상급문제8.웹 어플리케이션 배포를 한 후에 아래와 같은 404 에러가 발생하였습니다. 404 에러에 대해서 서술하시오. (20점)

 

 

  

 

웹 어플리케이션 배포 시 404 에러는 해당 URL에 대한 요청이 서버에서 처리되지 않았거나, 요청한 리소스를 찾을 수 없는 경우 발생한다.

 

404에러는

1.요청한 URL이 올바르지 않은 경우

2.요청한 리소스가 삭제되었거나, 이동되었을 경우

3.웹 서버 설정 오류로 인해 요청한 리소스를 찾을 수 없는 경우

4.웹 어플리케이션 설정 오류로 인해 요청한 리소스를 찾을 수 없는 경우

등에 발생할 수 있다.

 

요청한 URL을 확인하여 올바른지 확인합니다.

요청한 리소스가 존재하는지 확인합니다.

웹 서버 설정을 확인하여 요청한 리소스를 찾을 수 있는지 확인합니다.

웹 어플리케이션 설정을 확인하여 요청한 리소스를 찾을 수 있는지 확인합니다.

 

 

컨트롤러에 RequestMapping이나 postmapping이슈가 있는지를 확인한다.

xml사용 어노테이션 사용이 잘못됐을 경우 발생할 수 있다.

어노테이션을 더 많이 사용하고있기때문에 확인 해 봐야한다.

 

 

댓글