본문 바로가기

전체

(91)
애플리케이션 배포(애플리케이션배포) 운영환경의 특징 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. 조인 유형 조인은 관계형 데이터베이스의 가장 큰 장점이면서 대표적인..
뷰 활용(SQL_활용) 뷰 개요 뷰는 논리 테이블로서 사용자에게(생성 관점이 아닌 사용 관점에서) 테이블과 동일하다. 아래 그림에서 '테이블A'와 '테이블B'는 물리 테이블을 의미하고, '뷰C'는 두개의 테이블을 이용하여 생성한 뷰를 의미한다. 뷰는 '테이블A'와 같은 하나의 물리 테이블로부터 생성 가능하며, 다수의 테이블 또는 다른 뷰를 이용해 만들 수 있다. 위 그림의 뷰와 같은 결과를 만들기 위해 다음 장에서 배울 조인 기능을 활용할 수 있으나, 뷰가 만들어져 있다면 사용자는 조인 없이 하나의 테이블을 대상으로 하는 단순한 질의어를 사용할 수 있다. 뷰 활용 상세 1. 뷰 사용 뷰를 사용하는 주된 이유는 다음과 같은 단순한 질의어를 사용할 수 있기 때문이다. SELECT * FROM ; 뷰의 장점 논리적 독립성 제공 - ..
인덱스 활용(SQL_활용) 인덱스 개요 1. 인덱스 개념 인덱스는 데이터를 빠르게 찾을 수 있는 수단으로서, 테이블에 대한 조회 속도를 높여 주는 자료구조를 일컫는다. 인덱스는 다음 그림과 같이 테이블의 특정 레코드 위치를 알려주는 용도로 사용하는데, 이러한 인덱스는 자동으로 생성되지 않는다. PK 컬럼은 PK를 생성할 때 자동으로 인덱스가 생성된다. 즉, PK 컬럼은 PK를 생성할 때 자동으로 PK 인덱스가 생성된다. 예를 들어 위의 그림과 같은 테이블에서 일련번호를 기본키로 하는 경우, 일련 번호에 대한 인덱스는 자동으로 생성되나, 생년월일이나 이름을 기준으로 하는 인덱스는 자동으로 생성되지 않는다. 인덱스 사용 1. 인덱스 사용 주체 그림에서 '이름' 컬럼에 대한 인덱스가 생성되어 있다면 데이터를 빠르게 찾을 수 있다. 이때..
데이터 사전 검색(SQL_활용) 데이터 사전 1. 데이터 사전 개념 데이터 사전에는 데이터베이스의 데이터를 제외한 모든 정보가 있다. 데이터 사전의 내용을 변경하는 권한은 시스템이 가지며, 사용자에게는 읽기 전용 테이블 형태로 제공되므로 단순 조회만 가능하다. 데이터를 제외한 모든 정보라는 것은 데이터의 데이터를 의미한다. 따라서 데이터 사전은 메타데이터로 구성되어 있다고 할 수 있다. 2. 데이터 사전 내용 데이터 사전 안에 존재하는 메타데이터의 유형은 다음과 같다. 사용자 정보(아이디, 패스워드 및 권한 등) 데이터베이스 객체 정보(테이블, 뷰, 인덱스 등) 무결성 제약 정보 함수, 프로시저 및 트리거 등 데이터 사전 내용이 메타데이터라는 것은 모든 DBMS 제품에 공통이지만 데이터 사전을 구현하는 방법, 관리하는 방법 등의 차이로..