자격증/정보처리기사 84

142~146. 절차적, 객체지향, 스크립트, 선언형 언어, 라이브러리(A)

절차적 프로그래밍 언어 일련의 처리 절차를 정해진 문법에 따라 순서대로 기술해 나가는 언어 실행 속도가 빠름, 다른 위치에서 호출하여 사용가능, 구조적인 프로그래밍 유지 보수나 코드 수정이 어려움 C언어, FORTRAN, ALGOL, COBOL 객체지향 프로그래밍 언어 개발 시 객체들을 조립해서 프로그램을 작성하는 기법 상속을 통한 재사용과 시스템의 확장 용이 코드 재활용성 높음, 개발 유지보수 용이 구현 시 처리 시간이 지연됨 JAVA, C++, Smalltalk 특징 : 상속성, 다형성, 정보 은닉, 추상화, 캡슐화 스크립트 언어 HTML 문서 안에 직접 프로그래밍 언어를 삽입하여 사용하는 것 서버용 스크립트 언어 : ASP, JSP, PHP, 파이썬 클라이언트용 스크립트 언어 : 자바 스크립트(JA..

139. 포인터(B)

포인터와 포인터 변수 포인터는 변수의 주소, C언어에서는 주소를 제어할 수 있는 기능 포인트 변수 선언 : int *a; 포인터 변수에 주소 저장 : a = &b; 포인터 변수에 간접 연산자(*)를 붙이면 해당 포인터 변수가 가리키는 값 : c = *a; 메모리 영역인 힙 영역에 접근하는 동적 변수 포인터와 배열 배열 위치를 나타내는 첨자 생략하고 배열 대표명 지정시 배열의 첫 번째 요소의 주소를 지정하는 것과 같음 &연산자 사용 Ex.) int a[5], *b; b = a : 배열의 대표명을 적었으므로 a 배열의 시작 주소인 a[0]의 주소를 b에 저장 a[0], a[1], a[2], a[3] 배열 표기 방법, *(a+0), *(a+1), *(a+2), *(a+3) 포인터 표기 방법

135. 데이터 입출력(B)

C언어의 표준 입출력 함수 scanf(), getchar(), gets(), printf(), putchar(), puts() scanf() : C언어의 표준 입력 함수, 키보드로 입력받아 변수에 저장, 여러개의 데이터를 받을 수 있음 printf() : C언어의 표준 출력 함수, 인수로 주어진 값을 화면에 출력 getchar() : 키보드로 한 문자를 입력받아 변수에 저장하는 함수 gets() : 키보드로 문자열을 입력받아 변수에 저장하는 함수 putchar() : 인수로 주어진 한 문자를 화면에 출력 함수 puts() 인수로 주어진 문자열을 화면에 출력한 후 커서를 자동으로 다음 줄 앞으로 이동하는 함수 JAVA의 표준 입출력 함수 표준 입력 : Scanner 클래스를 이용(Ex.) Scanner s..

133. 변수(A)

변수명 작성 규칙 첫 글자는 영문자나 _로 시작 글자 수 제한 X 데이터 타입 명시하는 것을 헝가리안 표기법이라고 함 기억 클래스 변수 선언 시 메모리 내에 변수의 값을 저장하기 위한 기억영역이 할당, 할당되는 기억영역에 따라 차이가 있다 자동변수 : 메모리(스택), auto, 일시적, 지역적 레지스터 변수 : 레지스터, register, 일시적, 지역적 정적 변수(내부) : 메모리(데이터), static, 영구적, 지역적 정적 변수(외부) : 메모리(데이터), static, 영구적, 전역적 외부 변수 : 메모리(데이터), extern, 영구적, 전역적 가비지 콜렉터 : 변수들이 점유한 메모리 공간을 강제로 해제하여 다른 프로그램들이 사용할 수 있게 한것

130. 배치 프로그램(B)

배치 프로그램 사용자와의 상호 작용 없이 여러 작업들을 미리 정해진 일련의 순서에 따라 일괄적으로 처리하는 것 정기 배치, 이벤트성 배치, On-Demand 배치로 구분 정기 배치 : 일, 주, 월과 같이 정해진 기간에 정기적으로 수행됨 이벤트성 배치 : 특정 조건을 설정하고 조건이 충족될 떄만 수행 On-Demand 배치 : 사용자 요청 시 수행됨 필수 요소 : 대용량 데이터, 자동화, 견고성, 안정성, 성능 배치 스케줄러 일괄 처리 작업이 설정된 주기에 맞춰 자동으로 수행되도록 지원해주는 도구 스프링 배치, Quartz 스프링 배치 오픈 소스 프레임워크 데이터베이스나 파일의 데이터를 교환하는데 필요한 컴포넌트 제공 로그 관리, 추적, 트랜잭션 관리등 다양한 기능 제공 Quartz 스프링 프레임워크로 ..

127~128. 개발 환경 구축, 서버 개발(C)

하드웨어 환경 사용자와 인터페이스 역할을 하는 클라이언트, 클라이언트와 통신하여 서비스 제공하는 서버로 나뉨 클라이언트 : PC, 스마트폰 서버 : 웹 서버, 웹 애플리케이션 서버(WAS), 데이터베이스 서버, 파일 서버 웹 서버 : 클라이언트로부터 직접 요청을 받아 처리하는 서버, 정적 파일 제공(Apache HTTP Server, Google Web Server) 웹 애플리케이션 서버 : 사용자에게 동적 서비스 제공, 웹-데이터베이스, 웹-파일 서버 간 인터페이스 역할 (Apache Tomcat, WebSphere) 데이터베이스 서버 : 데이터베이스 관리, DBMS 운영(MySQL Server, Oracle Server) 파일 서버 : 서비스 제공을 목적으로 파일 저장하는 서버 (AWS 83) 소프트..

120. 쿼리 성능 최적화(C)

쿼리 성능 최적화 데이터 입, 출력 애플리케이션 성능 향상을 위해 SQL 코드를 최적화 성능 측정 도구 APM을 사용하여 최적화 할 쿼리 선정 RBO : 규칙 기반 옵티마이저, 규칙에 정의된 우선순위, 개발자 숙련도 중요, 예측이 쉬움 CBO : 비용 기반 옵티마이저, 액세스 비용, 옵티마이저의 예측 성능, 예측이 복잡함 실행 계획 : EXPLAIN 명령어를 통해 확인, 그래픽이나 텍스트로 표현 SQL 코드 재구성 WHERE 절을 추가하여 일부 레코드만 조회하게 함으로 조회 비용 감소 가능한 연산자 사용 자제 서브 쿼리에 특정 데이터 확인시 IN보다 EXISTS 활용 인덱스 재구성 단일 인덱스로 쓰거나 수정 없이 읽기인 경우 IOT(Index-Organized-Table)로 구성하는 것을 고려 불필요한 ..

114~116. 프로시저, 트리거, 사용자 함수(C)

프로시저 절차형 SQL을 활용하여 특정 기능을 수행하는 일종의 트랜잭션 언어, 호출을 통해 실행되어 미리 저장해 놓은 SQL 작업 수행 시스템의 일일 마감 작업, 일괄 작업에 사용 프로시저 생성 : CREATE 프로시저 실행: EXECUTE, CALL 명령어 사용 프로시저 제거 : DROP PROCEDURE 프로시저 구성도 : DECLARE(필수) BEGIN(필수) CONTROL SQL EXCEPTION END(필수) 트리거 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL 데이터베이스에 저장, 데이터 변경 및 무결성 유지, 로그 메시지 출력 등의 목적으로 사용 DCL 사용 X 선언, 이벤트, 시작, 종료로 구성 트리거 생성 : CREATE 트리거 제거 : DROP TRIGGER 트리거..

107~110. SQL의 개념 / DDL / DCL / DML(A)

SQL 관계대수와 관계해석을 기초로 한 혼합 데이터 언어 질의어지만 질의 기능뿐만 아니라 데이터 구조의 정의, 데이터 조작, 데이터 제어 기능까지 모두 갖춤 SQL의 분류 DDL(Data Define Language, 데이터 정의어) 논리적 데이터 구조와 물리적 데이터 구조의 사상 정의 CREATE, ALTER, DROP DML(Data Manipulation Language, 데이터 조작어) 저장된 데이터를 실질적으로 처리하는데 사용되는 언어 SELECT, INSERT, DELETE DCL(Data Control Language, 데이터 제어어) 데이터의 보안, 무결성, 회복, 병행 수행 제어 등을 정의하는데 사용되는 언어 COMMIT, ROLLBACK, GRANT, REVOKE DDL CREATE S..

104. 스토리지(B)

스토리지 단일 디스크로 처리할 수 없는 대용량의 데이터를 저장하기 위해 서버와 저장장치를 연결하는 기술 DAS, NAS, SAN DAS(Direct Attached Storage) 서버와 저장장치를 전용 케이블로 직접 연결하는 방식(컴퓨터 외장하드) 속도가 빠르고 설치 및 운영이 쉬움 초기 구축 비용 및 유지보수 비용 저렴 확장성, 유연성이 떨어짐 NAS(Network Attached Storage) 서버와 저장장치를 네트워크를 통해 연결하는 방식 파일 공유가 가능, 장소에 구애받지 않고 저장장치에 쉽게 접근 확장성, 유연성이 좋음 접속 증가 시 성능 저하 SAN(Storage Area Network) 서버와 저장장치를 연결하는 전용 네트워크를 별도로 구성하는 방식 광 채널 스위치를 이용하여 네트워크 구..