1. 서버 개발 (C)
- 서버 개발 : 웹 어플리케이션의 로직을 구현할 서버 프로그램을 제작하여 WAS에 탑재하는 것
- 서버 개발 프레임워크
- Spring : JAVA 기반 프레임워크
- Node.js : JavaScript 기반
- Django : Python 기반
- Codeignier : PHP 기반
- Ruby on Rails : Ruby 기반
- 프레임워크 특성
- 모듈화
- 재사용성
- 확장성
- 제어의 역흐름 : 개발자가 관리해야 하는 객체들의 제어 권한을 프레임워크에 넘긴다
2. 서버 개발 과정 (A)
- DTO/VO, SQL, DAO, Service, Controller 각각 구현
- DTO/VO : 데이터 교환을 위한 객체 생성
- SQL : 데이터 삽입, 삭제, 변경 등의 SQL문 생성
- DAO : DB에 접근하고 SQL을 활용하여 데이터를 조회하는 과정
- MyBatis와의 연동을 위한 SqlSession의 라이브러리 추가
- @Repository : DAO에 특화된 어노테이션
- Service : 사용자의 요청에 응답하기 위한 로직을 구현하는 과정
- @Service
- Controller : 사용자의 요청에 적절한 서비스를 호출하여, 그 결과를 사용자에게 반환하는 코드 구현하는 과정
- @RequestMapping(..) : 'URL'을 Controller의 메소드와 매핑
- 웹 사이트 -> Controller -> Service -> DAO -> XML(SQL) -> DataBase
- DataBase -> DAO -> Service -> Controller -> 웹사이드
3. 배치 프로그램 (B)
- 배치 프로그램(Batch Program) : 사용자와의 상호작용 없이 미리 정해진 일련의 순서에 따라 일괄적으로 처리하는 것
- 정기 배치 : 일, 주, 월과 같이 정해진 기간에 정기적으로 수행
- 이벤트성 배치 : 특정 조건이 충족될 때 수행
- On-Demand 배치 : 사용자 요청 시 수행
- 배치 프로그램 필수 요소
- 대용량 데이터 : 대용량 데이터 처리가 가능해야 한다.
- 자동화 : 사용자의 개입 없이 수행되어야 한다.
- 성능 : 다른 프로그램의 수행을 방해하지 않고, 지정된 시간 내에 처리가 완료되어야 한다.
- 견고성 : 잘못된 데이터나 중복등의 상황으로 중단되지 않아야 한다.
- 안정성 : 오류가 발생하면 위치, 시간등을 추적할 수 있어야 한다.
- 배치 스케줄러(Batch Scheduler) : 일괄 처리 작업이 설정된 주기에 맞춰 자동으로 수행되도록 지원해주는 도구
- 스프링 배치 : 스프링 프레임워크의 특성을 그대로 가져와 스프링이 가지고 있는 다양한 기능 모두 사용 가능
- Job, Job Launcher, Step, Job Repository
- Quartz : 스프링 프레임워크로 개발되는 응용 프로그램들의 일괄 처리를 위한 다양한 기능 제공
- Scheduler, Job, JobDetail, Trigger
- Cron : 리눅스의 스케줄러 도구로 crontab 명령어를 통해 직접 예약할 수 있다.
- [분][시][일][월][요일][명령어]
- * * * * */root/test.sh : 매월 매일 매시 매분마다 test.sh 실행
- /[단위]입력하면 단위로 나눈 나머지가 0일 때마다 수행
- 30 */3 * * */root/test.sh : 매월 매일 0:30 부터 3시간마다 test.sh 실행
- [시작시기]-[종료시기]로 특정 구간 반복
- * 18-23 20 * */root/test.sh : 매월 20일 18~23시 매분마다 실행
- [시기1][시기2].... 로 특정 시기 지정
- 30 23 25 4,9,11 */root/test.sh : 4,9,11월 25일 10:30분에 실행
- [분][시][일][월][요일][명령어]
- 스프링 배치 : 스프링 프레임워크의 특성을 그대로 가져와 스프링이 가지고 있는 다양한 기능 모두 사용 가능
'IT > 정보처리기사실기 공부' 카테고리의 다른 글
[정보처리기사 실기] 애플리케이션 테스트 관리 (0) | 2020.10.06 |
---|---|
[정보처리기사실기] 화면 설계 (0) | 2020.10.05 |
[정보처리기사실기] 개발 환경 구축, 모듈, 공통 모듈, DBMS 접속 (0) | 2020.10.04 |
[정보처리기사실기] 통합구현 (0) | 2020.10.02 |
[정보처리기사실기] 인덱스, 뷰, 클러스터, 파티션, 데이터베이스 용량 설계 (0) | 2020.09.30 |