반응형

자격증 47

정보처리기사 4과목 프로그래밍 언어 활용 (운영체제OS 기능과 종류 / Windows 주요특징)

운영체제(OS; Operating System) - 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임 사용자 > 응용 프로그램 > 유틸리티 > 운영체제(OS) > 하드웨어 유틸리티 : 운영체계에서 제공되는 것 외에 추가의 기능을 제공하는 작은 프로그램 운영체제의 목적 목적 설명 처리 능력 (Throughput) 일정시간 내에 시스템이 처리하는 일의 양 반환 시간 (Turn Around Time) 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간 사용 가능도 (Availability) 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도 신뢰도 (Reliability) 시스템이 주어진 문제를 정확하게 ..

정보처리기사 4과목 프로그래밍 언어 활용 (절차적 프로그래밍 언어와 객체지향 프로그래밍 언어)

절차적 프로그래밍 언어 일련의 처리 절차를 정해진 문법에 따라 순서대로 기술해나가는 언어 프로그램이 실행되는 절차(Procedure)를 중요시 한다. 장점 단점 - 컴퓨터의 처리 구조와 유사하여 실행 속도가 빠름 - 같은 코드를 복사하지 않고 다른 위치에서 호출하여 사용 가능 (이식성 Good) - 모듈 구성이 용이 (구조적인 프로그래밍 가능) - 프로그램 분석이 어려움 - 유지 보수나 코드 수정의 어려움 언어 특징 C - 1972년 미국 벨 연구소의 데니스 리치에 의해 개발됨 - 시스템 프로그래밍 언어로 널리 사용됨 - 자료의 주소를 조작할 수 있는 포인터 제공 - 고급 프로그래밍 언어, 저급 프로그래밍 언어의 특징을 모두 갖춤 - UNIX의 일부가 C언어로 구현됨 - 컴파일러 방식의 언어 - 이식성이..

정보처리기사 2과목 소프트웨어 개발 ('동적 테스트' 화이트박스 테스트와 블랙박스 테스트 정리)

프로그램 실행 여부에 따른 테스트 정적 테스트 프로그램을 실행하지 않고 명세서나 소스 코드를 대상으로 분석하는 테스트 ex) 워크 스루, 인스펙션, 코드 검사 동적 테스트 프로그램을 실행하여 오류를 찾는 테스트 ex) 화이트박스 테스트, 블랙박스 테스트 테스트 기반에 따른 테스트 명세 기반 테스트 사용자의 요구사항에 대한 명세를 빠짐없이 테스트 케이스로 만들어 구현하고 있는지 확인하는 테스트 ex) 동등 분할, 경계값 분석 (블랙박스 테스트) 구조 기반 테스트 소프트웨어 내부의 논리 흐름에 따라 테스트 케이스를 작성하고 확인하는 테스트 ex) 구문 기반, 결정 기반, 조건 기반 (화이트박스 테스트) 경험 기반 테스트 테스터의 경험을 기반으로 수행하는 테스트 ex) 에러 추정, 체크 리스트, 탐색적 테스팅..

정보처리기사 2과목 소프트웨어 개발 (버전 관리 도구(클라이언트/서버 방식 SVN과 분산 저장소 방식 Git), 깃허브 차이점)

버전 관리가 필요한 이유 개발자 간의 협업을 위해 전체 개발 소스를 공유하면서 개발 파트를 나눌 수 있고 같은 모듈을 개발하더라도 소스를 공유하며 개발할 수 있기 때문이다. 공유 폴더 방식 버전 관리 자료가 로컬 컴퓨터의 공유 폴더에 저장되어 관리되는 방식 개발자들은 개발이 완료된 파일을 약속된 공유 폴더에 매일 복사함 담당자는 공유 폴더의 파일을 자기 PC로 복사해 컴파일 한 후 이상 유무 확인 파일의 변경 사항을 데이터베이스에 기록하며 관리 클라이언트/서버 방식 버전 관리 자료가 중앙 시스템(서버)에 저장되어 관리되는 방식 ex) CVS (Concurrent Versions System, 동시 버전 시스템), SVN (Subversion) 서버의 자료를 개발자별로 자신의 PC(클라이언트)로 복사해 작..

정보처리기사 2과목 소프트웨어 개발 (형상관리)

형상 관리 소프트웨어 패키징의 형상 관리(SCM; Software Configuration Management) 형상 관리는 소프트웨어의 개발 과정에서 소프트웨어의 변경 사항을 관리하기 위해 개발된 일련의 활동 소프트웨어 개발의 전 단계에 적용되는 활동이며, 유지보수 단계에서도 수행 형상 관리의 중요성 소프트웨어의 변경 사항을 체계적으로 추적하고 통제 가능 제품 소프트웨어에 대한 무절제한 변경 방지 진행 정도를 확인하기 위한 기준으로도 사용 제품 소프트웨어의 형상 관리 역할 (20년 3회 기출문제) 동일한 프로젝트에 대해 여러 개발자 동시 개발 가능 형상 관리를 통해 이전 리비전이나 버전에 대한 정보에 접근 가능하여 배포본 관리에 유용 불필요한 사용자의 소스 수정 제한 기능 형상 식별 형상 관리 대상에 ..

정보처리기사 2과목 소프트웨어 개발 (소프트웨어 패키징 고려사항과 작업 순서)

소프트웨어 패키징 모듈별로 생성한 실행 파일들을 묶어 배포용 설치 파일을 만드는 것 개발자가 아닌 사용자를 중심으로 진행 고려사항 운영체제(OS), CPU, 메모리 등에 필요한 최소 환경을 정의 하드웨어와 함께 관리될 수 있도록 Managed Service 형태로 제공 다양한 사용자의 요구사항 반영 패키징 작업 순서 기능 식별 모듈화(Modularity) - 기능 단위로 분해하고 추상화 되어 재사용 및 공유가 가능한 수준으로 만들어진 단위 빌드 진행 빌드(Build) : 소스코드 파일을 실행 가능한 소프트웨어 산출물로 만드는 일련의 과정, 그에 대한 결과물 사용자 환경 분석 패키징 및 적용 시험 패키징 변경 개선 배포 제품 소프트웨어 패키징 도구 활용시 고려사항 패키징 시 사용자에게 배포되는 소프트웨어이..

정보처리기사 2과목 소프트웨어 개발 (개발지원 도구와 빌드 자동화 도구)

통합 개발 환경(IDE; Integrated Development Environment) 개발에 필요한 환경, 즉 편집기(Editor), 컴파일러(Compiler), 디버거(Debugger) 등 다양한 툴을 하나의 인터페이스로 통합해 제공하는 것을 의미함 이클립스(Eclipse) (IBM), 비주얼 스튜디오(Visual Studio) (Microsoft), 엑스 코드(X Code) (Apple) 안드로이드 스튜디오(Android Studio) (Google), IDEA (JetBrains) 빌드 자동화 도구 소스코드를 소프트웨어로 변환하는 과정에 필요한 전처리 (Preprocessing), 컴파일 (Compile) 등 작업들을 수행하는 소프트웨어 Ant (Another Neat Tool) 아파치 소프트웨..

정보처리기사 2과목 소프트웨어 개발 (절차형 SQL(프로시저 / 트리거), 쿼리 성능 최적화 (APM / 옵티마이저))

절차형 SQL C, JAVA 등의 프로그래밍 언어와 같이 연속적인 실행이나 분기, 반복 등의 제어가 가능한 SQL 일반적인 프로그래밍 언어에 비해 효율이 떨어진다. 연속적인 작업들을 처리하는데 적합하다. BEGIN ~ END 형식으로 작성되는 Block 구조로 기능별 모듈화 가능 종류 프로시저 (Procedure) 호출을 통해 실행되어 미리 저장해놓은 SQL 작업 수행, 처리 결과는 한 개 이상의 값 또는 반환을 아예 하지 않음 트리거 (Trigger) 입력, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업을 자동 수행 사용자 정의 함수 프로시저와 유사하게 SQL을 사용해 일련의 작업을 연속적으로 처리 (종료 시 RETURN 예약어를 사용해 처리 결과를 단일값으로 변환) 테스트와 디버깅 테스트 전 구..

정보처리기사 2과목 소프트웨어 개발 (선형 구조(Linear Structure) / 비선형 구조 (Non-Linear Structure))

자료 구조의 분류 선형 구조 (Linear Structure) 배열 (Array) - 정적인 자료 구조로 기억장소의 추가가 어렵고 메모리 낭비 발생 - 첨자를 이용 - 반복적인 데이터 처리 작업에 적합한 구조 - 데이터마다 동일한 이름의 변수를 사용해 처리가 간편 스택 (Stack) - 리스트의 한쪽 끝으로만 자료의 삽입, 삭제 작업이 이뤄지는 자료 구조 - LIFO (Last In First Out) / FILO (First In Last Out) 순서 완전히 꽉 찼을 때 Overflow 상태 완전히 비어 있으면 Underflow 상태 삽입(Push)과 제거(Pop) 모두 Top라는 스택의 한쪽 끝에서만 발생 LIFO : 마지막으로 들어온 값이 처음으로 나가는 것 FILO : 처음 들어온 값이 마지막에..

정보처리기사 1과목 소프트웨어 설계 (미들웨어 솔루션)

미들웨어 솔루션 운영체제(OS)와 해당 운영체제에서 실행되는 응용 프로그램 사이에서 운영체제가 제공하는 서비스 이외에 추가적인 서비스를 제공하는 소프트웨어 DB (Database) 클라이언트에서 원격의 데이터베이스와 연결하기 위한 미들웨어, 2-Tier* 아키텍처 2-Tier : 데이터베이스 미들웨어를 사용한 아키텍쳐 (클라이언트가 직접 서버의 DB에 접속해 자원 활용) RPC (Remote Procedure Call, 원격 프로시저 호출) 응용 프로그램의 프로시저를 사용해 원격 프로시저를 로컬 프로시저처럼 호출하는 방식의 미들웨어 MOM (Message Oriented Middleware, 메시지 지향 미들웨어) 메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨어 TP-Monitor (Transa..

정보처리기사 1과목 소프트웨어 설계 (인터페이스 요구사항 검증 / 처리유형과 통신유형)

요구사항 검증 (Requirements Verification) 인터페이스 요구사항 검토 계획 수립 → 검토 및 오류 수정 → 베이스라인 설정 요구사항 검증 방법 동료 검토 (Peer Review) 요구사항 명세서 작성자가 내용을 직접 설명하고 동료들이 이를 들으면서 결함을 발견하는 검토 방법 워크 스루 (Walk Through) 검토회의 전에 요구사항 명세서를 미리 배포하여 사전 검토 후, 짧은 검토 회의를 통해 결함을 발견하는 검토 방법 인스펙션 (Inspection) 제 3자가 검토하는 방법 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 확인하면서 결함을 발견하는 검토 방법 인터페이스 요구사항 검증 주요 항목 완전성 (Completeness) 사용자의 모든 요구사항이 누락되지 않고 완전하게 ..

정보처리기사 1과목 소프트웨어 설계 (뒷목을 잡게 만드는 디자인 패턴 외우는 꿀팁)

정보처리기사 시험 1과목 소프트웨어 설계에서 비전공자인 나의 뒷목을 잡을 만한 내용은 [애플리케이션 설계] - [디자인 패턴] 부분이라고 생각한다. 혹시 나와 같은 사람이 이 글을 만난다면 조금이라도 도움이 되고싶다. '확실히 알아서 설명한다' 보다는 조심스럽게 내가 이해하려고 노력한 과정을 공유하고자 한다. 디자인 패턴 아키텍처 패턴이 디자인 패턴보다 상위 수준의 설계에 사용 서브 시스템에 속하는 컴포넌트들과 그 관계를 설계하기 위한 참조 모델 생성 패턴 (Creational Pattern) - 기존 코드의 유연성과 재사용을 증가시키는 다양한 객체 생성 매커니즘들을 제공 추상 팩토리 (Abstract Factory) 서로 연관, 의존하는 객체들을 그룹으로 생성해 추상적으로 표현 빌더 (Builder) ..

정보처리기사 1과목 소프트웨어 설계 (정처기 필기시험 때 무조건 알아야 하는 기본 용어 정리)

기본적인 내용이라 당연히 알고 있다 생각해도 시험 풀 때 갑자기 헷갈린다면? 내가 고른 정답에 확신이 없다면? 이런 것도 헷갈려하는 내 자신을 원망하기 싫다면 필수적으로 알아야 한다. 객체 (Object) 독립적으로 식별 가능한 이름을 갖고 있다. 객체와 객체는 상호 연관성에 의한 관계가 형성 객체는 행위의 특징을 나타내며, 객체가 반응할 수 있는 메세지의 집합을 행위(연산, Method)라고 한다. 클래스 (Class) 하나 이상의 유사한 객체들을 묶어 하나의 공통된 특성을 표현한 것 공통된 속성과 연산(행위)를 갖는 객체의 집합 객체지향 프로그램에서 유사한 객체들을 묶어 공통된 특성을 표현한 데이터를 추상화하는 단위 각각의 객체들이 갖는 속성과 연산(Method)을 정의하고 있는 틀 Super Cla..

정보처리기사 1과목 소프트웨어 설계 (소프트웨어 아키텍처 패턴 종류)

소프트웨어 아키텍처 사용자의 비기능적 요구사항으로 나타난 제약 반영 기능적 요구사항을 구현하는 방법을 찾는 해결 과정 모듈화(Modularity) - 시스템 기능들을 모듈 단위로 나눠 소프트웨어의 성능 및 재사용성을 향상시키는 것 추상화(Abstraction) - 전체적이고 포괄적인 개념을 설계한 후 차례대로 세분화하여 구체화 시키는 것 과정 추상화 (자세한 수행과정 정의 없이 전반적인 흐름만 파악) 데이터 추상화 (데이터의 세부적인 속성이나 용도를 정의하지 않고 데이터 구조를 대표하는 것으로 대체 제어 추상화 (이벤트 발생의 정확한 절차나 방법을 정의하지 않고 대표하는 표현으로 대체) 단계적 분해(Stepwise Refinement) - Niklaus Wirth에 의해 제안된 하향식 설계 전략 (상세한..

정보처리기사 1과목 소프트웨어 설계 (User Interface / UI 설계 도구)

사용자 인터페이스(UI; user Interface) 사용자가 사용하는 서비스나 제품의 화면 안의 디자인, 레이아웃 등 모든 것을 의미 UX/UI 관련 내용을 정리하려다가 글의 목적과 멀어지는 것 같아 괜찮게 정리된 링크만 걸어두고 계속 이어나가도록 하겠다. UX/UI 디자인 정의, 특징, 차이점 완벽하게 파악해봅시다 UX/UI의 정의와 특징, 차이점, 좋은 UX 디자인을 위한 3가지 원칙에 대해 알아봅니다. modulabs.co.kr UI 구분 CLI (Command Line Interface) 텍스트 형태로 이루어진 인터페이스 GUI (Graphical User Interface) 마우스로 선택해 작업을 하는 그래픽 환경의 인터페이스 NUI (Natural User Interface) 사용자의 말이나..

반응형