본문 바로가기

정보처리산업기사 필기 공부

(43)
운영체제 핵심 기능 파악(운영SW기초기술활용) 운영체제 핵심 기능 운영체제는 중앙 처리 장치, 메모리, 스토리지, 주변 기기 등을 적절히 관리한다. 특히 주기억 장치와 메모리, 메모리와 스토리지 사이의 속도차로 인해 여러가지 관리 기법들이 개발되었다. 초기에는 메모리 용량에 제한이 많아 소프트웨어 개발 시 메모리 관리가 매우 중요했으나, 최근에 들어서는 운영체제에서 대부분 자동으로 관리해 주므로 사용이 편리해졌다. 또 개발 및 시스템 환경이 클라우드화 되면서 자원에 대한 관리 노력이 많이 줄었다. 1. 메모리관리 메모리 안에는 다수의 프로그램들이 실행된다. 프로그램 실행 중 메모리가 꽉 차게 되면 시스템의 속도가 느려지고 때로는 시스템이 멈추는 현상이 발생한다. 따라서 프로그램의 실행이 종료될 때까지 메모리를 가용한 상태로 유지 및 관리하는 것을 메..
운영체제 기본 명령어 활용(응용SW기초기술활용) 운영체제 기본 명령어 운영체제를 제어하기 위한 방법은 CLI(Command Line Interface)와 GUI(Graphic User Interface)가 있다. CLI는 사용자가 직접 명령어를 입력하여 컴퓨터에게 명령을 내리는 방식이며, GUI는 마우스로 화면을 클릭하여 컴퓨터를 제어하는 방식이다. 초기 윈도즈는 운영체제를 CLI로 설치해야 했으나, 마우스 기반의 제어 시스템인 GUI가 개발되며 설치 또한 화면 위주로 하게 되어 사용 빈도가 줄었다. 그러나 오픈소스 기반의 개발환경이 급격히 늘어나며 GitHub[분산 버전관리 툴인 깃을 사용하는 프로젝트를 지원하는 웹 호스팅 서비스] 등의 사용이 중요해지게 되었다. CLI는 Git과 GitHub를 통한 소스 관리에 유용하므로 기본 개념과 명령어들을 숙..
운영체제의 특징 파악(응용SW기초기술활용) 운영체제의 특징 운영체제는 사용자로 하여금 컴퓨터의 하드웨어를 보다 쉽게 사용할 수 있도록 인터페이스를 제공해 주는 소프트웨어이다. 하드웨어는 컴퓨터의 장치를 제어하고 데이터를 처리하는 중앙 처리 장치, 데이터를 저장하는 기억 장치, 외부와의 통신을 담당하는 통신 장치 그리고 데이터 입력과 출력을 담당하는 입출력 장치 등으로 구분될 수 있다. 즉, 운영체제는 사용자 편의성을 위한 인터페이스인 동시에 다양한 자원을 관리하는 자원 관리자이다. 윈도즈 계열 운영체제의 특징 마이크로소프트사에서 1995년에 윈도즈95를 발표한 이후 98, ME, XP, 7, 8, 10 등의 버전으로 지속 출시되고 있다. 사용자가 컨트롤하는 마우스의 아이콘을 이용하여 소프트웨어를 실행시키는 편리한 인터페이스를 지원하는 것이 특징이..
애플리케이션 배포(애플리케이션배포) 운영환경의 특징 1. 네트워크 관점 운영환경은 일반적으로 인터넷망과 분리되어 직접적인 연결을 혀용하지 않고 있으며, 별도의 내부망을 구성하고 방화벽을 통해서 인가된 IP를 통해서만 접근을 허용한다. 기업의 운영환경, 서버에 접근하기 위해서는 사전에 방화벽 허용 신청을 통해서 배포 서버의 IP가 접근 가능하도록 설정되어야 한다. 2. 계정 관리 부문 기업의 운영환경은 접근 계정을 별도 IP관리 시스템을 통해서 관리하고 있으며, 정부의 보안 관리 기준에 따라 정기적으로 패스워드를 변경하는 형태로 관리된다. 그러므로 애플리케이션 배포 전에 운영 서버에 접근 가능한 계정, 프로토콜, 접근 디렉터리를 정해서 신청해야 하며, 아이디, 패스워드가 소스코드 또는 빌드 스크립트상에 하드코딩되지 않도록 주의해야 한다. 3..
애플리케이션 빌드(애플리케이션배포) 지속적인 통합(CI: Continuous Integration) 환경 애플리케이션 개발 과정 중 지속적으로 개발된 프로그램을 통합, 빌드, 배포하여 애플리케이션의 개발 내역을 검증, 테스트할 수 있는 환경을 말한다. 통합 빌드 과정 중 테스트 도구, 소스코드 품질 측정도구 등과 연계할 수 있으며, 자동화된 스케줄 관리를 통해서 지속적이고 반복적인 프로그램 빌드, 테스트를 진행할 수 있다. 1. 빌드 도구 애플리케이션의 배포 단위, 형식에 따라 소스코드를 컴파일, 패키징하며, 배포하는 스크립트를 제공하고 수행하는 도구이다(Ant, Maven 등) 2. 테스트 도구 개발된 소스코드를 테스트할 수 있는 테스트 코드를 작성, 동작시킬 수 있는 도구로 통합 빌드 수행시 연결할 수 있다.(Junit, DBUnit,..
애플리케이션 소스 검증(애플리케이션배포) 소스코드 검증도구 1. 검증도구의 구분 소스코드 검증도구는 구현된 SW를 실행하지 않고 테스트하는 정적 테스트 도구와 구현된 SW를 실행하여 동작을 보면서 테스트하는 동적 테스트 도구로 구분한다. 2. 소스코드 검정도구의 용도 1) 정적 테스트 도구 사용 목적 정적 테스트 도구는 테스트하기 전에 코딩 오류, 성능 저하, 보안 취약점 등의 결함을 조기에 발견할 수 있도록 지원한다. 이렇게 함으로써 개발의 생산성을 향상시키고, 운영환경에서 프로그램의 품질 향상을 제고하며, 정량적인 품질 관리시스템을 구축하게 한다. 2) 동적 테스트 도구 사용 목적 테스트 미수행 코드를 확인하고 분기문 등 특정 유형의 코드 구조가 충분히 테스트 되었는지를 확인하여 추가적인 테스트를 진행함으로써 애플리케이션의 안정성을 제고하고..
애플리케이션 배포환경 구성(애플리케이션배포) 소스코드 필드 과정의 이해 빌드는 소스코드를 실행할 수 있는 상태로 변환하는 과정을 말하며, 프로그래밍 언어의 유형에 따라 빌드 과정이 상이하다. 1. 컴파일 언어(C, C++ 등) 컴파일 언어는 기계어로 바로 변환되어 실행되기 때문에 가장 속도가 빠르고 보안에 유리하다. 하지만 소스 변경 시마다 컴파일 과정을 통해서 빌드 작업을 수행하기 때문에 빌드 과정이 오래걸린다. 빌드 과정은 2. Byte Code 언어(Java, C# 등) Byte Code 언어는 컴파일의 결과물이 실행파일이 아닌 'class'라는 바이트 코드 파일로 생성되고 가상 실행환경인 JRE(Java Runtime Environment), CLI(Common Language Infrastructure)에서 한 줄씩 실행하는 방식으로 빌드..
다중 테이블 검색(SQL_활용) 다중 테이블 검색 방법 관계형 데이터베이스는 데이터의 중복을 최소화하기 위해 데이터를 분해하여 저장하고 통합하여 사용한다. 데이터를 분해하는 방법으로 정규화 기법이 사용되며, 통합하는 기법으로 다중 테이블에 대한 검색이 사용된다. 조인 - 두개의 테이블을 결합하여 데이터를 추출하는 기법 서브쿼리 - SQL문 안에 포함된 SQL문 형태의 사용 기법 집합 연산 - 테이블을 집합 개념으로 조작하는 기법 조인 1. 조인 개념 조인은 결합을 의미하며, 관계형 데이터베이스에서의 조인은 교집합 결과를 가지는 결합 방법을 의미한다. 교집합이 되는 공통점은 다양한 관점에서 정의될 수 있다. 여기서 그 관점을 정의하는 것이 바로 조인의 조건이 된다. 2. 조인 유형 조인은 관계형 데이터베이스의 가장 큰 장점이면서 대표적인..