카테고리 없음

웹 서비스 개발과 Web Framework의 이해

코린이엄현종 2024. 3. 18. 17:48

웹 서비스 개발 및 운영의 직군

  • 퍼블리싱, 마크업 개발
  • 프론트엔드 개발

- 웹 프론트엔드 개발

- 모바일 앱 개발

 

  • 백엔드 개발

- REST API 개발

- 프론트엔드에서 호출하는 API

 

  • DB 설계, 운영
  • 시스템 엔지니어링, 인프라 엔지니어링

퍼블리싱 / 마크업 개발

  • 사용자에게 노출 되는 웹 화면을 개발
  • 디자인을 HTML/CSS 코드로 옮기는 과정
  • HTML, CSS를 주로 사용, Javascript 일부 사용

프론트엔드 개발

  • 사용자 화면과 백엔드(DB)와의 중간 커뮤니케이션 역할
  • 사용자의 입력/이벤트를 받아 백엔드로 전송
  • 백엔드의 데이터를 받아 화면에 노출
  • Javascript, Jquery 등이 전통적으로 많이 사용됨
  • 최근에는 VueJS, ReactJS, AngularJS 등의 프론트엔드를 위한 Framework 등이 많이 사용됨

백엔드 개발

  • 웹 서비스의 비즈니스 로직을 처리하는 부분
  • 브라우저에서의 사용자 요청을 받아 적절하게 처리

- 로직 처리

- DB 연동

- 외부 시스템 연동 (Mail, CRM 등)

  • Spring, Django, Flask, NodeJS 등의 Web Framework를 활용하여 개발

DB 설계 / 운영

  • 웹 서비스의 데이터가 저장 될 DB 설계하고 DBMS를 운영 관ㄹ
  • 데이터는 웹 서비스의 가장 중요한 요소 중 하나
  • DB 분석/설계와 DBMS 운영은 다른 역할
  • RDBMS로는 Oracle, MySQL, PostgreSQL, MSSQL 등이 주로 사용
  • NoSQL로는 MongoDB, Cassandra, DynamoDB, Elasticsearch 등이 주로 사용

시스템 엔지니어링, 인프라 엔지니어링

  • 웹 서비스가 운영 될 기간 인프라를 설계하고 운영
  • 서버, 네트워킹, 스토리지, 보안 등 설계, 구축, 운영
  • 기존에는 온 프레미스 기반의 시스템 운영
  • 최근에는 클라우드 및 컨테이너 기반의 시스템 운영으로 전환

Web Framework

  • Spring (Java)
  • Flask (Python)
  • Django (Python)
  • NodeJS (Javascript)
  • Laravel (PHP)
  • Rails (Ruby)

SW Framework

  • SW 개발을 효율적으로 하기 위한 반제품
  • 특정 분야의 SW 개발에 필요한 공통 기능을 제공
  • 사용자는 Framework에 필요한 기능을 추가하여 전체 애플리케이션을 완성

Web Framework

  • 웹 개발을 위한 SW 반제품
  • 보안, HTTP 요청 처리, DB 연동 등의 웹 애플리케이션 공통 기능을 제공
  • 사용자는 Framework 위에 필요한 비즈니스 로직을 구현하여 전체 웹 애플리케이션을 완성

Library vs Framework

  • 공통점

- 재사용 가능한 미리 구현 된 유용한 코드(모듈)을 제공

- 특정 목적을 위해 구현 된 코드를 사용함으로써 효율적인 개발 가능

  • 차이점

- SW 제어의 흐름을 누가 결정하는 가에 차이가 있음

- Library : 제어권이 사용자의 코드에 있음

- Framwork : 제어권이 Framework에 있음