Hueestory

마무리 요약 본문

challenge/정보처리기사 필기(完)

마무리 요약

히명 2024. 7. 13. 10:06

#01

<요구사항>
- 기능적 : 기능이 있냐 없냐
- 비기능적 : 성능이 이정도는 나와야 되지 않겠냐?

<워크 스루>
- 명세서를 미리 배포, 가볍게 결함 발견

<인스펙션>
작성자 제외 전문가들이 명세서를 확인, 무거운 검사

<럼바우> 객모동상기자
객체 : 모델링, 객체
동적 : 상태, 동작순서
기능 : 자료흐름도(DFD)

<DFD>
- process : 
- data flow : 화살표
- data store : 직선
- terminator : 사각형
* 삼각형 X

<생명주기>
폭포수 순차적, 완료되면 넘어감
HIPO : 하향식
애자일 : 과정 여러번 반복, 위험 최소화

<하향식>
절차 지향, 순차적

<상향식>
객체 지향, 기능 추가 어려움

<다이어그램>
- 구조, 동적 : 클래스, 객체, 컴포넌트, 배치, 복합체, 패키지
- 행위, 동적 : 스케이스, 순차, 커뮤니케이션, 상태, 활동, 타이밍, 상호작용 개요

<GoF>
- 생성 : 추상 팩토리, 빌더, 팩토리메서드, 프로토타입, 싱글톤
- 구조 : 어댑터, 브릿지(독립적 확장), 컴포지트, 데코레이터, 퍼사드, 플라이웨잇, 프록시(접근 힘든 객체 연결 인터페이스)

- 행위 : 메멘토, 옵저버, 상태, 전략, 템플릿


#02

<화이트박스> 내부 소스를 볼 수 있는 테스트

- 기초 경로 검사 : 설계나 코드 기초로 흐름도 작성 후 경로 실행 검사

- 제어 구조 검사 : 논리적 조건 테스트, 프로그램 반복 구조 검사, 변수 사용 검사

- 프로그램 구조 고려

 

<블랙박스 테스트>

- 경계값 분석 : 입력 조건 경계값으로 분석

- 동치분할검사 : 입력 자료를 균등하게 배분

- 원인-결과 그래프 검사, 오류 예측 검사, 비교 검사 등

프로그램 구조 고려 안함

 

<정렬>

- 버블 정렬 : 한번 실행 시 마다 가장 큰 값이 맨 뒤로 이동

- 선택 정렬 : 가장 작은 값 선택해서 정렬 안된 가장 왼쪽 값과 변경

O(n2) : 선택, 삽입, 버블

- O(Nlogn) : 병합

 

<스텁, 드라이버>

- 스텁 : 하향식, 인자를 통해 받은 값을 가지고 수행한 후 그 결과를 테스트할 모듈에 넘겨주는 역할

- 드라이버 : 상향식, 필요 데이터를 인자를 통해 넘겨주고, 테스트 완료 후 그 결과 값을 받는 역할

 

<인스펙션>

계획 - 사전 교육 - 준비 - 인스펙션 회의 - 수정 - 후속 조치

 

<인수 테스트>

- 알파 : 개발자 앞에서 사용자가

- 베타 : 사용자가 사용자에게

 

<트리>

- 전위(Pre) - Root Left Right 

- 중위(In) - Left Root Right

- 후위(Post) - Left Right Root

* Left는 항상 Right보다 우선, Root의 위치로 전 중 후

 

<EAI(Enterprise Application Integration)>

- 기업 내 각종 애플리케이션 및 플랫폼 간 정보 전달, 연계 통합 등 상호 연동이 가능하게 해주는 솔루션

 

<형상관리>

- 소프트웨어 변경사항 관리

- GIT, SVN

 

<DRM(Digital Rights Management)>

- 디지털 무단 사용을 막고 제공자의 권리, 이익을 보호해주는 기술 및 서비스

- 불법 복제와 변조 방지

- 키 관리 및 라이선스 발급 관리

 

<인터페이스 보안>

- IPSec : IP패킷 단위 데이터 변조 방지 및 은닉 기능을 제공

- SSL : TCP/IP 계층과 애플리케이션 계층 사이에서 인증, 암호화

- S-HTTP : 클라이언트-서버 간 전송되는 메시지 암호화

* SMTP는 보안이 아니라 메일과 관련된 서비스


#03

<데이터베이스 기초 개념>

- 릴레이션 : 데이터를 표 형태로 표현한 것

- 속성 : 릴레이션의 열

- 튜플 : 릴레이션의 행

- 차수(Degree) : 속성의 수, 열

* 열차

- 카디널리티 : 튜플의 수, 행

 

<SQL>

- DCL(Data Control Language)  / 명령어 : COMMIT, ROLLBACK, GRANT, REVOKE

- DDL(Data Definition Language) / 테이블 : CREATE, ALTER, DROP

- DML(Data Manipulation Language) / 튜플 : SELECT, INSERT, UPDATE, DELETE

 

- DISDINCT : 중복제거(SELECT)

- CASCADE : 부모 값 삭제 시 자식 값도 삭제

- ALTER : 속성 추가, 삭제 등 릴레이션 자체에 대한 수정

- BETWEEN AND : 서로 짝

- UPDATE SET : 서로 짝

 

<키 종류>

- 후보키 : 유일성 O 최소성 O

- 슈퍼키 : 유일성 O 최소성 X

- 기본키 : NULL X 중복값 X

- 외래키 : 기본키를 참조

- 대체키 : 기본키가 없을 때 대체

 

<로킹>

- 로킹 단위가 커지면 다른 모든게 작아지고 관리가 수월

- 로킹 단위가 작아지면 다른 모든게 커지고 관리가 복잡

 

<정규화>

- 1NF 2NF 3NF BCNF 4NF 5NF, 도부이 결다조

- 이행적(3NF) : A→B, B→C일 때 A→C 만족

 

<트랜잭션>

- 원자성(Atomicity) : 모두 반영되거나 전혀 반영되지 않거나

- 일관성(Constistency) : 시행 전·후 데이터베이스 상태는 같다

- 영속성(Durability) : 결과는 시스템이 고장나도 영구적으로 반영

- 격리성(Isolation) : 트랜잭션 실행 중 다른 트랜잭션 접근 불가

 

<무결성>

- 개체 : 테이블의 기본키를 구성하는 어떤 속성도 NULL X 중복값 X

- 참조 : 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일

- 도메인 : 주어신 속성 값이 정의된 도메인에 속한 값

 

<관계 대수>

- 절차적 언어

- select(σ) - 조건에 맞는 튜플 검색

- project(𝝅) - 특정 속성만 보여주기

- join(▷◁) - 합치기

- division(÷) -해당 튜플의 검색 대상 속성은 제거하고 보여주기

 

<뷰>

- 테이블 기반으로 만들어진 가상의 테이블, 논리적

- 기본 테이블 삭제 시 뷰도 삭제

- 뷰 위에 다른 뷰 정의 가능

- 삽입, 갱신, 삭제에 제약 존재

- CREATE, DROP O / ALTER X

 

<데이터베이스 목표>

- 위치, 중복, 병행, 장애, 분할

 

<물리적 설계>

- 레코드 집중 분석 및 설계

- 저장 레코드 양식 설계

- 저장 경로 지정

- 접근 경로 설계

 

<논리적 설계>

- 논리적 구조 매핑

- 트랜잭션 인터페이스 설계

- 스키마 평가 및 절제


#04

<결합도>

- 모듈 , 낮을수록 좋음

- 내용→공통→외부→제어→스탬프→자료 (약해지는 순서)

* 내공부 제스자

- 내용(Content) 결합도 : 한 모듈이 내부 기능 및 내부 자료를 직접 참조하거나 수정할 때

- 공통(Common) 결합도 : 공유되는 영역 여러 모듈이 사용

- 외부(External) 결합도 : 외부의 다른 모듈에서 참조할 때 결합도

- 제어(Control) 결합도 : 제어하기 위한 목적, 권리 전도현상

- 스탬프(Stamp) 결합도 : 모듈 간 자료 구조 전달될 때 변화가 생기면 그걸 조회하는 모듈에 영향

- 자료(Data) 결합도 : 자료요소로만 구성, 처리값을 다시 돌려줌

 

 

<응집도>

- 모듈 내부, 높을수록 좋음

- 우연적→논리적→시간적→절차적→통신적→순차적→기능적 (강해지는 순서)

* 우논시절 통순기

- 우연적 응집도 : 서로 관련x

- 논리적 응집도 : 유사 성격이나 특정 형태로 분리되는 처리요소들로 모듈 형성

- 시간적 응집도 : 특정 시간에 처리되는 몇 개 기능을 모아 모듈 구성

- 절차적 응집도 : 모듈안의 구성 요소들이 그 기능을 순차적으로 수행할 경우

- 교환(통신)적 응집도 : 동일 입출력 사용 시 서로 다른 기능을 수행하는 구성요소가 모였을 경우

- 순차적 응집도 : 활동을 통해 나온 출력 데이터를 그 다음 활동 입력데이터로 활용하는 경우

- 기능적 응집도 : 모든 기능 요소가 단일 문제와 연관되어 수행될 경우

 

<IPv4>

- 32bit, 10진수 표현

- A : 0 ~ 127 (128)

- B : 128 ~ 191 (64)

- C : 192 ~ 223 (32)

- D : 224 ~ 239 (16)

- E : 240 ~ 255 (16)

 

<IPv6>

- 128bit, 2^128개 주소

- 16bit 8부분을 16진수 표현

 

<OSI 7 Layer>

- 응용

- 표현

- 세션

- 전송 : End-to-End 신뢰성 있는 정보 전달, 오류제어, 흐름제어, TCP/UDP

- 네트워크 : 라우터, L3, 빠른 전송, IP

- 데이터 링크 : 인접 노드 간 신뢰성 있는 정보 전달, 오류제어, 흐름제어, 브릿지, 스위치

- 물리

 

- ICMP : 오류 관련 패킷 전송

- ARP : 논리→물리

- RAPR : 물리→논리

 

<쉘>

- 외부 껍데기

- 사용자 명령 해석

- 반복 명령, 사용자 환경 설정

 

<커널>

- 내부 알맹이

- 프로세스 생성, 종료

- 쉘 실행을 위해 프로세스, 메모리 관리

 

<프로세스 스케줄링>

- SJF(Shortest Job First) : 실행시간 짧은 프로세스부터

- HRN(Highest Response-ratio Next) : 우선순위 = (대기시간 + 실행시간) / 실행시간

 

<페이지 교체 알고리즘>

- FIFO(First in First Out) : 가장 먼저 들어온 페이지 교체

- LRU(Least Recently Used) : 가장 오래 사용되지 않은 것 교체

- LFU(Least Frequently Used) : 가장 적게 사용된 페이지 교체

 

<변수명>

- 변수 이름 사이 공백 X

- 숫자 시작 X

- if, else, for, while, continue, true, false X

 

<내부 단편화>

- Best-Fit : 요구치보다 작지 않으면서 단편화 크기 제일 적은 것

- Worst-Fit : 가장 큰 것

 

<IP 프로토콜 주요 특성>

- 패킷 길이 : 2^16 - 1 bit

- 헤더 길이 : 32bit

- 헤더 체크섬 O 데이터 체크섬 X

- 비연결형, Best Effort

- 패킷 분할, 병합

 

<파이썬 자료구조 형태>

- 리스트(시퀀스) : 순서 O 가변

- 튜플(시퀀스) : 순서 O 불변

- (셋) : 순서 X 중복 X

- (딕셔너리) : 순서 X 키:밸류

 

<빌드 도구>

- Ant, Maven, Gradle


#05

<생명 주기>

- 폭포수 : 고전적, 선형, 순차적, 지나간 과정 다시 보기 어려움

- 애자일(나선형) :  리스크 최소화, [계획 수립-위험 분석-개발 및 검증-고객 평가] 반복, 지나간 과정 다시 볼 수 있음

 

<비용 산정 모델 - LOC(Lines Of Code)>

- 원시 코드의 라인수로 낙관치, 중간치, 비관치를 측정해 예측

- Man-Month : 코드 라인 수 / 프로그래머 1명 당 월간 생산량

 

<COCOMO>

- Organic : 5만 라인 이하

- Semi-Detached : 30만 라인 이하

- Embedded : 30만 라인 이상

 

<CMM(Capability Maturity Model)>

- 초기→반복→정의→관리→최적화

* 계획단계 X

 

<프레임워크>

- 개발에 공통적으로 사용되는 구성 요소와 아키텍쳐를 일반화하여 손쉽게 구현할 수 있도록 도움을 주는 반제품 형태

- 품질보증, 개발 용이성, 변경 용이성

- 라이브러리와 달리 사용자 코드가 직접 호출하지 않는다

 

<RIP>

- Bellman-Ford 알고리즘을 이용한 거리 벡터 라우팅 프로토콜

- 최대 15홉

- 소규모망에 적합, 느린 속도, 주기적 업데이트

 

<OSPF>

- Dijkstra 알고리즘을 이용한 링크 상태 라우팅 프로토콜

- 홉수 제한 X

- 대규모망에 적합, 빠른 속도, 변화가 있을 때만 업데이트

 

<암호화 알고리즘>

- 단방향 : HASH

- 대칭키 - DES, SEED, AES, ARIA (블록 암호화에 'E'가 들어감)

- 개인키 - LFSR, RC4

- 공개키(비대칭) - RSA, 암호화는 공캐기 복호화는 비밀키

 

<정보보안 3대 요소>

- 기밀성(Confidentiality) : 허가 받은 사람만 열람 가능

- 무결성(Integrity) : 허가 받은 사람만 수정 가능

- 가용성(Availability) : 필요할 때 사용 가능

 

<공격 기법>

- Ping of Death : 허용 범위 이상 크기의 패킷 전송

- SQL Injection : SQL문을 주입해 데이터베이스가 비정상적으로 동작하도록 한다

- XSS(Cross Site Scripting) : 웹사이트에 스크립트를 삽입해 공격

- Ransomware : 컴퓨터 문서를 암호화하고 돈을 요구

 

<FAT>

- Dos때 부터 사용되던 윈도우 파일시스템

- 저용량, 호환성 좋음, 최대 4GB

 

<NFTS>

- FAT 대체, FAT보다 보안이 뛰어남

- 대용량, 안정성 좋음

 

<접근통제>

- 강제 접근 통제(MAC; Mandatory Access Control) : 주체와 객체의 등급을 비교, 시스템이 지정

- 임의 접근 통제(DAC; Discretionary Access Control) : 신원에 따라 권한 부여, 데이터 소유자가 지정

- 역할 기반 접근 통제(RBAC; Role Based Access Control) : 사용자의 역할에 따라 권한 부여, 중앙관리자가 지정

 

<테일러링>

- 프로젝트 상황 및 특성에 맞게 정의된 방법론의 절차, 사용 기법들을 보완하는 작업

- 내부적 요건 : 목표 환경, 요구사항, 프로젝트 규모, 보유 기술

- 외부적 요건 : 법적 제약사항, 국제표준 품질기준

 

'challenge > 정보처리기사 필기(完)' 카테고리의 다른 글

정보처리기사 필기 합격  (0) 2024.08.08
기출 위주 개념  (0) 2024.07.12
정처기 요약  (0) 2024.07.05
정처기 기출 (계속 추가)  (0) 2024.07.03
Comments