AngelPlayer`s Diary


해당 포스트는 제가 정보처리기사를 준비하면서 공부한 내용을 요약한 문서입니다.

요약한 내용은 대체적으로 이전 기출문제를 풀기 위해서 알아야 할 중요한 개념 중심으로 정리하였습니다.

일부 임의로 요약한 내용이나 암기를 쉽게 하기 위해서 개념이 조금 틀리지만 수정한 내용이 있을 수 있습니다.

각 개인마다 공부 방식이 다르니 해당 포스트의 내용을 무조건 맹신하기보다는 참고하시는 방법을 권장 드립니다. 

오늘도 공부하시느라 애쓰시는 모든 분들에게 좋은 결과가 있으시길 바랍니다.


(해당 포스트는 시나공, 수제비 정보처리기사 실기 책을 참고하여 작성하였습니다.)

(포스트 내용을 개인 공부를 위해서 로컬 저장소에 저장하는 것은 가능하나,

내용을 그대로 복사하여 다른 곳에 재업로드하는 것은 자제해주시면 감사하겠습니다.)

 

 

 

계분설구 (계획 분석 설계 구현)

 

애자일 : 일정한 사이클을 반복하면서 개발

스크럼 : 팀이 중심이 되어 개발의 효율성을 높이는 기법

TDD : 테스트 케이스를 먼저 작성하여 무엇을 해야 하는지를 파악

Refactoring : 프로그램의 기능 변경 없이 시스템을 재구성, 프로그램을 쉽게 이해하고 빠른 개발을 하기 위해 사용

계속적인 통합 : 모듈 단위로 개발된 코드들을 작업이 끝날 때 지속적으로 통합

WAS : 동적인 콘텐츠를 처리하기 위해 사용하는 미들웨어

기능 요구사항 : 시스템의 기능이나 수행과 관련된 요구사항

비기능 요구사항 : 품질이나 제약과 관련된 요구사항

 

전문가 감정 기법 : 2명 이상의 전문가에게 비용 산정을 의뢰

델파이 기법 : 많은 전문가의 의견을 종합

LOC 기법 / cocomo : 코드 라인 수

putnam / slim : 생명 주기 전 과정의 노력 분포 예상 / 추정 도구

CPM : 임계 경로 기법 (임계 경로 = 최장 경로)

간트 차트 : 시작과 종료에 대한 작업 일정을 표시

SPICE : 소프트웨어 프로세스를 평가 및 개선하는 국제표준

 

스키마 : 데이터베이스의 구조와 제약 조건 명세

외부 스키마 : 개인 입장에서 필요로 하는 DB의 논리적 구조 -> 논리적 설계

개념 스키마 : DB전체의 구조, 하나만 존재 -> 개념적 설계

내부 스키마 : 물리적 저장장치 입장의 DB 구조 -> 물리적 설계

 

데이터 모델 표시 요소 : 구연제

구조 : 논리적으로 표현된 객체 타입들 간의 관계, 데이터의 구조 및 성질을 표현

연산 : DB에 저장된 실제 데이터를 처리하는 작업

제약 조건 : 저장될 수 있는 실제 데이터의 논리적인 제약 조건

 

개체 무결성 : 기본키는 null이나 중복을 가질 수 없음

참조 무결성 : 외래키는 null이나 참조 불가능한 값을 가질 수 없음

순수 관계 연산자 : select, project, join, division

 

삽입 이상 : 삽입 시 원치 않는 값도 함께 입력하여야 하는 현상

삭제 이상 : 삭제 시 원치 않는 값도 같이 삭제되는 현상

갱신 이상 : 값을 업데이트 하였을 때 다른 속성 값과 불일치가 발생하는 현상

 

정규화 : 테이블을 무손실 분해하는 과정 (도부이결다조) (이행적함수종속, BCNF, 다치 속성 제거, 조인 속성 제거)

반정규화 : 성능을 향상시키기 위해 의도적으로 데이터 모델을 통합, 중복, 분리

 

트랜잭션 : 한꺼번에 수행되어야 할 일련의 연산

원자성 : 결과가 모두 DB에 반영되던지(commit), 아무것도 반영되지 않게 복구되어야 함(rollback)

일관성 : 실행을 완료하면 일관성 있는 상태로 유지

독립성 : 두 트랜잭션이 동시에 수행되면 서로의 연산에 끼어들 수 없음

영속성 : 한 번 완료된 연산은 시스템이 고장나더라도 영구적으로 반영


파티션 : 대용량의 테이블이나 인덱스를 작은 논리적 단위로 나눈 것

파티션 종류 : 범위(열 값), 해시(해시 적용 값으로 분할), 조합(범위 후 해시)

 

목표 복구 시간 (RTO) : 중단 시점부터 가동될 때까지의 소요시간

목표 복구 시점 (RPO) : 데이터를 복구할 수 있는 기준점

접근 통제 종류 : DAC, MAC, RBAC

임의 접근 통제(DAC) : 사용자의 신원에 따라 접근 권한 부여

강제 접근 통제(MAC) : 주체와 객체의 등급을 비교하여 접근 권한 부여

역할 기반 접근 통제(RBAC) : 사용자의 역할에 따라 접근 권한 부여

 

DAS(서버와 저장장치 직접 연결) / NAS(네트워크로 연결) / SAN(서버와 저장장치를 위한 전용 네트워크)

 

삽입 정렬 : 비교 대상을 하나씩 늘려가면서 그때그때 변경

선택 정렬 : 맨 앞에 하나씩 정렬됨

버블 정렬 : 맨 뒤부터 정렬

 

쉘 정렬 : 서브파일

퀵 정렬 : 작은 값 왼쪽, 큰 값 오른쪽

힙 정렬 : 전 이진 트리

2-Way 합병 정렬 : 정렬된 두 파일을 합침

 

EAI : point to point, hub&spoke, Message Bus, Hybrid

 

XML : 마크업 언어

JSON : 객체를 속성 값의 쌍 형태로 표현

AJAX : JS로 클라이언트와 서버 간 XML 데이터를 주고받는 비동기 통신 기술, 웹 페이지 일부만 업데이트 가능

 

IPSec : IP 패킷 단위 변조 방지

SSL : 인증, 암호화, 무결성

S-HTTP : 모든 메시지

 

와이어프레임 : 뼈대

목업 : 정적인 모형

스토리보드 : 와이어프레임 콘텐츠 설명 등을 추가

프로토타입 : 테스트가 가능한 동적인 모형

유스케이스 : 요구사항을 기능 단위로 표현

 

UI 종류 : CLI, GUI, NUI

 

UI 기본 원칙

직관성 : 누구나 쉽게 이해하고 사용할 수 있어야 함

유효성 : 사용자의 목적을 정확하고 완전하게 달성

학습성 : 누구나 쉽게 배우고 익힐 수 있어야 함

유연성 : 사용자의 요구사항을 최대한 수용하고 실수를 최소화


UX : 서비스를 사용하면서 느끼게 되는 총체적 경험

UI : 시스템 간의 상호작용이 원활하게 이루어지도록 하는 장치나 소프트웨어

 

소프트웨어 패키징 : 식별 - 모듈 - 빌드 - 사용자 환경 - 패키징

 

릴리즈 노트 : 소프트웨어가 얼마나 개선되었는지를 사용자와 공유하는 문서

헤더 : 이름, 버전, 날짜 등 저장

 

클리어링 하우스 : 저작권에 대한 사용 권한, 라이선스 발급, 키 관리

패키저 : 베포 가능한 상태로 묶어서 암호화

DRM 컨트롤러 : 이용을 통제


형상 관리 : 개발 과정에서의 변경사항을 관리하기 위한 활동

형상 식별 : 형상 관리 대상에 이름과 관리 번호 부여

버전 제어 : 유지 보수 과정에서 생성된 다른 버전의 형상을 관리

형상 통제 : 형상의 변경 요구를 검토하여 현재 기준선이 반영될 수 있도록 조정

형상 감사 : 무결성을 평가하기 위해 확인, 검정, 검열 과정을 수행

형상 기록 : 형상의 식별, 통제, 감사 작업의 결과 기록

 

import - check-out - commit - update - diff

최초 파일 추가 - 파일 내려 받기 - 수정 후 저장소 예치 - 저장소의 파일을 받아서 동기화 - 변경된 차이점 확인

공유 폴더 방식, 클라이언트/서버 방식, 분산 저장소 방식

 

jenkins : java 기반 / gradle : groovy 기반

 

대역폭 제한 : 네트워크 트래픽의 포화를 방지하기 위해 대역폭을 제한

가상 호스팅 : 하나의 서버로 여러 도메인 연결

단계적 분해 : 상위 개념으로부터 하위 개념으로 구체화

 

럼바우 : 객동기

객체 모델링 : 정보 모델링이라고도 함, 객체 간 관계를 정의, E-R

동적 모델링 : 상태 다이어그램, 시간의 흐름에 따라 객체 간 제어 흐름

기능 모델링 : 자료 흐름을 기준으로 처리과정 표현, DFD

 

결합도 : 낮을수록 좋음

응집도 : 높을수록 좋음

 

IPC : 모듈 간 통신 방식을 구현하기 위해 사용

테스트 케이스 : 소프트웨어가 사용자의 요구사항을 준수하였는지 확인하기 위한 테스트 항목 명세서

 

블록코드 : 분류 단위, 공통끼리 묶음 (총무부, 영업부)

그룹 분류 코드 : --

연상 코드 : 명칭과 관련된 코드

표의 숫자 코드 : 성질

10진 코드 : 도서 분류식 코드


디자인 패턴(GoF) : 모듈 간의 관계 및 인터페이스 설계 시 참조할 수 있는 해결방식 (생구행)

 

생성 패턴

추상 팩토리 : 추상적으로 표현

빌더 : 인터페이스 조합

팩토리 메소드 : 상위에서 인터페이스 제공, 가상 생성자 패턴

프로토타입 : 원본 객체 복제

싱글톤 : 하나의 객체, 한 번에 여러 프로세스가 참조 불가

 

구조 패턴

어댑터 : 변환

브리지 : 기능과 구현을 별도의 클래스로 구현

컴포지트 : 트리 구조

데코레이터 : 다른 객체를 덧붙임

퍼싸드 : 상위 인터페이스로 감쌈

플라이웨이트 : 메모리 절약

프록시 : 인터페이스 역할

 

행위 패턴

책임 연쇄 : 해결하지 못하면 다른 객체로 넘김

커맨드 : 명령어 단순화

인터프리터 : 문법을 정의

반복자 : 접근이 잦은 객체에 동일한 인터페이스 사용

중재자 : 복잡한 내용 캡슐화

메멘토 : 특정 시점의 객체 내부 상태를 객체화 (ctrl + z)

옵서버 : 발행-수신

상태 : 객체의 상태에 따라 동일한 동작을 다르게 처리해야 할 때

전략 : 원하는 알고리즘을 선택하여 사용

템플릿 메소드 : 상위 클래스에서 골격을 정의하고 하위에서 구체화

방문자 : 처리 기능을 분리, 분리된 기능은 각 클래스를 방문하여 실행

 

DTO : 데이터 교환을 위한 객체 생성

DAO : SQL 삽입, DB 접근, 데이터를 조작

서버 개발 순서 : DTO - SQL - DAO - Service - Controller

 
 

 

공유하기

facebook twitter kakaoTalk kakaostory naver band