1과목 : 소프트웨어 설계
- 요구사항을 도출하기 위한 주요 기법
- 사용자 인터뷰
- 설문조사
- 라피도 프로토타이핑
- 모바일 기기에서 사용하는 모바일 제스처
- tap (누르기)
- Double Tap (두번 누르기)
- Drag(누른 채 움직임)
- Pan(누른 채 계속 움직임)
- Press(오래 누르기)
- Flick (빠르게 스크롤)
- Pinch (두 손가락으로 넓히기/ 좁히기)
- 객체지향 용어
- Operation
- 클래스가 수행할 수 있는 동작으로, 함수 라고도 함
- Class
- 공통된 속성과 연산을 갖는 객체의 집합으로, 객체의 일반적인 타입을 의미함
- Inheritance
- 이미 정의된 상위 클래스(부모 클래스)의 모든 속성과 연산을 하위 클래스가 물려받는것
- Encapsulation
- 데이터와 데이터를 처리하는 함수를 하나로 묶는 것을 의미
- Operation
- 객체 지향 설계 원칙
- 단일 책임 원칙
- 객체는 단 하나의 책임만 가져야 한다는 원칙
- 개방-폐쇄 원칙
- 기존의 코드를 변경하지 않고 기능을 추가할 수 있도록 설계해야 한다는 원칙
- 리스코프 교체(치환)의 원칙
- 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야 한다는 설계 원칙
- 인터페이스 분리 원칙
- 클라이언트는 자신이 사용하지 않는 메소드와 의존관계를 맺으면 안된다
- 클라이언트가 사용하지 않는 인터페이스 때문에 영향을 받아서는 안된다는 원칙
- 단일 책임 원칙
- GoF(Gangs of Four) 디자인 패턴 분류
- 생성 패턴
- 구조 패턴
- 행위 패턴
2과목 : 소프트웨어 개발
- 충돌현상(Collosion) 해결 방법
- 체이닝(Chaining)
- 충돌 현상이 발생하면 버킷에 할당된 연결리스트(Linked List)에 데이터를 저장하는 방법
- 개방 주소법(Open Addressing)
- 충돌 현상이 발생하면 순차적으로 그 다음 빈 버킷을 찾아 데이터를 저장하는 방법
- 재해싱(Rehasing)
- 충돌 현상이 발생하면 새로운 해싱 함수로 새로운 홈 주소를 구하는 방법
- 체이닝(Chaining)
- 동치 분할 검사(Equivalence Partitioning Testing)
- 명세 기반 테스트 중 프로그램의 입력 조건에 중점을 두고, 어느 하나의 입력 조건에 대하여 타당한 값과 그렇지 못한 값을 설정하여 해당 입력 자료에 맞는 결과가 출력되는지 확인하는 테스트 기법
- 인터페이스 데이터 표준은 '인터페이스 기능'과 '데이터 인터페이스'를 통해 확인할 수 있다.
- 정렬 (Sort)
- 삽입 정렬(Insertion Sort)
- 가장 간단한 정렬 방식으로 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬함
- 쉘 정렬(Shell Sort)
- 삽입 정렬을 확장한 개념으로 입력 파일을 어떤 매개변수의 값으로 서브파일을 구성하고, 각 서브파일을 삽입 정렬 방식으로 순서 배열하는 과정을 반복하는 정렬 방식
- 선택 정렬(Selection Sort)
- n개의 레코드 중에서 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬하는 방식
- 버블 정렬(Bouble Sort)
- 주어진 파일에서 인접한 두 개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 정렬 방식
- 퀵 정렬(Quick Sort)
- 레코드의 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나누어 가면서 정렬하는 방법으로 키를 기준으로 작은 값은 왼쪽에, 큰 값은 오른쪽 서브파일로 분해시키는 방식으로 정렬
- 힙 정렬(Heap Sort)
- 전이진 트리를 이용한 정렬 방식
- 삽입 정렬(Insertion Sort)
- 자료 구성 단위
- 비트는 0 또는 1을 표시하는 2진수 한 자리이다
- 워드는 CPU 가 처리할 수 있는 명령 단위이다
- 바이트는 8개의 비트가 모여 1바이트를 구성한다
3과목 : 데이터베이스 구축
- 트랙잭션의 특성
- Atomicity(원자성)
- 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료 되든지 아니면 전혀 반영되지 않도록 복구 되어야 한다.
- 트랜잭션 내의 모든 명력은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수행되지 않고 어느 하나라도 오류가 발생하면 트랜잭션 전부가 취소되어야 한다.
- Consistency(일관성)
- 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환한다.
- 시스템이 가지고있는 고정 요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 한다.
- Isolation(독립성, 격리성, 순차성)
- 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없다.
- 수행중인 트랜잭션은 완전히 완료될 때까지 다른 트랜잭션에서 수행 결과를 참조할 수 없다.
- Durability(영속성, 지속성)
- 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야함
- Atomicity(원자성)
- 트랜잭션을 수행하는 도중 장애로 인해 손상된 데이터베이스를 손상되기 이전의 정상적인 상태로 복구시키는 작업
- Recovery (회복)
- BNCF
- 테이블 R에 존재하는 모든 함수적 종속에서 결정자가 후보키이다
- 정보 보안을 위한 접근통제 정책 종류
- 임의 접근통제(DAC)
- 강제 접근통제(MAC)
- 역할기반 접근통제(RBAC)
- 집합 연산자에 대한 설졍
- UNION ALL 은 중복된 행을 포함하여 두 select 문의 조회 결과를 모두 출력한다
- 두 select 문의 조회 결과 중 공통된 행만 출력하는 집한 연산자는 intersect이다
- except는 두 릴레이션의 차집합 연산을 수행하기 때문에 첫 번째 릴레이션의 튜플보다 많은 수의 튜플이 출력될 수 없다.
- union 은 두 릴레이션의 합집합을 수행하며, 두 릴레이션의 공통 튜플, 즉 중복되는 튜플은 한번만 출력한다
4과목 : 프로그래밍 언어 활용
- OSI 7 계층 모델에서 전송에 필요한 장치 간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성을 정의한 계층
- 물리 계층
- IPv4 와 IPv6 간의 주소 전환에 사용되는 기술
- 듀얼 스택 : 호스트에서 IPv4와 IPv6을 모두 처리할 수 있도록 두개의 스택을 구성하는 것
- 터널링 : IPv6망에서 인접한 IPv4 망을 거쳐 다른 IPv6망으로 통신할 때 IPv4망에 터널을 만들어 IPv6패킷이 통과할 수 있도록 하는 것
- 해더 변환
- HRN 기법의 우선순위 공식
- (대기시간 + 서비스 시간) / 서비스 시간
- UNIX에서 새로운 프로세스를 생성하는 명령어
- fork
- IP 주소
- A Class
- 국가나 대형 통신망에 사용
- 0 ~ 127
- B Class
- 중대형 통신망에 사용
- 128 ~ 191
- C Class
- 소규모 통신망에 사용
- 192 ~ 223
- D Class
- 멀티캐스팅용으로 사용
- 224 ~ 239
- E Class
- 실험적 주소이며 공용되지 않음
- A Class
- 시간 구역성(Tempral Locality)
- 프로세스가 실행되면서 하나의 페이지를 일정 시간 동안 집중적으로 액세스하는 현상
- 시간 구역성이 이루어지는 기억 장소
- Loop (반복, 순환)
- Stack (스택)
- 부 프로그램 (Sub Routine)
5과목 : 정보시스템 구축 관리
- COCOMO model 중 기관 내부에서 개발된 중소 규모의 소프트웨어로, 일괄 자료 처리나 과학기술 계산용, 비즈니스 자료처리용으로 5만라인 이하의 소프트웨어를 개발하는 유형
- Organic(조직형)
- AllJoyn(올조인)
- 오픈소스 기반의 사물인터넷 플랫폼으로, 서로 다른 운영체제나 하드웨어를 사용하는 기기들이 표준화된 플랫폼을 이용함으로써 서로 통신 및 제어가 가능하게 된다
- BitLocker
- Windows 7부터 지원되기 시작한 Windows 전용의 볼륨 암호화 기능으로, TPM(Trusted Platform Module)과 AES-128 알고리즘을 사용한다
- TCP Wrapper
- 외부 컴퓨터의 접속 인가 여부를 점검하여 접속을 허용 및 거부하는 보안용 도구
- 네트워크에 접속하면 로그인한 다른 컴퓨터 사용자의 ID 및 로그를 조회하여 악용이 가능한 데, 이것을 방지하기 위한 방화벽 역할을 수행
- Hadoop내의 Map-reduce의 특징
- Google에 의해 고안된 기술로써 대표적인 대용량 데이터 처리를 위한 병렬 처리 기법을 제공한다
- 대용량 데이터를 분산 처리하기 위한 목적으로 개발된 프로그래밍 모델이다
- 임의의 순서로 정렬된 데이터를 분산 처리하고 이를 다시 합치는 과정을 거친다
- ARIA
- 2004년 국가정보원과 산학연협회가 개발한 블록 암호화 알고리즘이다
- 블록 크기는 128 비트이며, 키 길이에 따라 128, 192, 256으로 분리된다
- DoS 의 공격 유형
- Ping of Death
- Land
- tiny-fragment
- Smurfing
- IP 또는 ICMP 의 특성을 악용하여 특정 사이트에 집중적으로 데이터를 보내 네트워크 또는 시스템의 상태를 불능으로 만드는 공격 방법
- 인증(Authentication)
- 자신의 신원을 시스템에 증명하는 과정
- 인가(Authorization)
- 어떤 동작을 수행할 수 있는지 검증하는 것
- 클라이언트로부터 요청된 정보에 대한 사용 권한을 부여하는 것
- 어떤 자원에 접근할 수 있는지 검증하는 것
- STA(Spanning Tree Algorithm)
- 브리지와 구내 정보 통신망(LAN) 으로 구성된 통신망에서 루프(폐회로)를 형성하지 않으면서 연결을 설정하는 알고리즘