자료구조의 분류
- 선형: 배열, 선형리스트, 스택, 큐, 데크
- 비선형: 트리, 그래프
스택
- 리스트의 한쪽 끝으로만 자료 삽입, 삭제 작업 이루어짐 (LIFO)
스택 응용 분야
- 인터럽트 처리
- 수식 계산 및 수식 표기법
- 서브루틴 호출 및 복귀주소 저장
스택의 삽입(Push)과 삭제(Pop)
- push: 입력, pop: 출력
방향/무방향 그래프의 최대 간선 수
- 무방향: n(n-1)/2, 방향: n(n-1)
트리
- 정점(node)과 선분(branch)을 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태
이진 트리의 운행법
수식의 표기법 (Infix -> Postfix)
수식의 표기법 (Infix -> Prefix)
수식의 표기법 (Postfix -> Infix)
삽입 정렬 ( 2 -> 1, 3 -> 2 -> 1)
선택 정렬 ( 1-2-3-4-5, 2-3-4-5, 3-4-5, ..)
버블 정렬 (1-2-3-4-5, 1-2-3-4 ..)
이분검색
- 전제조건: 데이터 정렬, 비교 데이터 수가 절반으로 줄어듦, 탐색 효율이 좋다, 탐색 시간이 적게 소요
해싱함수
- 제산법(K % minQ), 제곱법(K 제곱), 폴딩법(K 나눈 후 + or XOR), 숫자 분석법(고른 자리를 필요한 만큼 선택)
스키마 3계층
- 외부 스키마: 논리적 구조 정의
- 개념 스키마: 개체 간의 관계와 제약 조건, 접근 권한, 보안 및 무결성 규칙에 관한 명세 정의
- 내부 스키마: 실제로 데이터베이스의 저장될 레코드의 형식(물리적 구조 정의)
빌드 자동화 도구
- Ant:아파치
- Maven: Ant 대안
- Jenkins: java기반 오픈 소스 빌드 자동화 도구
- Gradle: Groovy기반 오픈 소스의 빌드 자동화 도구
소프트웨어 패키징
- 모듈별로 생성한 실행파일들을 묶어 배포용 설치 파일을 만드는 것, 사용자 중심
소프트웨어 패키징시 고려사항
- 암호화 및 보안 고려, DRM(디지털 저작관 관리) 연동 고려
DRM의 구성요소
- 클리어링 하우스: 저작권에 대한 사용 권한, 라이선스 발급, 사용량에 따른 결제 관리
- 콘텐츠 제공자: 콘텐츠를 제공하는 저작권자
- 패키저: 콘텐츠를 메타 데이터와 함께 배포 가능한 형태로 암호화
- 콘텐츠 분해자: 암호화된 콘텐츠를 유통하는 곳이나 사람
- DRM 컨트롤러: 배포된 콘텐츠의 이용권한 통제
DRM의 기술 요소
- 콘텐츠 암호화 및 키 관리, 콘텐츠 식별체계 표현, 라이선스 발급 및 관리, 정책 관리 기술, 크랙 방지 기술
소프트웨어 설치 메뉴얼
- 설치 메뉴얼은 사용자를 기준으로 작성
- 기본 사항: 소프트웨어 개요, 설치 관련 파일, 프로그램 삭제
형상관리(SCM)
- 소프트웨어 변경사항 관리 (Git, CVS, SubVersion)
소프트웨어의 버전 등록 관련 주요 기능
- 체크아웃: 저장소에서 파일 받아옴
- 체크인: 저장소의 파일을 새로운 버전으로 갱신
- 커밋: 충돌을 알리고 diff 도구를 이용해 수정한 후 갱신 완료
파레토 법칙
- 오류의 80%는 전체 모듈의 20% 내에서 발견
화이트박스 테스트
- 원시 코드의 논리적인 모든 경로를 테스트, 제어 구조에 따라 논리적 경로 제어
화이트박스 테스트 종류
- 조건검사, 루프검사, 데이터흐름검사, 기초경로검사(수행가능한 모든 경로)
블랙박스 테스트 종류
- 동치분할검사, 경계값 분석, 원인-효과 그래프 검사, 오류 예측 검사, 비교 검사
단위 테스트
- 모듈이나 컴포넌트에 초점을 맞춰 테스트
단위 테스트로 발견 가능한 오류
- 원치 않은 결과, 탈출구가 없는 반복문, 틀린 계산 수식에 의한 잘못된 결과
인수 테스트
- 알파 테스트: 사용자가 개발자 앞에서 테스트하는 기법
- 베타 테스트: 사용자가 여러 명 사용자 앞에서 테스트
통합 테스트
- 하향식: 상위 → 하위
- 상향식: 하위 → 상위
테스트 드라이버
- 하위 모듈 호출, 매개변수 전달 및 모듈 테스트 수행 후의 결과 도출, 상향식 통합 테스트에 사용
테스트 스텁
- 시험용 모듈, 하향식 통합 테스트에 사용
테스트 오라클
- 사전에 정의된 참값을 대입하여 비교
주요 최악의 시간 복잡도
- O(1) (Push, Pop)
- O(nlogn) (Heap Sort, Merge Sort)
클린 코드 작성 원칙
- 가독성, 단순성, 의존성 배제, 중복 최소화, 추상화
외계인 코드
- 유지 보수 작업이 어려운 코드
소스 코드 품질 분석 도구 - 정적 분석 도구
- 하드웨어 또는 소프트웨어적인 방법으로 코드 분석이 가능
EAI 구축 유형
- PtoP: 1:1
- Hub & Spok
- Message Bus: 애플리케이션 사이에 미들웨어를 둠
- Hybrid: Hub & spok + Message Bus
JSON
- Attribute-Value Paris 데이터 객체를 전달하기 위해 사람이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷
AJAX
- 자바스크립트 등을 이용한 비동기 통신 기술
- XML 데이터를 교환 및 제어
인터페이스 보안 기능 적용
- 네트워크 트래픽에 대한 암호화 설정
- IPSec, SSL, S-HTTP
tripware
- 크래커가 침입하여 백도어를 만들어 놓거나, 설정파일을 변경했을 때 분석하는 데이터 무결성 검사 도구
인터페이스 구현 검증 도구
- xUnit, STAF, FitNesse, NTAP, watir
'자격증' 카테고리의 다른 글
[정보처리기사 실기] 2020년도 기출 내용 정리 (2) | 2024.04.26 |
---|---|
[정보처리기사] 5과목 정보시스템 구축 관리 핵심정리 (1) | 2024.02.08 |
[정보처리기사] 3과목 데이터베이스 구축 핵심정리 (1) | 2024.02.08 |
[정보처리기사] 1과목 소프트웨어 설계 핵심정리 (3) | 2024.02.07 |
[sqld] sqld 합격 후기 및 공부법(노랭이, 개념 및 이론 공부, 기출분석, 마지막 최종 정리, 시험 후기) (0) | 2023.06.13 |