ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • (개발준비) 13 - 정보처리기사 시험준비 (21.08.14) 질문
    개발/개발준비 2023. 6. 29. 21:40

    ■ 기록

     

    13. GoF(Gang of Four) 디자인 패턴과 관련한 설명으로 틀린 것은?
         1. 디자인 패턴을 목적(Purpose)으로 분류할 때 생성, 구조, 행위로 분류할 수 있다.
         2. Strategy 패턴은 대표적인 구조 패턴으로 인스턴스를 복제하여 사용하는 구조를 말한다.
         3. 행위 패턴은 클래스나 객체들이 상호작용하는 방법과 책임을 분산하는 방법을 정의한다.
         4. Singleton 패턴은 특정 클래스의 인스턴스가 오직 하나임을 보장하고, 이 인스턴스에 대한 접근 방법을 제공한다.
         정답 : [2]


          <문제 해설>
    GoF(Gang of Four) 패턴: 에리히 감마(Erich Gamma), 리처드 헬름(Richard Helm), 랄프 존슨(Ralph Johnson), 존 블리시데스(John Vlissides)가 같이 고안한 디자인 패턴

    23가지 디자인 패턴을 3가지 분류로 정리한 디자인 패턴
    -생성 패턴: Abstract Factory, Builder, Factory Method, Prototype, Singleton
    -구조 패턴: Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy
    -행위 패턴: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Strategty, Template Method, Visitor

    보기 2번의 Strategy 패턴은 행위 패턴에 해당
    [해설작성자 : 이거까지알아야해?]

    디자인 패턴 = 생구행을떠올리자
    생(성) - 추빌팩프싱      *추 : Abstract Factory(추상팩토리)
    구(조) - 어브컴데퍼플프
    행(위) - 위에 2개 해당안하면 행위패턴임
    [해설작성자 : 지나가던사람]

    2. Strategy 패턴 : 행위패턴, 클라이언트에 영향을 받지 않는 독립적인 알고리즘을 선택하는 패턴
    -> 프로토타입 패턴 : 생성패턴, 원본 객체를 복제하는 방법
    [해설작성자 : 내일부터갓생산다]

    보기 2번은 빌더 패턴의 프로토 타입(Prototype Pattern)에 대한 설명이다
    [해설작성자 : 아무개]

     

    39. 테스트 케이스 자동 생성 도구를 이용하여 테스트 데이터를 찾아내는 방법이 아닌 것은?
         
         1. 스터브(Stub)와 드라이버(Driver)
         2. 입력 도메인 분석
         3. 랜덤(Random) 테스트
         4. 자료 흐름도

         정답 : [1]
         정답률 : 51%
          <문제 해설>
    테스트 수행 도구
    : 자료 흐름도, 기능 테스트, 입력 도메인 분석, 랜덤 테스트

    스터브(Stub)와 드라이버(Driver)는 통합 테스트 시 사용되는 것
    스터브(Stub)는 하향식 테스트에 사용되는 테스트용 임시 모듈
    드라이브(Drive)는 상향식 테스트에 사용되는 테스트 가동기
    [해설작성자 : ㄱㄱㅇ]

     

    스텁 & 드라이버

    1. 소프트웨어는 여러개의 클래스와 함수, 패키지들이 맞물려서 돌아간다.
    2. 근데 이 모두를 전부 개발하지 않고, 일부만 개발된 상태로 기능 테스트를 해보고 싶을 수 있다.
    3. 이 때, 아직 미개발된 항목들에 대해 가장 기본적인 뼈대 기능만 만들어서 단순한 기능 테스트를 할 수 있다.
    4. 이 때 사용되는 개념이 스텁과 드라이버이다.

    굳이 두 용어를 명확하게 나눠서 외울 필요는 없고, 이런 테스트 방식을 이해하는 것 자체가 핵심이다

    스텁

    하향식 테스트, 상위 모듈에서 하위 모듈로의 테스트를 진행하는 것

    • 서버-클라이언트 구조에서 서버만 구현된 상태로 테스트를 해보고 싶을수 있다.
    • 이때, 단순히 값만 넘겨주는(뼈대만 있는) 가상의 클라이언트를 만들어서 테스트 할 수 있다.
    • 이 가상의 클라이언트가 바로 스텁이다.

    드라이버

    상향식 테스트, 하위 모듈에서 상위 모듈로의 테스트를 진행하는 것

    • 마찬가지로 서버-클라이언트 구조에서 이번엔 클라이언트만 구현된 상태로 테스트를 해보고 싶다.
    • 접속 인증 등의 간단한 기능만 하는(뼈대만 있는) 가상의 서버를 만들어서 테스트 할 수 있다.
    • 가상의 서버가 바로 드라이버이다.

    스텁(stub)? 드라이버(driver)? | 코딩장이 (itholic.github.io)

     

    스텁(stub)? 드라이버(driver)?

    스텁 & 드라이버

    itholic.github.io

     

    51. 로킹 단위(Locking Granularity)에 대한 설명으로 옳은 것은?
         
         1. 로킹 단위가 크면 병행성 수준이 낮아진다.
         2. 로킹 단위가 크면 병행 제어 기법이 복잡해진다.
         3. 로킹 단위가 작으면 로크(lock)의 수가 적어진다.
         4. 로킹은 파일 단위로 이루어지며, 레코드와 필드는 로킹 단위가 될 수 없다.

         정답 : [1]
         정답률 : 64%
          <문제 해설>
    로킹 단위가 큼 -> 로크의 수가 적어짐 -> 병행성 수준 낮아짐, 병행 제어 기법 간단해짐
    로킹 단위가 작음 -> 로크의 수가 많아짐
    [해설작성자 : 싹싹이]

    로킹 (병행제어 기법의 종류 중 하나)
    -직렬화 기법
    -데이터베이스, 파일, 레코드 등은 로킹단위가 될 수 있음.
    -로킹 단위가 작아지면, 데이터 베이스 공유도 증가.
    -로킹 단위가 작아지면, 로킹 오버헤드 증가.
    -로킹 단위가 작아지면, 로크의 수 증가.
    -로킹 단위가 작아지면, 병행성 수준이 높아짐.
    -한꺼번에 로킹할 수 있는 객체의 크기를 로킹단위 라고 함.
    [해설작성자 : 야쿠르트]

     

    로킹단위 : 한번에 한명만 사용할 수 있게 하는 단위

    단위별로 나누어진 하나하나를 '로크' 라고 하는데, 로킹 단위를 파일로 하자면 파일 하나하나가 로크가 되니 당연히 그 수가 많아질테고, 폴더로 하자면 훨씬 줄어들 것이다. 그리고 로킹 단위를 프로젝트로 하면 로크는 1개 밖에 없게 된다.

     

     로킹 단위가 크면 -> 로크의 수가 적어진다. -> 제어 기법이 간단해 진다. -> 병행성이 감소한다.

     로킹 단위가 작으면 -> 로크의 수가 많아진다. -> 제어 하기 까다롭다. -> 병행성이 증가한다.

     

    * 관계연산

    https://m.blog.naver.com/k97b1114/140152644090

     

    관계 데이터 연산 - 관계 대수(relational algebra)

    연산 : 시스템 입장  데이터 언어 : 사용자 입장   데이터 모델은 구조와 제약을 정의해야 될 뿐...

    blog.naver.com

     

     

    54. 다음 중 SQL에서의 DDL 문이 아닌 것은?

         1. CREATE
         2. DELETE
         3. ALTER
         4. DROP

         정답 : [2]
         정답률 : 75%
          <문제 해설>
    DELETE는 UPDATE, SELECT, INSERT와 같은 DML 문
    [해설작성자 : Ruinak]

    1. DDL (정의)
    -CREATE (정의)
    -ALTER (변경)
    -DROP (삭제)


    2. DML (조작)
    -SELECT (검색)
    -INSERT (삽입)
    -DELETE (삭제)
    -UPDATE (갱신)


    3. DCL (제어)
    -COMMIT (완료)
    -ROLLBACK (되돌림)
    -GRANT (권한부여)
    -REVOKE (권한취소)
    [해설작성자 : 다산보안관]

     

    트랜잭션(transaction)이란 "쪼갤 수 없는 업무 처리의 최소 단위"를 말한다.

     

    59. 이전 단계의 정규형을 만족하면서 후보키를 통하지 않는 조인 종속(JD : Join Dependency)을 제거해야 만족하는 정규형은?
         
         1. 제3정규형
         2. 제4정규형
         3. 제5정규형
         4. 제6정규형

         정답 : [3]
         정답률 : 70%
          <문제 해설>
    1. 제 1 정규형 : 릴레이션에 속한 모든 속성의 도메인이 더는 분해되지 않는 원자값으로만 구성되어 있음
    2. 제 2 정규형 : 제 1 정규형에 속하고, 기본키가 아닌 모든 속성이 기본키에 완전 함수 종속 되어야 함
    3. 제 3 정규형 : 제 2 정규형에 속하고 기본키가 아닌 모든 속성이 기본키에 이행적 함수 종속이 되지 않을 시 속함
    4. 제 4 정규형 : 보이스/코드 정규형을 만족하며 함수 종속이 아닌 다치 종속 제거시 만족
    5. 제 5 정규형 : 제 4 정규형을 만족하며 후보키를 통하지 않는 조인 종속 제거해야 만족
    [해설작성자 : 오니]

     

     

     

Designed by Tistory.