27. [정처기 필기] 서버프로그램 구현
1. 대표적인 서버 개발 프레임 워크
-Spring : JAVA를 기반으로 만들어진 프레임워크로, 전자정부 표준 프레임워크의 기반 기술로 사용되고 있음
-Node.js : JavaScript를 기반으로 만들어진 프레임워크로, 비동기 입출력 처리와 이벤트 위주의 높은 처리 성능을 갖고 있어 실시간으로 입출력이 빈번한 애플리케이션에 적합
Django : Python을 기반으로 만들어진 프레임워크로, 컴포넌트의 재사용과 플러그인화를 강조하여 신속한 개발이 가능하도록 지원함
Codeigniter : PHP를 기반으로 만들어진 프레임워크로, 인터페이스가 간편하며 서버 자원을 적게 사용함
Ruby on Rails : PHP를 기반으로 만들어진 프레임워크로 테스트를 위한 웹 서버를 지원하며 데이터베이스 작업을 단순화 , 자동화시켜 개발 코드의 길이가 짧아 신속한 개발이 가능
2. 소프트웨어 개발 보안의 개요
-소프트웨어 개발 보안은 소프트웨어 개발 과정에서 발생할 수 있는 보안 취약점을 최소하하여 보안 위협으로부터 안전한 소프트웨어를 개발하기 위한 일련의 보안활동
-소프트웨어 개발 보안은 데이터의 기밀성, 무결성, 가용성을 유지하는 것을 목표로 함
3. 소프트웨어 개발 보안 점검 항목
-세션 통제
-입력 데이터 검증 및 표현
-보안 기능
-시간 및 상태
-에러처리
-코드 오류
-캡슐화
-API 오용
4. API
응용 프로그램 개발 시 운영체제나 프로그래밍 언어 등에 있는 라이브러리를 이용할 수 있도록 규칙 등을 정의해놓은 인터페이스를 의미
5. 배치 프로그램이 갖춰야 하는 필수 요소
-대용량 : 데이터 대량의 데이터를 가져오거나, 전달하거나 계산하는 등의 처리가 가능해야 함
-자동화 : 심각한 오류가 발생하는 상황을 제외하면 개입 없이 수행되어야 함
-견고성 : 잘못된 데이터나 데이터 중복등의 상황으로 중된되는 일 없이 수행
-안정성/신뢰성: 오류가 발생하면 오류의 발생 위치, 시간 등을 추적할 수 있어야함
-성능 : 다른 응용 프로그램의 수행을 방해하지 않아야 하고, 지정된 시간 내에 처리가 완료되어야함
6. 스프링 배치 (Spring Batch)
Spring Source 사와 Accenture사가 공동 개발한 오픈 소스 프레임워크
- 스프링 프레임 워크의 특성을 그대로 가져와 스프링이 가지고 있는 다양한 기능들을 모두 사용할 수 있음
7. Quartz
- 스프링 프레임워크로 개발되는 응용 프로그램들의 일괄 처리를 위한 다양한 기능을 제공하는 오픈소스 라이브러리