5. 서버 프로그램 구현
- 개발 환경 구축 : 하드웨어 + 소프트웨어 구축
- 하드웨어 구축: 클라이언트(PC) + 서버
- 웹 서버: 클라이언트로부터 직접 요청 받아서 처리, 정적임
- 정적 파일 관리, 대역폭 제한(트래픽 포화방지, 응답속도 제한), 가상 호스팅(하나의 서버로 여러개의 도메인 연결)
- 웹 애플리케이션 서버(WAS): 미들웨어, 웹 서버로부터 요청을 받아 동적 서비스 제공, 또는 DB서버와의 인터페이스 제공
- DB 서버: DB, DBMS 운영하는 서버
- 파일 서버: 파일 저장하는 서버
- 웹 서버: 클라이언트로부터 직접 요청 받아서 처리, 정적임
- 소프트웨어 구축: 시스템 소프트웨어(OS, 웹서버, DBMS) + 개발 소프트웨어(테스트 도구, 빌드 도구, ~도구)
- 개발 언어의 선정 기준: 적정성(목적에 적합), 효율성, 이식성(다양한 환경에 적용), 친밀성(개발자의 이해도), 범용성(다른 개발 사례 존재)
- 모듈: 모듈화를 통해 분리된 시스템의 각 기능 (공통모듈: 여러 프로그램에서 공통으로 사용할 수 있는 모듈)
- 결합도 (결합도 낮음: 자스제외공내 : 결합도 높음): 결합도는 낮은게 좋음
- 자료, 스탬프, 제어, 외부, 공통, 내용 결합도
- 응집도 (응집도 강함: 기순교절시논우: 응집도 약함): 응집도 높은게 좋음
- 기능적, 순차적, 교환적, 절차적, 시간적, 논리적, 우연적 응집도
- 결합도 (결합도 낮음: 자스제외공내 : 결합도 높음): 결합도는 낮은게 좋음
- DBMS 접속: 웹 응용 시스템(웹 서버+WAS)를 통해 DBMS에 접속
- JDBC: 자바언어로 다양한 데이터베이스에 접속
- ODBC: 개발언어에 관계 없이 사용, Excel, Text 등 다양한 데이터베이스에 접속
- MyBatis: JDBC코드를 단순화, SQL문장을 분리하여 XML파일을 만들고 Mapping을 통해 SQL실행. SQL을 거의 그대로 사용가능
- 동적SQL: 다양한 조건에 따라 SQL을 동적으로 처리하는 것
- 서버 개발 프레임워크
- Spring(java), Node.js(JavaScript), Django(Python), Codeigniter(PHP), Ruby on Rails(Ruby)
- 서버 개발 과정
- DTO/VO: 데이터 교환을 위해 사용할 객체 만드는 것
- SQL 구현: 데이터를 다루는 SQL문 생성
- DAO 구현: 데이터베이스에 접근, SQL을 활용해서 실제로 데이터를 조작하는 코드
- @Repository: dao에 특화, 오류 처리
- @AutoWired: 복잡한 xml태그없이 자동으로 같은 타입의 객체를 연결
- Service구현: 사용자의 요청에 응답하기 위한 로직
- @Service: 서비스로 등록해주는 것
- @Resourc: AutoWired랑 비슷함. 같은 이름이 있을때 연결해라!
- Controller 구현: 적절한 서비스 호출하고 결과 반환
- @RequestMapping(value="url들어옴", method="적절한 메소드") : URL을 컨트롤러의 메소드와 매핑함
- 배치 프로그램: 미리 정해진 순서에따라 일괄적으로 처리하는 것
- 배치 스케줄러: 일괄 처리를 하는 도구
- 스프링 배치: 스프링 프레임워크의 특성을 그대로 가져옴
- Quartz: 스프링 프레임워크로 개발된 응용 프로그램들의 일괄 처리
- Cron: 리눅스의 스케줄러 도구
- 배치 스케줄러: 일괄 처리를 하는 도구
'IT > 정보처리기사실기 공부' 카테고리의 다른 글
실기 정리 노트 3 (0) | 2020.11.25 |
---|---|
실기 정리 노트 2 (0) | 2020.11.25 |
실기 정리노트 1 (0) | 2020.11.24 |
[정보처리기사 실기] 애플리케이션 테스트 관리 (0) | 2020.10.06 |
[정보처리기사실기] 화면 설계 (0) | 2020.10.05 |