본문 바로가기

정보처리기사21

정보처리기사 실기 단답형 정리 #4 단답형 정리 #4 1. 상용 관계형 데이터베이스 시스템인 오라클 DBMS에서 SQL 언어를 확장하기 위해 사용하는 컴퓨터 프로그래밍 언어 중 하나로, Oracle 기반의 모든 프로시저 작성에 사용되며 표준 SQL의 확장 기능이 우수한 언어 답안 : PL/SQL(Procedural Language for SQL) 2. 서버 쪽 응용 프로그램 개발에 사용할 수 있는 자바스크립트 기반의 소프트웨어 플랫폼으로 작성 언어로 자바스크립트를 활용하며 Non-blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있다. 답안 : Node.js(노드JS) 3. 공격자가 패킷의 출발지 주소나 포트를 임의로 변경해 출발지와 목적지 주소를 동일하게 함으로써 공격 대상 컴퓨터의 실행속도를 느리게 하거.. 2021. 4. 14.
정보처리기사 실기 단답형 정리 #3 단답형 정리 #3 1. 기업이 재해로 타격을 입은 뒤 업무 운명을 어떻게 복구 재개하는 지에 대한 계획을 말하며, 재해 복구를 포함하는 더 넓은 개념이다. 답안 : BCP(Business Continuity Planning : 업무 연속 계획) 2. 개체-관계 다이어그램(ERD)의 기본 요소 3가지 답안 : 개체(Entity), 속성(Attribute), 관계(Relationship) 3. AS(자율시스템) 내에서 사용하는 거리벡터 알고리즘에 기초하여 개발된 통신규약으로, 최대 홉 수를 15개로 제한한 라우팅 프로토콜 답안 : RIP(Routing Information Protocol) 4. 컴퓨터상에 가상의 컴퓨터를 구동시키는 것으로 물리적인 하드웨어를 가상화하여, 하나의 물리적 하드웨어 상에서 여러 .. 2021. 4. 13.
정보처리기사 실기 단답형 정리 #2 단답형 정리 #2 1. 키 분배를 위해 얽힘 상태 광자 또는 단일 광자를 사용하여 양자통신을 위해 비밀키를 분배하고 관리하는 기술 답안 : 양자 암호키 분배(QKD : Quantum Key Distribution) 2. 기존 개발된 시스템의 기술적인 원리를 시스템의 코드나 데이터 등의 구조분석을 통해 도출해내는 작업 답안 : 역공학(Reverse Engineering) 3. 프로토콜(Protocol)의 기본 요소 3가지 답안 : 구문, 의미, 타이밍 4. 각 메시지에서 목적지까지 갈 수 있는 여러 경로 중 한 가지 경로를 설정해 주는 과정 답안 : 라우팅(Routing) 5. 특정한 기능을 수행하기 위해 독립적으로 개발, 보급하고 잘 정의된 인터페이스를 가지며 다른 부품과 조립되어 응용시스템을 구축하기 .. 2021. 4. 12.
정보처리기사 실기 단답형 정리 #1 단답형 정리 #1 1. HTTP, HTTPS, SMTP 등을 사용하여 XML 기반의 메시지를 네트워크 상태에서 교환하는 프로토콜 답안 : SOAP(Simple Object Access Protocol) 2. HTTP URI를 통해 자원을 명시하고, HTTP 메소드(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 생성, 조회, 갱신, 삭제 등의 명령을 적용할 수 있는 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처 답안 : REST(Representational State Transfer) 3. 다양한 네트워크를 상호 연결하는 컴퓨터 네트워크의 일부로서, 각기 다른 LAN이나 부분망 간에 정보를 교환하기 위한 경로를 제공하는 망 답안 : 백본망(Backbone Network) 4. .. 2021. 4. 11.
정보처리기사 실기 약술형 정리 #8 약술형 정리 #8 데이터 레코드를 빠르게 접근하기 위해 키값, 포인터 쌍으로 구성되는 데이터 구조 인덱스(Index) 새로운 컴퓨터 시스템이나 소프트웨어의 요구 사항을 좀 더 잘 이해하고 결정하기 위하여 전체적인 기능을 간략한 형태로 구현한 시제품 프로토타입(Prototype) SQL을 가장 빠르고 효율적으로 수행할 최적의 처리경로를 생성해 주는 데이터베이스 핵심모듈 옵티마이저(Optimizer) 자바 프로그램 안에서 SQL을 실행하기 위한 응용프로그램 인터페이스 JDBC(Java Database Connectivity) 데이터베이스를 자유롭게 사용하기 위하여 만든 응용프로그램의 표준방법 ODBC(Open Database Connectivity) 비즈니스 프로세스를 중심으로 기업 내 각종 애플리케이션 간.. 2021. 4. 8.
정보처리기사 실기 약술형 정리 #7 약술형 정리 #7 인터넷과 같은 분산환경에서 리소스에 대한 정보와 자원 사이의 관계-의미 정보를 기계(컴퓨터)가 처리할 수 있는 온톨로지 형태로 표현하고, 이를 자동화된 기계(컴퓨터)가 처리하도록 하는 지능형 웹이다. 시맨틱 웹(Semantic Web) 데이터들을 유사한 특성을 지닌 몇 개의 소그룹으로 분할하는 작업을 뜻한다. 다른 데이터 마이닝 작업을 위한 성행 작업으로서의 역학을 수행하는 경우가 많다. 군집화(Clustering) 공격자가 웹 서버의 취약점을 이용하여 악성 스크립트 구문을 삽입하고, 정상적인 사용자로 하여금 자신의 의지와는 무관하게 게시판 설정 변경, 회원 정보 변경 등 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격이다. CSRF(Cross-Site Request Forg.. 2021. 4. 7.
정보처리기사 실기 약술형 정리 #6 약술형 정리 #6 기업에서 운영되는 서로 다른 플랫폼(이기종) 및 애플리케이션들 간에 연계해서 관리 운영할 수 있도록 서비스 중심의 통합을 지향하는 아키텍처 또는 기술 ESB(Enterprise Service Bus) 모듈의 원시 코드를 오픈시킨 상태에서 원시 코드의 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계하는 방법 화이트박스 테스트(White Box Test) 하나의 트랜잭션이 데이터를 액세스하는 동안, 다른 트랜잭션이 그 데이터 항목을 액세스할 수 없도록 하는 제어하는 기법이다. 로킹(Locking)기법 프로젝트의 특성과 필요에 따라 소프트웨어 개발 프로세스, 기법, 산출물 등을 비즈니스적으로 또는 기술적인 요구에 맞도록 최적화하는 과정 및 방법론이다. 테일러링(Tailoring) 프로그.. 2021. 4. 6.
정보처리기사 실기 약술형 정리 #5 약술형 정리 #5 HTML의 단점을 보완한 인터넷 언어로, SGML의 복잡한 단점을 개선한, 특수한 목적을 갖는 마크업 언어 XML(Extensible Markup Language) 정책, 프로세스, 콘텐츠 구성, 와이어 프레임(UI, UX), 기능 정의, 데이터베이스 연동 등 서비스 구축을 위한 모든 정보가 담겨 있는 설계 산출물 스토리보드 소프트웨어 요구, 설계, 원시 코드 등의 저작자 외의 다른 전문가 또는 팀이 검사하여 오류를 찾아내는 공식적 검토 기법 인스펙션(Inspection) 업무 분석 결과로 도출된 실체(엔티티)와 엔티티 간의 관계를 도식화한 것이다. ERD(E-R Diagram) 웹상에서 구글, 마이크로소프트, 아마존 등에서 제공하는 환경의 네트워크, 보안, 데이터 저장소, 콘텐츠 딜리.. 2021. 4. 5.
정보처리기사 실기 약술형 정리 #1 약술형 정리 #1 애플리케이션을 실행하지 않고, 소스 코드에 대한 코딩 표준, 코딩 스타일, 코드 복잡도 및 남은 결함을 발견하기 위해 사용하는 도구 정적 분석 도구(Static Analysis Tools) 트랜잭션의 처리가 비정상적으로 종료되어 작업을 취소하고 실행 이전으로 되돌리는 명령어 ROLLBACK 재해 발생 시 데이터 손실을 수용할 수 있는 손실 허용 시점 RPO(Recovery Point Objective, 목표복구시점) 재해로 인하여 서비스가 중단되었을 때 서비스를 복구하는 데 걸리는 최대 허용시간 RTO(Recovery Time Objective, 목표복구시간) 시스템의 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로 의도적으로 정규화.. 2021. 4. 1.
XML(eXtiensible Markup Language) XML(eXtiensible Markup Language) XML • HTML의 단점을 보완한 인터넷 언어로, SGML의 복잡한 단점을 개선한, 특수한 목적을 갖는 마크업 언어 • 유니코드를 기반으로 다국어를 지원 • 사용자가 직접 문서의 태그를 정의할 수 있으며, 다른 사용자가 정의한 태그를 사용할 수 있다. 특징 유니코드 문자(Unicode Text) : 텍스트 데이터 형식으로 유니코드를 사용하여 전 세계 언어를 지원 XML 파서(Parser) : 대다수의 웹 브라우저가 해석을 위한 번역기(Parser)를 내장하고 있다. 마크업(Markup)과 내용(Content) • XML 문서의 문자들은 마크업과 내용으로 구분 • 일반적으로 마크업은 ""로 끝나는 태그(Tag)를 의미하고, 그 외의 문자열은 내용.. 2021. 3. 31.
연계 매커니즘 연계 매커니즘 연계 매커니즘 • 직접 연계 방식과 간접 연계 방식으로 분류 • 데이터의 생성 및 전송을 담당하는 송신 체계와 데이터 수신 및 운영 DB 반영을 담당하는 수신 체계로 구성 직접 연계 방식 • 중간 매개체가 없이 적접 연계하는 방식으로 연계 처리 속도가 빠르고 구현이 단순하다. • 개발 비용과 개발 기간이 짧다. • 송신 시스템과 수신 시스템 간의 결합도가 높아서 시스템 변경에 민감하다. • 보안을 위한 암•복호화 처리와 비즈니스 로직 구현을 인터페이스별로 작성해야 한다. • 전사 시스템 인터페이스에 대한 통합 환경 구축이 어렵다. 직접 연계 방식의 종류 DB LinkDB Link • DB에서 제공하는 DB Link 객체를 이용하는 방식 • 수신 시스템에서 DB Link를 생성하고 송신 시스.. 2021. 3. 30.
요구사항 확인 : 현행 시스템 파악 절차 현행 시스템 파악 절차 현행 시스템 파악 절차 1단계 시스템 구성 파악 시스템 기능 파악 시스템 인터페이스 파악 2단계 아키텍처 구성 파악 소프트웨어 구성 파악 3단계 하드웨어 구성 파악 네트워크 구성 파악 시스템 구성 파악 : 조직의 주요 업무를 담당하는 기간 업무와 이를 지원하는 지원 업무로 구분하여 기술 시스템 기능 파악 : 단위 업무 시스템이 현재 제공하는 기능들을 주요 기능과 하부 기능, 세부 기능으로 구분하여 계층형으로 표시 시스템 인터페이스 파악 : 단위 업무 시스템이 다른 단위 업무 시스템과 주고받는 데이터의 종류, 형식, 프로토콜, 연계 유형, 주기 등을 명시 아키텍처 구성 파악 : 기간 업무 수행에 어떠한 기술 요소들을 사용하고 있는지 최상위 수준에서 계층별로 표현한 아키텍처 구성도로 .. 2021. 3. 29.
객체 지향 프로그래밍 언어 객체 지향 프로그래밍 언어 객체 지향 프로그래밍 언어 객체 지향 언어는 객체의 개념을 중심으로 하는 컴퓨터 프로그래밍 언어. 데이터와 행동을 모두 통합하는 다양한 유형의 객체 조합으로 소프트웨어를 구성. 객체 지향 프로그래밍 언어의 종류 Java •분산언어이며, 멀티 스레딩 기능을 통해 여러 작업을 동시에 수행할 수 있는 프로그램을 작성할 수 있다. •보안기능으로 안전한 시스템을 개발 •캡슐화가 가능하고 재사용성 높음 C++ •C언어에 객체지향 개념을 적용한 언어로 C언어의 고급버전이라고 할 수 있다. •모든 문제를 객체로 모델링하여 표현. Smalltalk •순수 객체지향 언어이다. C++나 Java와 달리 원시 자료형이 없고, 모든 정수, 부동소수, 문자열, 블록을 포함한 모든 것이 객체며 클래스가 .. 2021. 3. 28.
절차적 프로그래밍 언어 절차적 프로그래밍 언어 절차적 프로그래밍 언어 일련의 처리 절차를 정해진 문법에 따라 순서대로 기술해 나가는 언어. 컴퓨터가 무엇을 해야하는지 이해할 수 있도록 각 단계는 체계적으로 순서대로 수행된다. 절차적 프로그래밍 언어의 종류 C 언어 •1972년 데니스 리치(Dennis Ritchie)에 의해 개발 •주로 운영 체제를 작성하기 위한 시스템 프로그래밍 언어로 개발 •메모리에 대한 낮은 수준의 접근 •C언어에는 라이브러리에 저장된 헤더 파일을 사용하여 특정 함수를 사용할 수 있는 것과 같이 일반적인 문제를 해결하기 위한 자체 라이브러리가 있다. •중간 수준의 언어로 어셈블리 언어 기능과 고급 언어 기능이 결합된 형태 •확장이 쉽다. •C언어로 작성된 프로그램은 변경 사항이 없거나 약간만 변경해도 모든.. 2021. 3. 27.
럼바우(Rumbaugh) 객체지향 분석 기법 럼바우(Rumbaugh) 객체지향 분석 기법 객체 지향 분석 기법 정의 소프트웨어 구성 요소를 그래픽 표기법을 이용하여 모델링하는 객체지향 분석 기법 모델링의 목적 물리적 엔티티를 빌드하기 전에 테스트 고객과의 소통 시각화 복잡성 감소 종류 객체 모델링(Object modeling) - 객체 다이어그램으로 표시. 가장 중요하며 가장 선행되는 단계 동적 모델링(Dynamic modeling) - 상태 다이어그램(상태도)를 이용 기능 모델링(Functional) - 자료흐름도를 이용하여 프로세서들의 처리 과정을 기술 럼바우 객체 지향 분석 절차 객체 모형 → 동적 모형 → 기능 모형 2021. 2. 27.
인터페이스 구현 검증 도구, 감시도구 인터페이스 구현 검증 도구, 감시도구 인터페이스 구현 검증 도구 인터페이스가 정상적으로 작동하는 지 확인하기 위한 도구 인터페이스 구현을 검증하기 위해서는 인터페이스 단위 기능 및 시나리오에 기반한 통합 테스트가 필요하다. 인터페이스 구현 검증 도구의 종류 xUnit : Java, C++, Net 등 다양한 언어를 지원 STAF : 서비스 호출 및 컴포넌트 재사용 등 다양한 환경을 지원 FitNesse : 웹 기반 테스트 케이스 설계, 실행, 결과 확인 등을 지원 NTAF : STAF와 FitNesse를 통합 Selenium : 다양한 브라우저 지원 및 개발 언어를 지원 watir : Ruby 기반 인터페이스 구현 감시 도구 APM(Application Performance Management)을 사용하.. 2021. 2. 25.
제품 소프트웨어 패키징 도구 제품 소프트웨어 패키징 도구 제품 소프트웨어 패키징 도구 패키징 작업 진행 시에 암호화/조안 기능을 고려하여 패키징할 수 있도록 도와준다. 제품 소프트웨어 패키징 도구의 개념 배포를 위한 패키징 시에 디지털 콘텐츠의 지적 재산권을 보호하고 관리하는 기능 제공. 안전한 유통과 배포를 보장하는 도구이자 솔루션. 패키징 도구 활용 시 고려 사항 반드시 내부 콘텐츠에 대한 암호화 및 보안을 고려한다. 추가로 다양한 이기종 연동을 고려한다. 사용자 편의성을 위한 복잡성 및 비효율성 문제를 고려한다. 제품 소프트웨어 종류에 적합한 암호화 알고리즘을 적용한다. 2021. 2. 23.
디자인 패턴(Design Pattern) 디자인 패턴(Design Pattern) 디자인 패턴 정의 어떤 분야에서 반족적으로 나타나는 문제점들에 대해 전문가들의 경험을 정리하여 해결방안을 제시한 패턴. 디자인 패턴을 구성하는 요소 문제 및 배경 사례 샘플코드 디자인 패턴의 종류 디자인 패턴은 크게 생성 패턴(Creational Patterns), 구조 패턴(Structural Patterns), 행동 또는 행위 패턴(Behavioral Patterns)로 나뉘고, 그 안에 여러가지의 패턴이 존재한다. ¤ 생성 패턴(Creational Patterns) 추상 팩토리 패턴(Abstract Factory) : 동일한 주제의 다른 팩토리를 묶어 준다. 빌더 패턴(Builder) : 생성(construction)과 표기(representation)를 분.. 2021. 2. 21.
코드의 종류 코드의 종류 코드의 정의 데이터를 사용 목적에 따라 식별, 분류, 배열하기 위하여 사용되는 숫자, 문자 또는 기호로 컴퓨터 처리에 효율적인 것을 선정 코드의 종류 순차 코드(Sequence Code) 자료의 발생순, 크기순 등 코드화 대상 항목을 일정한 순서에 의해 일련 번호를 부여하는 코드 블럭 코드(Block Code) 코드화할 대상이 갖는 공통 특징을 중심으로 항목들을 별도의 집단으로 분류하고, 한 집단 안에서 순서대로 코드를 부여 그룹 분류 코드(Group Classification Code) 대상 항목에 대한 분류 기준에 따라 대분류, 중분류, 소분류 등 각 분류별로 번호를 순서적으로 부여하는 코드 표의 숫자 코드(Significant Digit Code) 코드화 대상 항목의 중량, 면적, 용량.. 2021. 2. 20.
운영체제 분석 운영체제 분석 운영체제 개념 운영체제(OS : Operaing System)는 하드웨어와 소프트웨어 자원을 관리하고 컴퓨터 프로그램을 위한 공통 서비스를 제공하는 소프트웨어 운영체제의 종류 및 특징 1. 유닉스(Unix) 저작자 : IBM의 IBM AIX, HP(HP-UX), SUN(Solaris) 용도 : 멀티 태스킹과 다중 사용자를 지원, 대용량 처리 2. 윈도우(Windows) 저작자 : Microsoft 용도 : 개인용 PC, Tablet PC, 중소규모 서버 3. 리눅스(Linux) 저작자 : 리누스 토르발스(Linus Torvalds) 용도 : 중/대규모 서버 4. 안드로이드(Android) 저작자 : Google 용도 : Tablet PC, 스마트폰 5. iOS 저작자 : Apple 용도 :.. 2021. 2. 18.
분석자동화 도구 분석자동화 도구 CASE(Computer Aided Software Engineering) 도구 - 구조화된 요구 사항 명세서에 대해서는 자동화된 일관성 분석을 제공하는 CASE 도구를 활용 - 이러한 도구를 사용하면 요구사항 변경 사항을 추적하고 분석 및 관리할 수 있으며, 표준 준수 여부를 확인할 수 있다. 또 분산된 환경에서 다양한 이해관계자가 공동 작업할 수 있으며, 테스트 연계 및 결함 관리 등의 기능을 제공하기 때문에 시스템 구축 업무를 효율적으로 수행할 수 있다. CASE의 정의 소프트웨어 개발 과정의 일부 또는 전체를 자동화하기 위한 도구. 표준화된 개발 환경 구축 및 문서 자동화 기능을 제공. 작업 과정 및 데이터 공유를 통해 작업자간 커뮤니케이션을 증대. CASE의 기능 소프트웨어 생명.. 2021. 2. 16.