081. 서버 개발
1) 서버 개발
- 웹 애플리케이션의 로직을 구현할 서버 프로그램을 제작하여 WAS에 탑재하는 것
2) 서버 개발 프레임워크
- 다양한 네트워크 설정, 요청 및 응답 처리, 아키텍처 모델 구현 등을 손쉽게 처리할 수 있도록 클래스나 인터페이스 를 제공하는 소프트웨어
- Spring
: JAVA를 기반으로 만든 프레임워크, 전자정부 표준 프레임워크의 기반 기술
- Node.js
: JavaScript를 기반으로 만든 프레임워크
- Django
: Python을 기반으로 만든 프레임워크
- Codeigniter
: PHP를 기반으로 만든 프레임워크
- Ruby on Rails
: Ruby를 기반으로 만든 프레임워크
3) 서버 개발 과정
- DTO/VO, SQL, DAO, Service, COntroller를 각각 구현하는 과정
- DTO/VO 구현
: 데이터 교환을 위해 사용할 객체를 만듦
- SQL 구현
: 데이터의 삽입, 변경, 삭제 등의 작업을 수행할 SQL문을 생성
- DAO 구현
: 데이터베이스에 접근하고, SQL을 활용하여 데이터를 실제로 조작하는 코드를 구현
- Service 구현
: 사용자의 요청에 응답하기 위한 로직을 구현
- Controller 구현
: 사용자의 요청에 적절한 서비스를 호출하여 그 결과를 사용자에게 반환하는 코드를 구현
082. 보안 및 API
1) 소프트웨어 개발 보안
- 보안 취약점을 최소화하여 보안 위협으로부터 안전한 소프트웨어를 개발하기 위한 일련의 보안 활동
- 소프트웨어 개발 보안 점검 항목
: 세션 통제, 입력 데이터 검증 및 표현, 보안 기능, 시간 및 상태, 에러처리, 코드 오류, 캡슐화, API 오용
2) API(Application Programming Interface)
- 라이브러리를 이용할 수 있도록 규칙 등을 정의해놓은 인터페이스
083. 배치 프로그램
1) 배치 프로그램(Batch Program)
- 여러 작업들을 미리 정해진 일련의 순서에 따라 일괄적으로 처리하도록 만든 프로그램
- 필수요소
: 대용량 데이터
- 대량의 데이터를 처리할 수 있어야함
: 자동화
- 사용자의 개입 없이 수행되어야 함
: 견고성
- 중단되는 일이 없어야 함
: 안전성/신뢰성
-오류가 발생하면 오류의 발생위치, 시간 등을 추적할 수 있어야함
: 성능
- 다른 응용 프로그램의 수행을 방해하지 않아야 함
- 지정된 시간 내에 처리가 완료되어야 함
2) 배치 스케줄러(Batch Scheduler)
- 일괄 처리(Batch Processing): 작업이 설정된 주기에 맞춰 자동으로 수행되도록 지원해주는 도구
- 종류 : 스프링 배치, Quartz, Cron
084. 패키지 소프트웨어
1) 패키지 소프트웨어(Package Software)
- 기업에서 일반적으로 사용하는 여러 기능을 통합하여 제공하는 소프트웨어(일반 시중에서 판매)
- 반대 개념은 전용 개발 소프트웨어라고 함