ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 2020 정보처리기사 필기 : 4과목 : 1장
    Study/정보처리기사 2020. 5. 28. 14:03
    728x90

    1장 : 서버 프로그램 구현


    1.     하드웨어 환경

    • 클라이언트와 서버로 구성된다. 
    • 클라이언트
      • PC
      • 스마트폰
    • 서버
      • 웹 서버 (Web Server)
      • 웹 애플리케이션 서버 (WAS)
      • 데이터베이스 서버 (DB Server)
      • 파일 서버 (File Server)

    2. 웹 서버 (Web Server)

    • 클라이언트로부터 직접 요청을 받아 처리하는 서버
    • 저용량의 정적 파일을 제공한다. 
    • 브라우저로 요청과 응답 을 처리하는 프로토콜인 HTTP/HTTPS를 지원한다. 
    • HTML, CSS 등 정적 파일을 저장하고 관리한다. 
    • 사용자가 적합한 권한을 갖고 접속하는지 확인하는 인증 기능을 지원한다.

     

     

    2-1. 웹 애플리케이션 서버 (Web Application Server)

    • 사용자에게 동적 서비스를 제공한다.
    • 웹 서버로부터 요청을 받는다. 
    • 웹 서버와 데이터베이스 서버 사이에서 인터페이스 역할을 한다.

     

     

    2-2. 서버의 개발

    • 서버의 개발이란, 웹 애플리케이션의 로직을 구현할 서버 프로그램을 제작하여, WAS에 탑재하는 것을 말한다.
    • 서버 개발을 위해 다양한 프레임워크들이 존재하고, 프레임워크들은 언어에 종속적이다. 

    3.     소프트웨어 환경

    • 시스템 소프트웨어와 개발 소프트웨어로 구성된다. 
    • 시스템 소프트웨어
      • 운영체제
      • 서버를 위한 서버 프로그램
      • DBMS
    • 개발 소프트웨어
      • 요구사항 관리 도구
      • 설계/모델링 도구
      • 구현 도구
      • 빌드 도구
      • 테스트 도구
      • 형상 관리 도구

    4.     프레임워크(Framework)

    • 특정 기능을 수행하기 위해 필요한 클래스나 인터페이스 등을 모아둔 집합체를 말한다. 
    • 서버 개발 프레임워크는 대부분 '모델-뷰-컨트롤러 패턴'을 기반으로 한다. 
    • 특성
      • 모듈화
      • 재사용성
      • 확장성
      • 제어의 역흐름

    5.     개발 언어의 선정 기준

    • 적정성
    • 효율성
    • 이식성
    • 친밀성
    • 범용성

    6.     소프트웨어 개발 보안

    • 목표
      • 기밀성
      • 무결성
      • 가용성
    • 점검 항목
      • 세션 통제
      • 입력 데이터 검증 및 표현
      • 보안 기능
      • 시간 및 상태
      • 에러 처리
      • 코드 오류
      • 캡슐화
      • API 오용

    7.     API (Application Programming Interface)

    • 라이브러리를 사용할 수 있도록 미리 정의해 놓은 인터페이스

     8.     배치 프로그램 (Batch Program, 일괄 처리 프로그램)

    • 사용자와의 상호 작용 없이, 여러 작업들을 미리 정해진 순서에 따라 일괄적으로 처리하는 것. 
    • 대용량의 데이터가 주기적으로 교환되는 업무에 주로 사용된다. 
    • 주로 야간이나 새벽에 수행되도록 설정한다. 
    • 수행 주기에 따라, 
      • 정기 배치 : 정해진 기간에 정기적으로 수행
      • 이벤트성 배치 : 조건이 충족될 때만 수행
      • On-Demand 배치 : 요청시 수행
    • 필수 요소
      • 대용량 데이터
      • 자동화
      • 견고성
      • 안정성, 신뢰성
      • 성능

    9.     배치 스케줄러 (Batch Scheduler)

    • 일괄 처리 작업이 설정된 주기에 맞춰, 자동으로 수행되도록 지원해주는 도구
    • 종류 : 스프링 배치(Spring Batch), Quartz
    728x90

    댓글

kxmjhwn@gmail.com