모의고사 1회
서비스 지향 아키텍처(SOA; Service Oriented Architecture)
프로세스 수행을 지원하는 정보 시스템의 구현을 위해 가장 선진화된 스프트웨어 아키텍처로, 서비스라고 정의되는 분할된 애플리케이션 조각들을 Loosely-coupled 하게 연결해 하나의 완성된 Application을 구현하기 위한 아키텍처이다.
구분 | 설명 |
피코넷 (PICONET) |
여러 개의 독립된 통신 장치가 블루투스 기술이나 UWB(초광대역, Ultra-wideband) 통신 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술 네트워크를 구성하는 장비 간에 사전에 네트워크의 정의와 계획이 없이 상황에 따라 조정 프로토콜에 의하여 마스터와 슬레이브의 역할을 하면서 네트워크를 형성하고, 주로 수십 미터 이내의 좁은 공간에서 네트워크를 형성하는 점과 정지 또는 이동하고 있는 장치를 모두 포함하는 특징을 가짐 |
지그비 (Zigbee) |
저속 전송 속도를 갖는 홈오토메이션 및 데이터 네트워크를 위한 표준 기술 버튼 하나로 하나의 동작을 잡아 집안 어느 곳에서나 전등 제어 및 홈 보안 시스템 VCR on/off 등을 할 수 있고, 인터넷을 통한 전화 접속으로 홈오토메이션을 더욱 편리하게 이용하려는 것에서부터 출발한 기술 IEEE 802.15 표준 기반, 메시 네트워크 방식을 사용 |
구분 | 설명 | 공격 절차 |
TCP 세션 하이재킹(Session Hijacking) | 케빈 미트닉이 사용했던 공격 방법의 하나로 TCP의 세션 관리 취약점을 이용한 공격 기법이다 TCP 세션 하이재킹에 대응을 위해서는 비동기화 상태 탐지, ACK 패킷 비율 모니터링, 특정 세션에서 패킷 유실 및 재전송이 증가되는 것을 탐지해야 한다 |
1. TCP Sequence number의 보안상 문제점 때문에 발생 2. Victim과 Server 사이의 패킷을 스니핑하여 Sequence number를 획득하고, 공격자는 데이터 전송 중인 Victim과 Server 사이를 비동기화 상태로 강제적으로 만듦 3. 스니핑하여 획득한 Client Sequence number를 이용하여 공격 4. 공격자는 Server에게 RST 패킷 날리고, 공격자의 새로운 Sequence Number로 Server와 세션을 맺어 인증 우회, Victim 권한으로 Server 접근 5. 비동기화 상태로 패킷이 유실되어 재전송 패킷 증가 6. 이 과정에서 ACK Storm 증가, NW 부하 증가 |
유형 | 설명 |
동료 검토 Peer Review | 2~3명이 진행하는 리뷰의 형태로 요구사항 명세서 작성자가 요구사항 명세서를 설명하고, 이해관계자들이 설명을 들으면서 결함을 발견하는 형태로 진행하는 검토 기법 |
워크스루 Walkthrough | 검토 자료를 회의 전에 배포해서 사전검토한 후 짧은 시간 동안 회의를 진행하는 형태로 리뷰를 통해 오류를 검출하고 문서로 만드는 기법 |
인스펙션 Inspection | 소프트웨어 요구, 설계 원시 코드 등의 저작자 외의 다른 전문가 또는 팀이 검사하여 오류를 찾아내는 공식적 검토 기법 |
Dos(Denial of Service) 공격
특정 서버에게 수많은 접속 시도를 만들어 다른 이용자가 정상적으로 서비스 이용을 하지 못하게 하거나, 서버의 자원을 소진시켜서 원래 의도된 용도로 사용하지 못하게 하는 공격
- DoS 공격은 1대의 공격자 컴퓨터에서 타깃 시스템에 악성 패킷을 보내는 방식으로 공격하고, 타깃 시스템 측에서 공격자의 주소를 확인하고 차단하면 더 이상 공격을 하지 못하는 단점이 있다
- DoS 공격에서 진화된 DDoS 공격은 완벽한 공격을 위해 공격자가 여러 대의 컴퓨터를 감염시키고, 분산된 좀비 PC들을 이용해 타깃 시스템을 집중적으로 공격해서 서비스를 마비시키는 차이점이 있다
JSON(JavaScript Object Notation)
"속성-값 쌍", "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 언어
특징
- AJAX(Asynchronous JavaScript and XML)에서 많이 사용
- XML(eXtensible Markup Language)을 대체하는 주요 데이터 포맷
- 언어 독립형 데이터 포맷으로 다양한 데이터 프로그래밍 언어에서 사용
- 사람이 읽고 쓰기에 쉬우며, 기계가 분석하고 생성하기에 용이
요구사항 명세 단계 주요 기법 | 설명 |
비정형 명세 기법 | 사용자의 요구를 표현할 때 자연어를 기반으로 서술하는 기법 사용자와 개발자의 이해가 용이 명확성 및 검증에 문제 |
정형 명세 기법 | 요구사항 명세 단계에서 사용자의 요구를 표현할 때 수학적인 원리와 표기법으로 서술하는 기법 정형 명세 언어인 Z-스키마, Petri Nets, 상태 차트 활용 표현이 간결, 명확성 및 검증이 용이 기법의 이해가 어려움 |
병행 제어 미보장 시 문제점
[갱현모연] 갱신 손실 / 현황 파악 오류 / 모순성 / 연쇄복귀
문제점 | 설명 |
갱신 손실 Lost Update | 먼저 실행된 트랜잭션의 결과를 나중에 실행된 트랜잭션이 덮어쓸 때 발생하는 오류 |
현황 파악 오류 Dirty Read | 트랙잭션의 중간 수행 결과를 다른 트랙잭션이 참조하여 발생하는 오류 |
모순성 Inconsistency | 두 트랜잭션이 동시에 실행되어 데이터베이스의 관성이 결여되는 오류 |
연쇄복귀 Cascading Rollback | 복수의 트랜잭션이 데이터 공유 시 특정 트랜잭션이 처리를 취소할 경우 트랜잭션이 처리한 곳의 부분을 취소하지 못하는 오류 |
데이터 흐름도(DFD) 구성 요소 | 설명 |
처리기 Process | 입력된 데이터를 원하는 형태로 변환하여 출력하기 위한 과정으로, DFD에서는 원(O)으로 표시 |
데이터 흐름 Data Flow | DFD의 구성요소(프로세스, 데이터 저장소, 외부 엔티티)들 간의 주고받는 데이터 흐름을 나타내며, DFD에서는 화살표(→)로 표시 |
데이터 저장소(Data Store) | 데이터가 저장된 장소이고, 평행선(=)으로 표시하며, 평행선 안에는 데이터 저장소의 이름을 넣음 |
단말 Terminator | 프로세스 처리 과정에서 데이터가 발생하는 시작과 종료를 나타내고, 사각형(ㅁ)으로 표시하며, 사각형 안에는 외부 엔티티의 이름을 넣음 |
모델링 절차
요구사항 분석 → 개념 모델링 → 논리 모델링 → 물리 모델링
절차 | 설명 |
요구사항 분석 | 현행 데이터의 문제점과 개선해야 할 점을 확인하고 향후 개선점을 도출하는 활동 |
개념 모델링 | 업무 중심의 포괄적인 모델링으로 추상화하는 활동으로 주제 영역과 핵심 데이터 간 관계 정의 |
논리 모델링 | 관계(Relationship), 속성(Attribute), 키(Key) 등을 도출하는 활동 |
물리 모델링 | 사용 DBMS 특성에 맞게 물리적 스키마를 만드는 활동 |
ISO/IEC 9126(ISO / IEC 25010 : 2011로 변경)의 소프트웨어 품질 특성
품질 특성 | 설명 |
기능성 Functionality | 소프트웨어가 특정 조건에서 사용될 때 명시된 요구와 내재된 요구를 만족하는 기능을 제공하는 소프트웨어 제품의 능력 품질 부특성에는 적합성, 정확성, 상호 운용성, 보안성, 준수성 등이 있음 |
신뢰성 Reliability | 명시된 조건에서 사용될 때 성능 수준을 유지할 수 있는 소프트웨어 제품의 능력 옳고 일관된 결과를 얻기 위하여 요구된 기능을 수행할 수 있는 정도이고, 주어진 시간 동안 주어진 기능을 오류 없이 수행하는 정도 품질 부특성에는 이해성, 학습성, 운용성, 친밀성, 준수성 등이 있음 |
사용성 Usability | 명시된 조건에서 사용될 경우, 사용자에 의해 이해되고, 학습되고, 선호될 수 있는 소프트웨어 제품의 능력을 말함 품질 부특성에는 이해성, 학습성, 운용성, 친밀성, 준수성 등이 있음 |
효율성 Efficiency | 명시된 조건에서 사용되는 자원의 양에 따라 요구된 성능을 제공하는 소프트웨어 제품의 능력을 말함 품질 부특성에는 시간 반응성, 자원 효율성, 준수성 등이 있음 |
유지보수성 Maintainability | 소프트웨어 제품이 변경되는 능력 변경에는 환경과 요구사항 및 기능적 명세에 따른 소프트웨어의 수정, 개선, 혹은 개작 등이 포함 품질 부특성에는 분석성, 변경성, 안정성, 시험성, 준수성 등이 있음 |
이식성 Portability | 한 환경에서 다른 환경으로 전이될 수 있는 소프트웨어 제품의 능력 품질 부특성에는 적응성, 설치성, 공존성, 대체성, 준수성 등이 있음 |
데크(Deque; Double Ended Queue)
양쪽 끝에서 삽입과 삭제를 할 수 있는 자료 구조
두 개의 포인터를 사용하여, 양쪽의 삭제/삽입이 가능
SQL
WHERE절 조건에서는 비교, 범위, 집합, 패턴, NULL, 복합조건이 있고, 패턴을 찾기 위해서는 LIKE 구문을 사용한다.
컬럼 LIKE 패턴
패턴을 사용하기 위한 와일드카드
와일드카드 Wildcard | 설명 |
% | 0개 이상의 문자열과 일치 |
[ ] | 1개의 문자와 일치 |
[^] | 1개의 문자와 불일치 |
_ | 특정 위치의 1개의 문자와 일치 |
http://www.tcpschool.com/mysql/mysql_operator_patternMatching
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
종류 | 설명 |
왼쪽 외부 조인 Left Outer Join | 왼쪽 테이블의 모든 데이터와 오른쪽 테이블의 동일 데이터를 추출 |
오른쪽 외부 조인 Right Outer Join | 오른쪽 테이블의 동일 데이터를 추출 |
완전 외부 조인 Full Outer Join | 양쪽의 모든 데이터를 추출 |
http://www.tcpschool.com/mysql/mysql_multipleTable_join
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
부분 함수 종속 관계
A와 B가 D에 영향을 주고, B가 C에 영향을 주는 관계
A, B → D
B → C
부분 관계인 B, C 관계를 별도의 테이블로 두면 부분함수 종속 관계가 제거되어 2정규형(2NF)을 만족한다
데이터베이스 정규화 단계
[원부이결다조]
단계 | 조건 |
1정규형 1NF | 원잣값으로 구성 (더 이상 나누어지지 않는 값) |
2정규형 2NF | 부분 함수 종족 제거 |
3정규형 3NF | 이행함수 종속 제거 |
보이스-코드 정규형(BCNF) | 결정자 함수이면서 후보 키가 아닌 것 제거 |
4정규형 4NF | 다치(다중 값) 종속성 제거 |
5정규형 5NF | 조인 종속성 제거 |
C++
정수형과 졍수형끼리 연산하게 되면 결과도 정수가 된다
cout 객체
다양한 데이터를 출력하는 데 사용되는 C++에서 미리 정의된 출력 스트림을 나타내는 객체
문법
cout << 출력할 데이터;
http://www.tcpschool.com/cpp/cpp_intro_iostream
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
C언어
문자열의 끝에는 문자열의 끝을 알리는 '\0'이 들어간다
printf 함수에서 포맷 스트링 %s를 통해 문자열을 출력할 경우 무조건 NULL 값인 '\0' 바로 앞까지 출력
&b[6] : b[6]의 주솟값
주소 연산자(&)는 변수의 이름 앞에 사용하여, 해당 변수의 주소값을 반환합니다.
'&'기호는 앰퍼샌드(ampersand)라고 읽으며, 번지 연산자라고도 불립니다.
참조 연산자(*)는 포인터의 이름이나 주소 앞에 사용하여, 포인터에 가리키는 주소에 저장된 값을 반환합니다.
C언어에서 '*'기호는 사용하는 위치에 따라 다양한 용도로 사용됩니다.
이항 연산자로 사용하면 곱셈 연산으로 사용되며, 포인터의 선언 시나 메모리에 접근할 때도 사용됩니다.
https://tcpschool.com/c/c_pointer_intro
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
https://tcpschool.com/c/c_operator_etc
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
Java
http://www.tcpschool.com/java/java_inheritance_super
코딩교육 티씨피스쿨
4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등
tcpschool.com
정보처리기사 필기 합격
오늘 정보처리기사 필기 합격 발표날인 것이 뒤늦게 떠올라 밤에 큐넷을 접속했다.
가채점 결과와 같이 합격이었다.
필기도 한 번 만에 합격했으니 실기도 한 번 만에 합격하고 싶다.
2달 동안 꾸준히 매일 공부하면 합격할 것이라고 믿는다.

'T.I.L(Today I learned) > CS' 카테고리의 다른 글
220812 정보처리기사 실기 D-65 (0) | 2022.08.12 |
---|---|
220811 정보처리기사 실기 D-66 (0) | 2022.08.11 |
220808 정보처리기사 실기 D-69 (0) | 2022.08.08 |
220804 정보처리기사 실기 D-73 (0) | 2022.08.04 |
220712 정보처리기사 필기 D-day (0) | 2022.07.12 |
댓글