ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • (국비교육) 61 - 하버네이트 + 게시글 관리 페이지 + join + sql if 조건 + like + 9회차 & 10회차 시험
    개발/국비교육 2023. 8. 28. 21:22

    ■ 로그 이전꺼 사용하기

     

     

    gradle log 부분 주석처리 후  gradle refresh 처리하기

     

     

    어플리케이션에서 log4 주석처리하고 mariadb 다시 살려주기

     

     

    하버네이트 사용해보기

     

    하이버네이트는 자바 언어를 위한 ORM 프레임워크로,

    JPA(Java Persistence API)의 구현체로, JPA 인터페이스를 구현하며,  내부적으로 JDBC API를 사용한다. 

     

    https://livenow14.tistory.com/70

     

    [DB] 하이버네이트(Hibernate)란?

    ORM 기술에 대한 명세인 JPA(Java Persistence API)의 구현체의 한 종류 JPA의 구현체이므로 JPA의 특징을 함께 정리했어요. Hibernate란? 하이버네이트는 자바 언어를 위한 ORM 프레임워크에요. JPA의 구현체

    livenow14.tistory.com

     

     

    게시글 관리 페이지를 만들 예정이다.

    getmapping 으로 화면을 띄울 수 있도록 먼저 설정해준다. 

     

    post로 받지 않아서 아직은 /admin/post 로 받는다. 

     

     

    게시글 관리에서는 모든 게시판의 글을 불러올 예정이다.

    따라서 list map 으로 받아준다. 

     

     

    content 를 제외한 모든 것을 찍어준다. 

     

     

    게시글 내용 모두 JSP 에 뽑아준다.

    for each 사용을 위해 c 태그 불러주고 multiboard.css 불러준다.

     

     

    다음과 같이 게시글 전체 출력 완료

     

     

    다음과 같이 join 을 두 번 작성하여 카테고리 이름과 글쓴이를 가져올 수 있다. 

     

     

     

    게시글의 갯수도 출력 가능하다. 

    list[0].count 로 나타낸 이유는 List<Map>에 담겼기 때문이다. 

     

     

    상단에 카테고리별 버튼을 만들어준다. 

     

     

    url 로 받은 cate 를 통해 게시글 버튼을 눌렀을 때 맞는 게시판을 불러온다. 

     

     

    기본값이 0으로 설정했기 때문에 0보다 클 경우로 if 조건을 걸어준다. 

    마찬가지로 select 에서도 where 조건을 걸어준다. 

     

     

    where 조건을 걸어주고 and 를 사용한다. 추후 if 조건 여러개 사용 가능하다. 

     

     

    게시글 클릭 시 해당하는 게시글을 볼 수 있다. 

     

     

    전체 게시글 보는 버튼도 만들어준다. 

     

     

    form 태그를 이용하여 검색 기능을 만들어준다. 

     

     

    cate 전체값도 param 으로 가져오기 위해서 menu와 버튼에 하드코딩 처리 해준다. 

    이제 전체보기도 cate=0이 담기는 것을 확인 가능하다. 

     

     

    값을 입력하지 않아도 기본값으로 전체 게시판을 출력하도록 설정해준다.

     

     

    map 값으로 넣어준다. 

     

     

    하하하하 검색 시 제목과 일치한 값이 나온다. 

     

     

    Like 를 사용하면 비슷한 값을 입력해도 해당 내용이 나온다. 

     

     

    카테고리에 해당하는 일부 글자만 검색해도 글이 나온다. 

     

     

    title 이름 정해주고 클릭 시 해당 내용이 뜨도록 설정해준다. 

     

     

    클릭 시 해당 게시글 보이기 표시한다. 

     

    * 9회차 시험 

    [문항1]  데이터베이스 모델링에서 다음 중 틀린 것은? 3번

     1) 개체(entity)는 직사각형으로 표현한다
     2) 1:N 관계를 가진다면 까마귀발 표기법을 이용하여 세가닥을 긋는다.
     3) 1:1 관계라는 것은 없다.
     4) N:M 관계에서는 서로를 연결해줄 맵핑테이블이 필요하다.

     

    [문항2]  소프트웨어 요구사항(SoftWare Requirements)의 정의를 말해 보세요.

    소프트웨어 요구사항(Software Requirements)은 문제의 해결 또는 목적 달성을 위하여 고객에 의해 요구되거나, 표준이나 명세 등을 만족하기 위하여 시스템이 가져야 하는 서비스 또는 제약사항이다.  고객이 요구하지 않았던 것이라도 당연히 제공되어야 한다고 가정되는 것들도 포함된다. 

     

    [문항3]  소프트웨어 요구사항의 계층적 분류 3가지를 말해 보세요.

    소프트웨어 요구사항의 계층적 분류 3가지는 기능적 요구사항,  비기능적 요구사항, 도메인 요구사항 3가지이다. 
    기능적 요구사항 (Functional Requirements): 소프트웨어가 어떤 기능을 제공해야 하는지에 대한 요구사항이 포함된다.
    비기능적 요구사항 (Non-functional Requirements): 시스템이 수행하는 기능 이외의 사항, 시스템 구축에 대한 제약사항에 관한 요구사항을 말한다. 
    도메인 요구사항 : 해당 분야(sw의 분류)에 대한 요구사항이다. 응용 시스템의 도메인으로부터 유도되며, 그 도메인을 반영하는 시스템의 특성과 기능을 설명하는 요구사항이라고 말할 수 있다. 

     

    [문항4]  소프트웨어 요구사항 정의 프로세스 4단계를 요약하시오.

    소프트웨어 요구사항 정의 프로세스 4단계는 도출, 분석, 명세, 확인 및 검증 단계로 구성된다. (도분명확) 
    도출은 프로젝트 팀이 고객, 사용자, 등과 소통하면서 요구사항을 수집 및 도출한다. 
    분석은 수집한 요구사항을 분석하고 정제하여 모호한 부분이나 중복되는 요구사항을 식별하고 해결한다.
    명세는 분석한 요구사항을 명확하고 구체적으로 문서화한다.

    마지막으로 검증 및 확인은 명세된 요구사항이 실제로 원하는 결과를 제공하는지 검증하고, 개발된 소프트웨어가 이러한 요구사항을 충족하는지 확인한다. 

     

    [문항5]  아래 예시에 해당하는 구성도는 무엇인가? 3번

     1) Architure 구성도
     2) Software 구성도
     3) Netwotk 구성도
     4) Hardware 구성도

     

    [문항6]  아래 보기의 요구사항 모델링 기법으로 올바른 것을 선택하세요. 3번

    UML 모델링의 핵심 개념으로 시스템 기능 및 요구사항 추출 행위를 모델링한다. 즉, 유스케이스와 액터 간의 상호작용을 통해 시스템 영역을 정의하고 액터가 요구하는 작업을 시스템이 실행하여 수행 결과 값들을 생성하는 행위를 기술한다.

     

     1) 클래스 다이어그램 (Class diagram)
     2) 컴포넌트 다이어그램 (Component diagram)
     3) 유스케이스 다이어그램 (Use case diagram)
     4) 프로필 다이어그램 (Profile diagram)

     

    [문항7]  시퀀스 다이어그램 구성요소 4가지를 간단하게 요약하세요.(일부 오답)

    객체(Object): 시퀀스 다이어그램에서 객체는 시스템 내의 개별 개체나 인스턴스를 나타낸다.
    생명선(Lifeline): 생명선은 시간 경과에 따른 객체의 존재를 나타내는 세로 줄이다.
    메시지(Message): 메시지는 객체 간의 상호작용을 나타내는 수평 화살표로 표현한다.
    액티베이션(Activation): 액티베이션은 객체의 메소드가 실행 중임을 나타낸다. 

     

     

     

    [문항8]  좋은 요구사항 명세의 특징이 아닌 것은? 4번

     

     1) 정확성
     2) 명확성
     3) 완전성
     4) 확장성
     5) 일관성

     

    [문항9]  개념적 데이터 모델링에서 개체와 개체들관의 관계, 개체의 속성 및 참조사항을 간단한 도형으로 나타내는 표기를 무엇이라 하나요?

     

    Entity-Relationship (ER) 다이어그램이라고 한다. 
    ER 다이어그램은 관계형 데이터베이스 설계에서 사용되며, 엔터티(entity), 관계(relationship), 속성(attribute)을 시각적으로 표현하여 데이터 모델을 나타낸다.

     

    * 10회차 시험 문제 

    [문항1]  개발자 테스트케이스 구성사항이 아닌 것을 선택하시오 4번

     1) 프로젝트명
     2) 작성자
     3) 시나리오
     4) 테스트일 날씨

     

    [문항2]  테스트 시나리오에 들어갈 사항이 아닌 것을 선택하시오 3번

     1) 시나리오 ID
     2) 테스트 시나리오
     3) 테스트하면서 느낀 본인의 기분
     4) 시나리오 설명

     

    [문항3]  다음 중에서 테스트 구성항목이 아닌 것을 선택하시오 2번

    1) 테스트 대상
     2) 유스케이스다이어 그램을 그려서 설계한다.
     3) 테스트 조직
     4) 테스트 일정

     

    [문항4]  다음 중에서 공식적인 테스트 단계가 아닌 것을 선택하시오 1번

     1) 개발자가 찍는 console.log
     2) 통합테스트
     3) 인수테스트
     4) 시스템테스트

     

    [문항5]  하나의 모듈을 기준으로 독립적으로 진행되는 가장 작은 단위의 테스트를 무엇이라 하는가? 1번

     1) 단위테스트
     2) 미니 테스트
     3) 통합 테스트
     4) 그냥 테스트

     

    [문항6]  최종적으로 여러 모듈들을 통합하여 확인하는 테스트는 무엇인가요? 2번

     1) 단위테스트
     2) 통합테스트
     3) 시스템테스트
     4) 인수테스트

     

    [문항7]  단위테스트 작성의 필요성 중 틀린 것은? 3번

     1) 테스팅에 대한 시간과 비용 절감
     2) 새로운 기능 추가 시 빠르게 테스트 해 볼 수 있다.
     3) 테스트는 단 한번만 실행 하려고 한다.
     4) 미리 테스트를 해 보고 반영하기 때문에 개발이 편하다.

     

    [문항8]  테스트 결과 발견된 결함에 대하여 조치 사항과 문서와 관계없는 것을 선택하시오 2번

     1) 부적합 내역
     2) 개발자 기분
     3) 조치내역 및 계획
     4) 테스트일자 및 담당자

     

    [문항9]  개발자가 직접 시나리오를 제작할 수도 있지만, 다른 의사소통 집단으로부터 시나리오를 받아 인수인계 점검하는 테스트를 무엇이라 하는가? 4번

     1) 단위테스트
     2) 통합테스트
     3) 시스템테스트
     4) 인수테스트

     

    [문항10]  전원차단 등 시스템 자체에 생긴 문제에 대하여 제대로 복구 되는지 확인하는 테스트를 선택하시오  3번

     1) 단위테스트
     2) 통합테스트
     3) 시스템테스트
     4) 인수테스트

     

    [문항11]  다음중 에러가 없는 코드는 무엇인가요? 2번

     1) [1,2,3].forEach( item, result );
     2) [1,2,3].map( item => item * 10);
     3) [1,2,3].map( item, index => item * 10);
     4) [1,2,3].filter( () => x );
Designed by Tistory.