본문 바로가기

정보처리기사77

[정보처리기사 필기 요약] 프로그램 개발 언어 (객체지향, 선언형) * 프로그램 개발 언어 - 프로그램 실행 방식에 따른 종류 구분 설명 컴파일러 언어 (Compiler) - 번역사 같은 작업 - P/G 전체 라인을 처음부터 끝까지 해독해 목적 코드로 만든 후 실행 - C, C++, COBOL, Ada, FORTRAN, PASCAL 등 인터프리터 언어 (Interpreter) - 통역사 같은 작업 - P/G 라인 단위로 한 줄씩 해석하고 바로 실행 - 자바스크립트, BASIC, LISP 등 스크립트 언어 - 소스 코드 컴파일 하지 않고도 실행 가능한 프로그래밍 언어 - 별도 컴파일 없이 내장된 번역기에 의해 번역되므로 바로 실행 가능 - 컴파일러 언어와는 다르게 인터프리터(interpreter) 사용해서 코드 한줄 한줄을 즉시 해석하고 실행 - 인터프리터 방식 언어를 보.. 2021. 3. 4.
[정보처리기사 필기 요약] 배치 프로그램 * 배치 프로그램 사용자와의 상호작용 없이 일련의 작업들을 작업 단위로 묶어 정기적으로 반복 수행하거나 정해진 규칙에 따라 일괄 처리하는 P/G * 배치 프로그램 필수 요소 요소 설명 대용량 데이터 - 대용량 데이터 처리 가능해야 함 자동화 - 심각한 오류 상황 외에는 사용자 개입 없이 동작해야 함 견고함 - 유효하지 않은 데이터나 로직 수행 경우에도 예외 처리 해서 비정상적인 동작 중단 발생하지 않아야 함 안정성 - 어떤 문제 생겼는지, 언제 발생했는지 등 추적 가능해야 함 성능 - 주어진 시간 내 처리 완료 가능해야 하고, 동시에 동작하고 있는 다른 어플리케이션 방해하지 않아야 함 2021. 3. 4.
[정보처리기사 필기 요약] 소프트웨어 개발 보안 * SW 개발 보안 SW 개발 과정에서 개발자 실수, 논리적 오류 등으로 인해 SW에 내포될 수 있는 보안 약점 원인 보안 취약점 최소화하고 사이버 보안 위협에 대응할 수 있는 안전한 SW 개발하기 위한 일련의 보안 활동 * SW 개발 보안가이드 (시큐어 코딩) 유형 유형 설명 입력 데이터 검증 및 표현 - P/G 입력 값 대한 검증 누락 또는 부적절한 검증, 데이터 잘못된 형식 지정으로 인해 발생 가능한 보안 약점 ※ SQL 삽입, 자원 삽입, 크로스 사이트 스크립트(XSS) 등 26개 보안 기능 - 보안 기능(인증, 접근 제어, 기밀성, 암호화, 권한 관리 등) 적절하지 않게 구현할 경우 발생 가능한 보안 약점 ※ 부적절한 인가, 중요 정보 평문 저장(또는 전송) 등 24개 시간 및 상태 - 동시 또.. 2021. 3. 4.
[정보처리기사 필기 요약] 취약점 * 취약점(vulnerability) 공격자가 시스템 정보에 대한 안정성 낮추는데 사용되는 보안 약점 시스템 자체 결함, 공격자가 결함에 대한 접근 용이성, 공격자가 결함에 대해 공격할 가능성 * SW 보안 취약점 보안 사고는 한 가지 이상 취약점들의 조합 통해 더욱 빈번하게 발생 분류 취약점 설명 메모리 보안 침입 버퍼 오버플로 - 메모리 다루는 데 오류 발생하여 잘못된 동작 하는 P/G 취약점 - 컴퓨터 보안과 프로그래밍에서는 프로세스가 데이터를 버퍼에 저장할 때, 프로그래머가 지정한 곳 외에 저장 허상 포인터 (Dangling pointer) - 컴퓨터 프로그래밍에서 적절한 타입의 유효 객체 가리키고 있지 않은 포인터로 인함 Null Pointer 역참조 - Null로 설정된 변수 주소 값 참조 시.. 2021. 3. 4.
[정보처리기사 필기 요약] 모듈화 (2) - 응집도 (Cohesion) * 응집도(Cohesion) 정보 은닉의 확장된 개념 하나의 모듈이 하나의 기능 수행하는 집적도의 척도 모듈의 독립성 나타내는 개념으로 내부 구성원 간 연관도 의미 클래스 목적에 부합하는 같은 기능 함수들로 구성 함수의 개수가 상대적으로 적으며 오로지 자신이 할 수 있는 책임을 부여받음 하나의 함수에 많은 기능 부여하지 않고 다른 기능 가진 함수와 상호협력 높을수록 좋음 모듈 내부에 독립성 보장 위해 하나의 기능만을 구현하는 것 의미 * 응집도 단계 응집도 내용 기능적 응집도 (Functional Cohesion) - 모듈 내부 모든 기능이 단일한 목적 위해 수행 순차적 응집도 (Sequential Cohesion) - 모듈 내 한 활동으로부터 나온 출력 값을 다른 활동이 사용하는 경우 통신적 응집도 (.. 2021. 3. 4.
[정보처리기사 필기 요약] 모듈화 (2) - 결합도 (Coupling) * 결합도(Coupling) 모듈 내부가 아닌 모듈 간 연관도(모듈 간 상호의존성). SW 구조에서 모듈 간 관련성 측정하는 척도 서로 다른 상위 모듈에 의해 호출되어 연관성 없는 서로 다른 기능 수행 자료 전달이 인터페이스 통하므로 인터페이스 복잡성에 의존적 낮은 결합도는 복잡성 감소시킴 (loosely-coupled) 에러 발생 시 오류 전파되어 다른 오류 원인이 되는 리플 효과(Ripple Effect) 최소화 해야함 * 결합도 단계 결합도 내용 자료 결합도 (Data Coupling) - 모듈 간 인터페이스로 전달되는 파라미터 통해서만 모듈 상호 작용 발생 스탬프 결합도 (Stamp Coupling) - 모듈 간 인터페이스로 배열이나 오브젝트, 스트럭처 등 전달되는 경우 제어 결합도 (Contro.. 2021. 3. 4.
[정보처리기사 필기 요약] 모듈화(1) * 모듈화 P/G 구성요소 일부로 관련된 데이터와 함수들 묶여서 모듈 생성. 주로 파일 단위로 구성 * 모듈화 원리 구분 설명 분할과 지배 (Divide & Conquer) - 복잡한 문제를 분해, 모듈 단위로 문제 해결 정보 은닉 (information hiding) - 어렵거나 변경 가능성 있는 모듈을 타 모듈로부터 은닉 자료 추상화 (Data Abstraction) - 각 모듈 자료구조를 액세스하고 수정하는 함수 내 자료구조 표현 내역 감춤 모듈의 독립성 (Module Independence) - 독립성 강한 모듈은 낮은 결합도와 높은 응집도 특징 가짐 * 모듈화 측정 척도 : 모듈화는 공통 모듈 구현 위해 재사용성 강화를 위한 중요한 개념. 모듈은 내부 처리 요소 간 독립성 나타내며 응집도 높을수.. 2021. 3. 3.
[정보처리기사 필기 요약] 재사용 * 재사용 : 기존 SW 또는 SW 지식 재활용하여 새로운 SW 개발하는 활동 * 재사용 사례 SW 라이브러리 (Software Library) 코드 재사용의 매우 일반적인 예로서 라이브러리를 사용하는 것 라이브러리 코드 호출하여 작업 실행 가능 라이브러리 사용 단점 : 성능 향상이나 출력 형식 바꾸고자 할 때 세부사항 조절 불가하고, 라이브러리 취득하여 학습 및 설정에 시간과 비용이 든다는 점 디자인 패턴(Design Pattern) 비슷한 문제를 풀기 위한 범용적인 설계 해법. 개별 상황에 따라서 수정 가능 프레임워크 개발자는 일반적으로 타 응용 P/G 및 프레임워크 통해 공통 라이브러리 등 많은 SW 재사용. 개발 언어와 도메인에 따라 다름 2021. 3. 3.
[정보처리기사 필기 요약] 개발 환경 구축 및 형상 관리 * 개발환경 구축 : 개발환경 구성 시 요구사항에 대한 명확한 이해를 바탕으로 이에 적합한 개발 도구 및 개발 환경 구축이 이루어져야 함. * 개발 도구 분류 구현 도구 Eclipse, Visual Studio Code, IntelliJ, NetBeans 등 테스트 도구 xUnit, Spring Test 등 형상 관리 도구 CVS, Subversion, Git 등 빌드 도구 Ant, Maven, Gradle 등 * 개발 도구 기능 개발 도구 기능 구현 도구 (Implementation Tool) - 코드 작성과 디버깅, 수정 작업이 가능하며 구현해야 할 SW가 어떤 프로그래밍 언어로 개발되는지에 따라 적합한 구현 도구 선택하여 사용 테스트 도구 (Test Tool) - 코드 기능 검증과 개발 품질 높이기.. 2021. 3. 3.
[정보처리기사 필기 요약] 인덱스(INDEX) (3) * 인덱스 스캔 방식 구분 내용 비고 Index Range Scan - 인덱스 루트 블록에서 리프 블록까지 수직적으로 탐색한 후 리프 블록을 필요한 범위만 스캔 Index Full Scan - 수직적 탐색 없이 인덱스 리프 블록을 처음부터 끝까지 수평적으로 탐색하는 방식. - 대게는 데이터 검색 위한 최적 인덱스 없을 때 차선으로 선택 Index Unique Scan - 수직적 탐색만으로 데이터 찾는 스캔 방식 - Unigue 인덱스를 '=' 조건으로 탐색하는 경우 동작 Index Skip Scan - 인덱스 선두 컬럼이 조건 절에 빠졌어도 인덱스 활용하는 스캔 방식 Index Fast Full Scan - Index Full Scan보다 빠른 스캔 방식 - 인덱스 트리 구조 무시하고 인덱스 세그먼트 전.. 2021. 3. 3.