일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 부스트코스
- 코틀린 기초
- Kotlin
- 정보처리기사 요약정리
- 정보처리기사 필기
- 개발자
- IT
- 정처기 정리
- edwith
- 코틀린배우기
- naver
- 정보처리기사 내용정리
- 한이아지
- 정보처리기사
- 코틀린
- 정보처리기사 요약
- 백엔드
- 정보처리기사 정리
- 정처기 필기
- 코틀린 배우기
- 부스트코스 서포터즈
- 안드로이드
- kkuber
- boostcourse
- 정처기
- 정처기 요약
- 코틀린강의
- 코틀린기초
- 큐버
- 코틀린 강의
- Today
- Total
초보 개발자의 성장기
한이아지와 함께하는 정보처리기사 2과목 1번째) 데이터 입 · 출력 구현 본문
2과목 1번째 부분인
데이터 입 · 출력 구현에 대해서 정리해보겠습니다!
(☆ 중요도 0.5 / ★ 중요도 1)
PART2. 소프트웨어 개발
- Chap01) 데이터 입 · 출력 구현
- 논리 데이터 저장소 확인
- 물리 데이터 저장소 설계
- 데이터 조작 프로시저 작성
- 데이터 조작 프로시저 최적화
- Chap02) 통합 구현
- 모듈 구현
- 통합구현 관리
- Chap03) 제품 소프트웨어 패키징
- 제품 소프트웨어 패키징
- 제품 소프트웨어 매뉴얼 작성
- 제품 소프트웨어 버전 관리
- Chap04) 애플리케이션 테스트 관리
- 애플리케이션 테스트케이스 설계
- 애플리케이션 통합 테스트
- 애플리케이션 성능 개선
- Chap05) 인터페이스 구현
- 인터페이스 설계 확인
- 인터페이스 기능 구현
- 인터페이스 구현 검증
Chap01) 데이터 입 · 출력 구현
1. 논리 데이터 저장소 확인
1.1. 자료 구조(★★★)
[1] 자료 구조란?
컴퓨터 상 자료를 효율적으로 저장하기 위해 만들어진 논리적인 구조 (방법과 자료간의 관계 명시)
[2] 자료 구조의 분류
구조 | 설명 | 종류 |
선형 구조 | 데이터를 연속적으로 연결한 자료 구조 | 리스트, 스택, 큐, 데크 |
비선형 구조 | 데이터를 비연속적으로 연결한 자료 구조 | 트리, 그래프 |
[3] 선형 구조
① 리스트
⒧ 선형 리스트 : 연속되는 기억 장소에 저장되는 리스트, 삽입 · 삭제 시 기존 자료의 이동 필요
⑵ 연결 리스트 : 노드의 포인터 부분으로 서로 연결시킨 리스트, 기억 장소가 반드시 연속적이지 않음
추가적인 저장공간 필요, 포인트를 통해 찾는 시간이 추가되어 선형 리스트에 비해 느림
② 배열 : 동일한 자료형의 데이터가 나열되어 순서를 가지는 집합
정적인 자료구조, 반복적인 데이터 처리에 적합
③ 스택 : 한 방향으로만 자료를 넣고 꺼낼 수 있는 LIFO (Last-In First-Out) 형식의 구조
오버플로와 언더플로 발생가능, TOP-BOTTOM 존재
④ 큐 : 한쪽 끝에서는 삽입이 이뤄지고, 반대편 끝에서는 삭제 작업이 이루어지는 FIFO 형식의 자료 구조
2개의 포인터 존재 (프론트 포인터 → 꺼내는 쪽 / 리어 포인터 → 넣는 쪽), 운영체제 작업 스케줄링에 이용
⑤ 데크 : 큐의 양쪽 끝에서 삽입과 삭제를 할 수 있는 자료 구조
2개의 포인터를 사용하여, 양 쪽의 삭제 / 삽입이 가능
[4] 비선형 구조
① 트리 : 데이터들을 계층화시킨 자료 구조, Node와 Link로 구성
인덱스를 조작하는 방법으로 가장 많이 사용, 배열과 달리 Node들이 포인터로 연결되어 노드의 상한선이 없음
트리 용어 정리
용어 | 설명 |
루트 노드 | 트리에서 부모가 없는 최상위 노드이자 트리의 시작점 |
단말 노드 | 자식이 없는 노드, 트리의 가장 말단에 위치 |
레벨 | 루트 노드를 기준으로 특정 노드까지의 경로 길이 |
조상 노드 | 특정 노드에서 루트에 이르는 경로 상 모든 노드 |
자식 노드 | 특정 노드에 연결된 다음 레벨의 노드 |
부모 노드 | 특정 노드에 연결된 이전 레벨의 노드 |
형제 노드 | 같은 부모를 가진 노드 |
깊이 | 루트 노드에서 특정 노드에 도달하기 위한 간선의 수 |
차수 | 특정 노드에 연결된 자식 노드의 수 |
트리 순회방법
구분 | 개념도 | 순회방법 |
전위 순회 | Root → Left → Right | |
중위 순회 | Left → Root → Right | |
후위 순회 | Left → Right → Root |
② 이진트리 : 차수가 2 이하인 노드로 구성되어 자식이 둘 이하로 구성된 트리
이진 트리 유형
구분 | 개념도 | 설명 |
포화 이진 트리 | 모든 레벨에서 노드가 채워진 트리 | |
완전 이진 트리 | 마지막 레벨을 제외하고 노드가 채워진 트리 | |
편향 이진 트리 | 노드의 왼쪽이나 오른쪽 한곳만 노드가 존재하는 트리 |
1.2. 데이터베이스 (★★)
[1] 데이터베이스란?
특정 조직의 업무를 수행하는 데 필요한 데이터들의 집합
[2] 데이터베이스 특징 : <통저운공>
- 통합된 데이터 : 자료의 중복을 최대로 배제하여 중복을 허용하지 않는 데이터
- 저장된 데이터 : 컴퓨터가 접근할 수 있는 저장 매체에 저장된 데이터
- 운영 데이터 : 고유한 업무를 수행하는 데 있어 반드시 필요한 데이터
- 공용 데이터 : 어려 시스템이 공동으로 소유하고 유지하는 데이터
[3] DBMS
사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 SW
- DDL (데이터 정의어) : 데이터베이스에 저장될 데이터의 타입과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시
- DML (데이터 조작어) : 사용자와 데이터베이스 사이의 인터페이스 수단을 제공
- DCL (데이터 제어어) : 무결성, 보안, 권한, 병행 제어 제공
1.3. 논리 데이터 저장소 (★★)
[1] 논리 데이터 저장소란?
업무를 모델링 표기법으로 형상화한 데이터의 저장소, 사용자에게 이해하기 쉬운 논리로 추상화하여 제공
논리 데이터 저장소 구조
- 개체
- 속성
- 관계
2. 물리 데이터 저장소 설계
2.1. 물리 데이터 저장소 (★★)
[1] 물리 데이터 저장소란?
DBMS의 특성을 고려하여 데이터베이스 저장 구조로 변환하기 위한 데이터 저장소
논리 데이터 저장소에서 물리 데이터 저장소로 모델 변환
순서 | 변환 단계 |
1 | 단위 개체를 테이블로 변환 |
2 | 속성을 컬럼으로 변환 |
3 | UID를 기본 키로 변환 |
4 | 관계를 외래 키로 변환 |
5 | 컬럼 유형과 길이 정의 |
6 | 반 정규화 수행 |
[2] 물리 데이터 저장소 구성
- 테이블 제약조건 설계
- 인덱스 설계
- 뷰 설계
- 클러스터 설계
- 파티션 설계
- 디스크 구성 설계
파티션 종류 - <레해리컴>
종류 | 설명 |
범위 분할 (range) | 분류 키 값이 범위 내에 있는 지 여부를 구분하는 분할 기법 |
해시 분할 (hash) | 해시 함수의 값에 따라 파티션에 포함할 지 여부를 결정하는 분할 기법 |
목록 분할 (list) | 값 목록에 파티션을 할당하고 분할 키 값을 그 목록에 맞게 분할하는 기법 |
조합 분할 (composit) | 범위 분할, 해시 분할, 목록 분할 중 2개 이상의 분할 기법을 결정하는 기법 |
파티션의 장점 - <성가백합 = 성가대가 백합꽃을 들고 있다>
성능 향상, 가용성 향상, 백업 가능, 경합 감소
2.2. 트랜잭션 인터페이스(★★☆)
[1] 트랜잭션 인터페이스 개념
데이터베이스 트랜잭션의 입출력과 기능 형태를 정의한 인터페이스
[2] 트랜잭션 인터페이스의 특징 - <ACID>
특징 | 설명 |
Atomicity 원자성 | 트랜잭션 연산을 데이터베이스 반영하거나 반영하지 말아야 함 (All or Nothing) |
Consistency 일관성 | 트랜잭션 실행을 성공적으로 완료할 시 일관성 있는 데이터베이스 상태 유지 |
Isolation 고립성 | 둘 이상 트랜잭션 동시 실행 시 한 개의 트랜잭션만 접근이 가능하며 다른 트랜잭션 접근 불가 |
Durability 영속성 | 성공적으로 완료된 트랜잭션 결과는 영구적으로 반영됨 |
[3] 트랜잭션 연산
- COMMIT : 트랜잭션 처리가 정상적으로 종료되어 수행한 변경 내용을 DB에 반영하는 연산
- ROLLBACK : 트랜잭션 처리가 비정상적으로 종료되어 DB의 일관성이 깨졌을 때
트랜잭션의 모든 작업을 취소하고 이전 상태로 되돌리는 연산
- SAVEPOINT : 트랜잭션 내에서 ROLLBACK할 위치인 저장점을 지정하는 연산, 여러 개의 SAVEPOINT 지정 가능
3장과 4장은 시험에 나올 확률이 적어 핵심 정리에는 생략하였습니다.
그렇지만 나올 가능성도 있으니 꼭 책으로 읽어 보시길 추천드립니다!
'IT 자격증 공부 > 정보처리기사' 카테고리의 다른 글
한이아지와 함께하는 정보처리기사 3과목 1번째) 제품 소프트웨어 패키징 (0) | 2021.01.30 |
---|---|
한이아지와 함께하는 정보처리기사 2과목 2번째) 통합 모듈 구현 (0) | 2021.01.29 |
한이아지와 함께하는 정보처리기사 1과목 4번째) 인터페이스 설계 (0) | 2021.01.08 |
한이아지와 함께하는 정보처리기사 1과목 3번째) 애플리케이션 설계 (0) | 2021.01.04 |
한이아지와 함께하는 정보처리기사 1과목 2번째) 화면 설계 (0) | 2020.12.30 |