Challenges/정보처리기사

[정보처리기사]4.프로그래밍 언어 활용/서버 프로그램 개발 환경 구축/서버 개발

뚱요 2022. 7. 2. 02:05
반응형

서버 개발

1. 서버 개발

- 웹 애플리케이션의 로직을 구현할 서버 프로그램을 제작하여 웹 애플리케이션 서버(WAS)에 탑재하는 것

- 서버 개발에 사용되는 프로그래밍 언어:  JAVA, JavaScript, Python, PHP, Ruby

2. 서버 개발 프레임워크

프레임워크(Framework)
‘뼈대’, ‘골조’를 의미, 소프트웨어에서는 특정 기능을 수행하기 위해 필요한 클래스나 인터페이스 등을 모아둔 집합체를 뜻함

- 대부분 MVC(Model, View, Controller) 패턴을 기반으로 개발됨

 MVC 패턴22년 1회 필기 기출

사용자 인터페이스를 담당하는 계층의 응집도를 높일 수 있고 여러 개의 다른 UI를 만들어 그 사이에 결합도를 낮출 수 있다.

M < - C -> V

> 뷰(Veiw): 모델(Model)에 있는 데이터를 사용자 인터페이스에 보이는 역할을 담당한다.

> 제어(Controller): 모델(Model)에 명령을 보냄으로써 모델의 상태를 변경할 수 있다.(모델과 뷰사이의 전달자)

서버 프레임워크명 프로그래밍 언어 특징
Spring JAVA 전자정부 표준 프레임워크의 기반 기술로 사용
Node.js  JavaScript 비동기 입, 출력 처리와 이벤트 위주의 높은 처리 성능을 갖고 있어 실시간으로 입, 출력이 빈번한 애플리케이션에 적합함
Django Python 컴포넌트의 재사용과 플러그인화를 강조하여 신속한 개발이 가능하도록 지원
Codeigniter PHP 인터페이스가 간편, 서버 자원을 적게 사용함
Ruby on Rails  Ruby 테스트를 위한 웹 서버를 지원하며 데이터 베이스 작업을 단순화, 자동화시켜 개발 코드의 길이가 짧아 신속한 개발 가능

 

2.1) 서버 프로그램 구현(효과적인 모듈 설계)  20년 3회 기출

- 응용 SW와 동일하게 모듈 및 공통 모듈을 개발한 후, 모듈들을 통합하는 방식으로 구현, 유지보수가 용이

공통 모듈
 여러 프로그램에서 재사용(Reuse) 할 수 있는 모듈
→ 함수와 객체 재사용, 컴포넌트 재사용, 애플리케이션 재사용

- 모듈의 독립성을 높이려면 모듈의 결합도(Coupling)를 약하게 하고, 응집도(Cohesion)를 강하게 하며 모듈의 크기를 작게 만들어야 함

- 복잡도와 중복성을 줄이고 일관성 유지

 

2.2) 프레임워크의 특성 #모재확역

  • 모듈화(Modularity) 프레임워크는 캡슐화를 통해 모듈화를 강화하고 설계 및 구현의 변경에 따른 영향을 최소화함으로써 소프트웨어의 품질을 향상함
  • 확장성(Extensibility) 프레임워크는 다형성(Polymorphism)을 통한 인터페이스 확장이 가능하여 다양한 형태와 기능을 가진 애플리케이션 개발이 가능함
  • 제어의 역흐름(Inversion of Control) 개발자가 관리하고 통제해야 하는 객체들의 제어를 프레임워크가 관리함으로써 생산성 향상함
  • 재사용성(Reusability) 프레임워크는 재사용 가능한 모듈들 제공함으로써 개발자의 생산성을 향상함

 

2.3 ) 프레임워크의 구성요소

 발,  행 , 영, 관리 환경

반응형