Programming/정처기

166. 소프트웨어 개발 방법론 - 목적 : 소프트웨어의 생산성과 품질 향상. 1) 구조적 방법론 : 정형화된 분석 절차. 문서화 - 타당성 검토 -> 계획 -> 요구사항 -> 설계 -> 구현 -> 시험 -> 운용/유지보수 2) 정보공학 방법론 : 정형화된 기법들을 상호 연관성 있게 통합 및 적용 - 정보 전략 계획 수립 -> 업무 영역 분석 -> 업무 시스템 설계 -> 업무 시스템 구축 - ERD 사용 - 대규모 정보 시스템 구축하는데 적합 3) 객체지향 방법론 : 개체 - 객체 - 조립 - 요구분석 -> 설계 -> 구현 -> 테스트 및 검증 -> 인도 - 패키지 다이어그램, 배치 다이어그램, 상태 전이도 4) 컴포넌트 기반 방법론 (CBD) : 컴포넌트 조합 > 하나의 앱 - 개발 준비 -> 분석 -..

157. 스케줄링 : 프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업. - 장기 스케줄링, 작업 스케줄링, 상위 스케줄링: 어떤 프로세스가 시스템의 자원을 차지할 수 있도록 할 것인가를 결정하여 준비상태 큐로 보내는 작업. - 중기 스케줄링 : 어떤 프로세스들이 CPU를 할당받을 것인지 결정 - 단기 스케줄링, 프로세서 스케줄링, 하위 스케줄링 : 프로세스가 실행되기 위해 CPU를 할당받는 시기와 특정 프로세스를 지정하는 작업. * 문맥 교환(Context Switching) : 하나의 프로세스에서 다른 프로세스로 CPU가 할당되는 과정에서 발생. 새로운 프로세스에 현재 CPU가 할당된 프로세스의 상태정보 저장 & 새로운 프로세스의 상태정보 저장 > CPU를 할..

149. 운영체제의 개념 : 컴퓨터 시스템의 자원들을 효율적으로 관리하며 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임. 사용자 응용 프로그램 유틸리티 운영체제 하드웨어 1) 목적 : 처리 능력(Throughput) 향상, 반환 시간(Turn Around Time) 단축, 사용 가능도(Availability) 향상, 신뢰도(Reliability) 향상 2) 구성 - 제어 프로그램 (감.작.데. 깜짝데이트) 감시 프로그램 작업 관리 프로그램 데이터 관리 프로그램 - 처리 프로그램 : 제어 프로그램의 지시를 받아 사용자가 요구한 문제를 해결하기 위한 프로그램 언어 번역 프로그램 : 컴파일러, 어셈블러, 인터프리터 서비스 프로그램 : 분류/병합, 유틸리티 프로그램..

140. Python의 기초 1) 기본 문법 - 자료형 선언이 없다 - 세미콜론 필요없다 - 변수에 연속하여 저장 가능 - if, for와 같은 코드 블록 포함 명령문 작성시 코드블록은 콜록(:)과 여백으로 구분. - 같은 수준의 코드들은 반드시 동일한 여백 2) 입출력 함수 - input() : 키보드로 입력받아 문자열로 취급되어 저장. - print() a = intput('입력하세요.') x, y = input().split('-') print(출력값1, 출력값2, ..., sep=분리문자, end=종료문자) print(82, 24, sep='-', end=',') //82-24, print(서식문자열 % (출력값1, 출력값2,...)) print('%-8.2f' % 200.20) - 형변환 변수 ..

132. 데이터 타입 : 변수에 저장될 데이터의 형식을 나타내는 것. - 정수타입(Integer) - 부동 소수점 타입 (Floating Point) - 문자 타입 (Character) - 문자열 타입 (Character String) - 불린 타입 (Boolean) - 배열 (Array) 1) C/C++ - 구조체 정의 : struct 사용 데이터 타입 크기 문자 char 1 Byte 부호없는 문자형 unsigned char 1 Byte 정수 short 2 Byte int 4 Byte long 4 Byte long long 8 Byte 부호없는 정수형 unsigned short 2 Byte unsigned int 4 Byte unsigned long 4 Byte 실수 float 4 Byte double..

127. 개발 환경 구축 : 응용 소프트웨어 개발을 위해 개발 프로젝트를 이해하고 소프트웨어 및 하드웨어 장비를 구축하는 것. 1) 하드웨어 환경 : 사용자와의 인터페이스 역할을 하는 클라이언트 & 클라이언트와 통신하여 서비스를 제공하는 서버. - 클라이언트 : PC, 스마트폰 - 서버 웹 서버 : 클라이언트로부터 직접 요청을 받아 처리하는 서버. (저용량의 정적 파일들 제공) >> HTTP/HTTPS 지원, 통신 기록, 정적 파일 관리, 대역폭 제한, 가상 호스팅, 인증 웹 애플리케이션 서버 : 사용자에게 동적 서비스를 제공하기 위해 웹 서버로부터 요청을 받아 데이터 가공 작업을 수행하거나, 웹 서버와 데이터베이스 서버 또는 파일서버 사이에서 인터페이스 역할을 수행하는 서버. 데이터베이스 서버 : 데이..

114. 프로시저 : 절차형 SQL을 활용하여 특정 기능을 수행하는 일종의 트랜잭션 언어. > 호출을 통해 실행되어 미리 저장해 놓은 SQL 작업 수행. - 스토어드 프로시저 - 여러 프로그램에서 호출하여 사용 가능 - 시스템의 일일 마감 작업, 일괄 작업 등에 주로 사용 1) 구성도 - DECLARE (필수) : 프로시저의 명칭, 변수, 인수, 데이터 타입 정의 - BEGIN (필수) : 시작 CONTROL : 조건문/반복문 삽입되어 순차적 처리 SQL : DML, DCL 삽입되어 순차적 처리 EXCEPTION : BEGIN~END 안의 구문 실행시 예외가 발생하면 이를 처리하는 방법 정의 TRANSACTION : 수행된 데이터 작업들을 DB에 적용할지 취소할지를 결정하는 처리부 - END (필수) :..

107. SQL의 개념 : 관계대수와 관계해석을 기초로 한 혼합 데이터 언어. 1) 분류 - DDL 데이터 정의어 : 논리적 데이터 구조와 물리적 데이터 구조의 사상을 정의. (DB관리자, 설계자 사용) > CREATE, ALTER, DROP - DML 데이터 조작어 : DB 사용자가 응용 프로그램이나 질의어를 통하여 저장된 데이터를 실질적으로 처리하는 데 사용되는 언어. > SELECT, INSERT, DELETE, UPDATE - DCL 데이터 제어어 : 데이터의 보안, 무결성, 회복, 병행 수행 제어 등을 정의하는데 사용되는 언어. > COMMIT, ROLLBACK, GRANT, REVOKE 108. DDL : DB 구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어..

100. 데이터베이스 이중화 / 서버 클러스터링 - 데이터베이스 이중화 : 시스템 오류로 인한 서비스 중단이나 물리적 손상 발생 시 이를 복구하기 위해 동일한 데이터베이스를 복제하여 관리하는 것. - 분류 : Eager 기법 (트랜잭션 수행 중 데이터 변경이 발생하면 이중화된 모든 데이터베이스에 즉시 전달하여 변경 내용이 즉시 적용되도록) / Lazy 기법 (트랜잭션 수행이 종료되면 변경 사실을 새로운 트랜잭션에 작성하여 각 데이터베이스에 전달되는 기법) - 구성방법 : 활동-대기 방법 (한DB가 활성 상태로 서비스하고 있으면 다른 DB는 대기하고 있다가 활성 DB에 장애가 발생하면 대기 상태에 있던 DB가 자동으로 서비스를 대신 수행) / 활동 - 활동 방법 (두 개의 DB가 서로 다른 서비스를 제공하..