셤숌셤/정보처리기사 필기 오답노트

2021-03 1회차 정보처리기사 정리

moonday 2021. 8. 9. 01:14

[1과목]
리눅스에서 버전을 확인하고자 할 때 사용되는 명령어
- cat : 파일내용을 화면 출력하거나 파일 만드는
- uname : 시스템 정보를 출력

이외의 리눅스 명령어
- pwd : 현재 디렉토리 출력
- Is : 디렉토리 목록 출력
- cd :디렉토리이동
-touch: 파일용량0인 파일 생성, 날짜변경
-mkdir : 디렉토리생성
-cp:파일복사
-mv: 파일이동
-rm:파일제거
-redirection:화면에출력되는결과를파일로저장하는명령어
-alias:자주수행하는 명령어 쉽게 쓰도록 (단축키처럼???)

통신을 위한 프로그램 생성하여 포트를 할당, 클라이언트 통신 요청시 클라이언트와 연결하는 내/외부 송/수신 연계기술 => 소켓 기술

GoF 디자인패턴
1) 생성패턴
- 추상팩토리(동일한 주제를 다른 팩토리로 묶기)
- 빌더(생성과 표기를 분리해 복잡한 객체 생성)
- 싱글톤(한 클래스에 한 객체만)
- 프로토타입, 팩토리메서드
2) 구조패턴
- 어댑터(호환안되는 클래스 이용위해 타 클래스 인터페이스를 기존것에 덧씌움)
- 브리지, 컴포지트, 데코레이터, 파사드, 플라이웨이트, 프록시
3) 행위패턴
- 책임연쇄, 커맨드, 인터프리터, 이터레이터, 중재자, 메멘토, 옵서버, 상태, 전략, 템플릿메서드, 방문자

CASE(computer Aided Softward Engineering)
소프트웨어 개발시, 사용되는 분석 자동화 도구
장점
- 개발속도향상, 오류수정 쉽고 소프트웨어 품질 향상
- 재사용성이좋고 개발비용과 기간이 줄어듬,표준준수 여부 확인가능
단점 :
- 툴 자체는 비쌈
기능
- 그래픽 지원, 소프트웨어 생명주기 전반적인 단계 연결
(요구분석 - 설계 - 구현 - 검사 및 디버깅)
- 다양한 소프트웨어 개발모형 지원
상위 CASE기능
- 모델 사이 모순검사, 모델 오류검증, 자료흐름도 작성 기능
정보저장소
-CASE 환경 여러 도구들이 상호 연관되어 동작할 수 있도록 도움
단계별 CASE
- 상위(요구분석, 설계 지원) 하위(구현, 테스트과정지원) 통합(전체 과정 지원)
출처 블로그: case내용참고

미들웨어 종류
미들웨어 : 분산 컴퓨팅 환경에서 응용프로그램과 운영환경 간에 원만한 통신이 이뤄질 수 있게 서비스를 제공하는 소프트웨어
- WAS(Web Application Server) : 앱 수행 미들웨어
- MOM(Message Oriented Middleware) : 메세지지향 미들웨어
- RPC (Remote Procedure Call) : 원격 프로시저를 호출
- ORB(Object Request Broker) : 네트워크 호출 미들웨어

객체지향 분석 방법론
- Coad-Yourdon : E-R다이어그램사용, 객체 행위를 데이터 모델링, 객체/ 구조식별
- 럼바우 : 객체, 동적, 기능적 모델로 나눠 수행
- Booch: 미시적/거시적 개발 프로세스 모두 사용
- Jacobson : Use-Case를 강조하여 사용

fan in, fan out
- 트리형 구조에서 in은 위에서 내려오는 가지 수(제어당함)
- out은 아래로 뻗은 가지 수(제어함)

UML 통합모델링 언어
: 소프트웨어 개발 과정에서 명세화, 시각화, 문서화 할때 쓰는 모델링 언어
- 기능적모델 사용자측면 usecase다이어그램
-동적모델 시스템내부 동작(시퀀스,스테이트,액티비티다이어그램)
-정적모델 객체,속성 연관관계/ 오퍼레이션 시스템 구조(클래스다이어그램)
UML 1) 구조다이어그램 2) 행위다이어그램
1) 구조 :
-클래스
-객체
-패키지(UML의 다양한 모델 요소를 그룹화)
-컴포넌트(컴포넌트끼리 구조관계 표현)
-배치(시스템의 물리적인 구조 나타냄)
2)행위 :
- 쓰임새(사용자 관점)
- 활동(여러활동 수행상황)
- 상태( 상호작용에 따라 변화 표현)
- 순서(상호작용을 시간순서에 따라서 표현)
- 커뮤니케이션(객체간의 관계,메세지)

다이어그램 종류
- uml, sstate, class, interaction, activity, package

UML다이어그램
1. use case : 요구분석 과정에서 시스템과 외부와의 상호작용 묘사
2. activity:업무흐름모델리으객체의 생명 주기를 표현
3. sequence : 객체간메세지전달을시간적흐름에서분석
4. collaboration: 객체-객체 주고받는 메세지 중심
5. class:시스템구조적모습,객체타입정의
6.component : 소프트웨어 구조
7. deployment :기업환경의 구성과 컴포넌트들 간 관계

TCP - 양방향 연결형 서비스 제공

기본 유스케이스 수행시, 특별한 조건을 만족할 때 수행하는 유스케이스=> 확장

요구사항모델링에 활용되는 것
- 애자일 방법, 유스케이스 다이어그램, 시퀀스 다이어그램
* 단계다이어그램은 상관없음, 물리/화학 등에 사용됨

소프트웨어 개발하기 위한 비즈니스를 객체와 속성, 클래스와 멤버, 전체와 부분 등으로 나눠서 분석해내는 기법 => 객체지향 분석(개별요소로 추상화하는 기법)

[2과목]
구현단계에서의 작업 절차 :계획-코딩-컴파일-테스트

하향식 통합 시험을 위해 일시적으로 필요한 조건만 가지고 임시로 제공되는 시험용 모듈 => 테스트 스텁

스택 : 입출력이 한쪽 끝으로만 제한되어 LIFO(Last In First Out), 더이상 삭제할 데이터가 없는 상태에서 데이터를 삭제하면 언더플로 발생
큐 : Head(front)와 Trailor(rear)의 2개포인터가 있어서 FIFO(First In First Out)
*스택과 큐는 선형구조(+ 리스트, 데크)
* 트리, 그래프는 비선형 구조

디지털 저작권 관리에 사용되는 기술요소
- 암호화, 키관리, 암호화 파일생성, 식별기술, 저작권표현, 정책 관리, 크랙방지, 인증

이진 검색 알고리즘 : 전체 파일을 두개의 서브파일로 분리해가면서 key레코드검색 => 탐색 효율 좋고 탐색 시간 적게 소요, 비교횟수 거듭할때마다 검색대상이 되는 테이터 수가 절반으로 줄어듬, 검색할 데이터가 정렬되어 있어야 함

소프트웨어 형상관리
- 소프트웨어에서 일어나는 수정이나 변경을 알아내고 제어하는 것
- 소프트웨어 개발 전체 비용을 줄이고 개발 과정의 여러 방해 요인이 최소화되도록 보증하는 것을 목적
- 형상관리 기능 중 하나는 버전 제어 기술
* 형상관리랑 관련없는 chief programmer team은 효율성 제고를 위해 책임 프로그램 작성자를 중심으로 하여 구성된 개발팀.

비교 정렬 알고리즘
- 삽입 정렬(Insertion sort) :가장 간단한 정렬 방식으로 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬
- 쉘 정렬(Shell sort) : 쉘 정렬은 삽입 정렬을 확장한 개념, 임의의 레코드 키와 h 값만큼 떨어진 곳의 레코드 키를 비교하여 서로 교환하는 것을 반복
- 버블 정렬(Bubble sort) : 인접한 두 개의 레코드 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환
- 선택 정렬(Selection sort) : 최소값을 찾아 첫 번째 레코드 위치에 놓고, 나머지 (n-1)개 중에서 다시 최소값을 찾아 두 번째 레코드 위치에 놓는 방식을 반복하여 정렬.
- 퀵 정렬(Quick sort) : 레코드의 많은 자료 이동을 없애고 하나의 파일을 부분적으로 나눠가면서 정렬
- 힙 정렬(Heap sort) : 힙 정렬은 전이진 트리(Complete binary tree)를 이용.
- 2-Way 합병 정렬(Merge sort) : 이미 정렬된 두 개의 파일을 한 개의 파일로 합병
- 기수 정렬(Bucket sort) : 큐를 이용하여 자릿수별로 정렬. 순서에 맞는 버킷에 분배하였다가 버킷의 순서대로 레코드를 꺼내어 정렬.

해싱함수
- 제곱법, 숫자 분석법, 제산법, 중첩법(폴딩법), 기수변환법, 무작위 방법

[3과목]
- 시스템이 가지고 있는 고정 요소는 트랜잭선 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 한다 => 일관성
- 모든 명령은 수행되고, 오류가 있으면 모두 취소되어야 한다 => 원자성
- 여러 트랜잭션이 동시에 수행되더라도 독립적인 수행을 한다 => 격리성

시스템 카탈로그
- 저장된 정보 = 메타데이터
- DBMS가스스로 생성/유지하는 특별한 테이블 집합체
- 무결성 유지를 위해 시스템에서 자동갱신
- DB에 포함되는 데이터 객체에 대한 정의나 명세에 대한 정보를 유지 관리

연산자 기호


정규화를 거치지 않아 발생하게 되는 이상현상의 종류
1) 삽입이상 : 원하지 않는 값들이 함께 삽입
2) 삭제이상 : 의도하지 않은 값들이 함께 삭제
3) 갱신이상 : 일부 튜플 정보만 갱신되어 정보에 모순이 생김

릴레이션 = 테이블
1) 열 = 속성 (세로)한칸씩
2) 행 = 튜플 (가로) 한칸씩
릴레이션 스키마 = 테이블의 모든 속성 한줄 자체
릴레이션 인스턴스 = 튜플 덩어리

[4과목]
응집도 (약->강)
우연 - 논리 - 시간 - 절차 - 교환 - 순차 - 기능

OSI 7계층에서 물리적 연결을 이용해 신뢰성 있는 정보를 전송하려고 동기화, 오류제어, 흐름제어 등의 전송에러를 제어 하는 계층 + node => 데이터 링크 계층
*transport - segment

운영체제를 기능에 따라 분류할 경우, 제어프로그램은
- 데이터 관리 프로그램(주기억장치와 보조기억장치 사이의 데이터 전송, 파일과 데이터를 처리/유지 보수 기능 수행)
- 작업 제어 프로그램(작업의 연속처리를 위한 스케쥴 및 시스템 자원 할당 등을 담당)
- 감시 프로그램(프로그램과 시스템 작동 상태를 감시/감독)

IEEE 802.3 LAN에서사용되는 전송매체 접속제어(MAC)방식
=> CSMA/CD

교착상태가 발생할 수 있는 조건
- Mutual exclusion (상호배제)
- Non-preemption (비선점)
- Hold and wait (점유와 대기)
- Circular wait(환형대기)

IPv4
- 유니, 멀티, 브로드
IPv6
- 유니, 멀티, 애니(하나의 호스트에서 그룹 내 가장 가까운 곳에 있는 수신자에게 전달하는 방식)
- 128비트 주소체계
- 보안과 인증 확장 헤더를 사용함으로써 인터넷 계층 보안 기능을 강화

C언어 stdlib.h라이브러리 함수
- atoi() : char to int
- atof() : char to double (소수점)
- itoa() : int to char

- 운영체제의 가상기억장치 관리에서 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합을 의미 => Working Set
- 어느한 순간에 특정 부분을 집중적으로 참조 => Locality
- 지나치게 페이지 부재가 발생함으로 인해 전체 시스템의 성능이 저하되는 현상 => Thrashing

결합도 (높->낮)

하라고 하지마요. 트레스 받나요.
*cbt사이트의 해설 참고

내용 - 공통 - 외부 - 제어 - 스탬프 - 자료

가상기억장체의 일반적인 구현 방법
고정된 크기의 일정한 블록으로 나누는 => 페이징
가변적인 크기의 블록으로 나누는 => 세그멘테이션

WAS(Web Application Server)
- JEUS, Tomcat, Web Sphere, GlassFish, JBoss, Jetty, Resin, WebLogic ..
*JVM은자바가상머신으로 WAS가 아님

[5과목]
암호 알고리즘
1)HASH 해시 암호화 알고리즘 (MD4, MD5, SHA-1 ..)
2)AES 대칭키 암호화 알고리즘(RSA, 디피-헬만)

- tripwire : 외부 크래커 공격과 내부 악의적인 사용자 공격으로부터 시스템 지키는 프로그램 ( 크래커 침입시, 백도어 만들거나 설정파일 변경했을때 부석하는 도구)
- tcpdump : 컴퓨터에 부착된 네트워크 통해 송수신되는 기타 패킷을 가로채고 표시할 수 있게 도와주는 소프트웨어
- cron : 배치 수행 시간을 설정
- netcat : TCP 또는 UDP를 사용하여 네트워크 연결을 읽고 쓰는데 사용되는 컴퓨터 네트워킹 유틸리티

대역폭 제한된 통신환경에 최적화, 경량 메세지 전송 프로토콜, 메세지 매개자를 통해 송신자가 발행-수신자가 구독하는 방식, IBM 개발
=> MQTT 메세지 큐잉(텔레메트리)

정보보안을 위한 접근통제 정책 종류
- 임의적 접근 통제 정책 Discretionary Access Control
- 강제적 접근 통제 정책 Mandatory Access Control
- 역할기반 접근 통제 정책 RoleBased Access Control

=> 구조적 개발 방법론
- 정형화된 분석 절차에 따라 사용자 요구사항을 파악, 문서화하는 체계적 분석방법으로 자료흐름도, 자료사전, 소단위 명세서 특징을 갖는 것은

=> 객체지향 방법론
- 현실세계의 개체를 하나의 객체로 만들어 기계 부품 조립하듯 객체들을 조립해서 필요한 소프트웨어를 구현하는 방법론

=> 정보공학 방법론
- 정형화된 기법들을 상호 연관성있게 통합 및 적용하는 자료 중심 방법론

=> 컴포넌트 방법론
- 기존 컴포넌트 조합하여 하나의 새로운 애플리케이션 만드는 방법론

블록체인 개발환경을 클라우드로 서비스, 블록체인 네트워크에 노트 추가 및 제거 용이, 블록체인의 기본 인프라를 추상화하여 응용프로그램을 만들 수 있는 클라우드 컴퓨팅 플랫폼 => Baas

- SDDC(소프트웨어 정의 데이터 센터): 데이터 센터의 모든 자원이 가상화되어 서비스 + 소프트웨어 조작만으로 자동제어 관리되는 데이터 센터
- Wi-SUN : 저전력 장거리(LPWA)통신

전기 및 정보통신 기술을 활용하여 전력망을 지능화, 고도화 함으로 고품질 전력 서비스 제공, 에너지 이용효율 극대화하는 전력망 => 스마트 그리드
(* 공급자와 소비자가 서로 상호작용 함으로써 효율성 증가)

프로토타이핑모델
- 최종결과물 예측, 폭포수모델 단점 보안, 고객이 샘플 볼 수 있어 불명확한 요구사항을 파악 가능, 요구분석 단계에 사용

나선형 모델
- 폭포수모형과 원형 모형의 장점 수용, 위험분석/관리 및 최소화 , 점진적 개발, 위험관리 능력에 따라 프로젝트 성공여부 영향, 복잡성으로 프로젝트 관리 어려움과 개발 장기화 가능성이 존재, 위험부담이 큰 시스템 개발에 적합

폭포수모형
- 고전적, 전 과정을 체계적이고 순차적으로 접근, (타당성검토-계획-요구사항분석-설계-구현-테스트-유지보수)

RAD모형
-빠르고 쉽게, 시각적 도구 혹은 개발 모형, 툴-디자인, CodeGenerator-프로그램 개발



CDB(Component Based Development)
개발준비 - 분석 - 설계 - 구현 - 테스트 - 전개 - 인도

소셜네트워크에서 악의적인 사용자가 지인 또는 특정 유명인으로 가자하여 활동하는 공격기법 => Evil Twin Attack, Phishing

공개키암호 :
-10명이면 2n이므로 20개 필요(10 공개, 10비공개)
-RSA는 공개키로 알려진 알고리즘
- 송신자는 수신자의 공개키로 문서를 암호화하고 복호화키는 비공개

세션 하이재킹을 탐지하는 방법
(*세션하이재킹 : 세션을 가로채는 것)
- 비동기화 상태 탐지
-ACK STORM탐지(*시퀀스 넘버를 맞추기 위한 작업/ 공격자, 클라이언트)
- 패킷 유실 및 재전송 증가 탐지
* FTP SYN SEGNENT탐지는 아님


참고사이트 : www.comcbt.com

'셤숌셤 > 정보처리기사 필기 오답노트' 카테고리의 다른 글

2020-09 4회차  (0) 2021.08.13
2021-05 2차  (0) 2021.08.12
5과목: 정보시스템 구축관리  (0) 2021.07.18
4과목 : 프로그래밍 언어 활용  (0) 2021.07.18
3과목: 데이터베이스 구축  (0) 2021.07.18