본문 바로가기

정보처리기사

(42)
IV. 프로그래밍 언어 활용 - 서버프로그램 구현 (4) (1) 배치 프로그램 1. 배치 프로그램의 개념 - 일련의 작업들을 반복수행하거나 정해진 규칙에 따라 일괄 처리하는 방법 2. 배치 프로그램의 필수요소 - 이벤트 배치, 온디맨드 배치, 정기 배치 3. 배치 스케쥴러 1) 개념 - 일괄처리를 위해 주기적으로 발생하거나 반복적으로 발생하는 작업을 지원하는 도구 2) 종류 - 스프링 배치, 쿼츠 스케쥴러
IV. 프로그래밍 언어 활용 - 서버프로그램 구현 (3) (1) 보안 취약성 식별 1. 보안 취약성의 개념 - 정보 시스템에 불법적인 사용자의 접근을 허용할 수 있는 위협 2. 침투 테스트 - 위험한 코드 삽입, SQL 삽입, 매개변수화 등의 부적절한 보안 조치를 식별하고 평가 - 절차 : 정찰 ,탐색, 접근 권한 취득, 액세스 유지, 추적 방지 3. 취약성 공격 - 공격자가 원하는 결과를 얻기 위한 행위. 랜섬웨어도 포함됨. 4. 취약성에 따른 공격 기법 - 서비스 거부(Dos), 코드 실행, 버퍼 오버플로우, 정보 수집, 권한 상승, SQL인젝션, 크로스 사이트 스크립팅(XSS) 등 5. 시큐어 코딩 - 개발자의 실수, 논리적 오류 등으로 인해 SW의 보안 취약점을 최소화하고 안전한 소프트웨어를 개발하기 위한 활동 (2) API 1. API (Applica..
IV. 프로그래밍 언어 활용 - 서버프로그램 구현 (2) (1) 재사용 1. 재사용의 개념 - 개발 시간 및 비용 절감을 위하여 검증된 기능을 파악하고 재구성하여 시스템에 응용하기 위한 최적화 작업 2. 재사용의 유형 - 함수/객체 재사용, 컴포넌트 재사용, 애플리케이션 재사용 3. 재사용 프로그래밍 기법 - 객체지향, 제네릭, 자동, 메타 프로그래밍 (2) 모듈화 1. 모듈화 개념 - 프로그램 개발 시 생산성과 최적화, 관리에 용이하게 기능 단위로 분할하는 기법 2. 모듈화 장점 - 효율적 관리 및 성능 향상 - 용이성 증대와 복잡성 감소 - 인터페이스 단순화 - 유지보수 용이 3. 모듈화 원리 - 분할과 정복, 정보 은닉, 데이터 추상화, 모듈 독립성 4. 모듈화 측정 지표 - 응집도, 결합도 5. 모듈화 유형 - 모듈, 컴포넌트, 서비스, 함수, 매크로,..
IV. 프로그래밍 언어 활용 - 서버 프로그램 구현 (1) (1) 개발 환경 구축 1. 개발환경 구축의 개념 - 개발환경 구축시 도구, 사용 편의성, 라이선스 등 내용 파악 필요 2. 개발 도구의 분류 - 빌드 도구, 구현 도구, 테스트 도구, 형상 관리 도구 3. 하드웨어 구성요소 1) 하드웨어 개발환경 - 서버 하드웨어 개발환경 : 웹 서버, 웹 애플리케이션 서버, 데이터베이스 서버, 파일 서버 - 클라이언트 하드웨어 개발환경 : 클라이언트 프로그램, 웹 브라우저, 모바일 앱, 모바일 웹 2) 소프트웨어 개발환경 - 운영체제, 미들웨어, DBMS 3) 형상 관리 - 개념 : 소프트웨어 개발을 위한 전체 과정에서 발생하는 모든 항목의 변경사항 관리활동 - 목적 : 제품의 무결성과 변경에 대한 추적성 확보 - 절차 : 식별, 통제, 감사, 기록 4. 개발환경 구..
III. 데이터베이스 구축 - 논리 데이터베이스 설계 (1) (1) 관계 데이터 모델 1. 관계 데이터 모델 (Relationship Data Model) 개념 - 실세계 데이터를 행과 열로 구성된 테이블 형태로 구성된 데이터 모델 2. 관계 데이터 모델의 구성 - 릴레이션, 튜플, 속성, 카디널리티, 차수, 스키마, 인스턴스 - 릴레이션 : 행과 열로 구성된 테이블 - 튜플 : 릴레이션의 행 - 속성 : 릴레이션의 열 - 카디널리티 : 튜플(행)의 개수 - 차수 : 속성(열)의 개수 - 스키마 : 릴레이션이 어떻게 구성되는지, 어떤 정보를 담고 있는 지에 대한 구조 - 인스턴스 : 테이블에 실제 저장된 데이터의 집합 (2) 관계 데이터 언어 1. 관계 대수 1) 관계 대수 개념 - 관계형 데이터베이스에서 원하는 정보를 어떻게 유도하는가를기술하는 절차적 정형 언어..
III. 데이터베이스 구축 - SQL 활용 (2) (1) 뷰 1. 뷰의 개념 - 논리 테이블로서 사용자 관점에서 테이블과 동일하다 2. 뷰의 특징 - 물리적으로 구현되어 있지 않다 - 테이블로부터 유도된 테이블로써 기본테이블과 같은 형태의 구조 - 데이터의 논리적 독립성 제공 가능 - 관리가 용이하고 명령문이 간단 - 데이터를 안전하게 보호하는 효율적인 기법 3. 뷰의 목적 - 단순 질의어를 사용 할 수 있다 - 장점 - 논리적 독립성 제공, 사용자 데이터 관리 용이, 데이터 보안 용이 - 단점 - 뷰 자체 인덱스 증가, 뷰 정의 변결 불가, 데이터 변경 제약 존재 4. 뷰 생성 - CREATE VIEW 뷰 이름 컬럼 목록 AS 데이터 조회 쿼리; 5. 뷰 삭제 / 변경 - 뷰 정의 자체를 변경하는 것은 불가 - 뷰 이름이나 쿼리문을 변경하는 수단은 제..
III. 데이터베이스 구축 - SQL 활용 (1) (1) 데이터 정의어 (DML) 1. 데이터 정의어 (DML : Data Definition Language) 개념 - 데이터를 정의하는 언어. 테이블을 생성, 변경, 삭제, 이름을 바꾸는 명령어들을 칭함 2. DDL 대상 - 도메인, 스키마, 테이블, 뷰, 인덱스 3. DDL 명령어 - CREATE(생성), ALTER(수정), DROP, TRUNCATE(삭제) 4. 제약 조건 적용 - 테이블 생성시 부적절한 자료가 입력되는 것을 방지 하기 위해 사용. 종속성이 존재할 경우 테이블 삭제 등을 방지 (2) 관계형 데이터 모델 1. 관계형 데이터 모델 개념 - 보편적인 데이터 모델로 계층모델과 망 모델의 복잡한 구조를 단순화 시킨 모델 (3) 트랜잭션 1. 트랜잭션 (Transaction)의 개념 - 논리적..
III. 데이터베이스 구축 - SQL 응용 (2) (1) 데이터 조작어 (DML) 1. 데이터 조작어 (DML : Data Manipulation Language) 개념 - 데이터 베이스에 저장된 자료들을 입력, 수정, 삭제, 조회하는 언어 2. DML 유형 - SELECT : 데이터 조회 - INSERT : 데이터 생성 - DELECT : 데이터 삭제 - UPDATE : 데이터 변경 (2) 데이터 제어어 (DCL) 1. 데이터 제어어 (DCL : Data Control Language) 개념 - 데이터 보안, 무결성 유지, 병행 제어, 회복을 위해 사용하는 제어용 언어 2. 데이터 제어어의 유형 - GRANT, REVOKE (사용 권한 부여, 사용 권한 취소)