공부

Udemy - Spring Boot를 활용한 웹 개발 입문 2

로기221 2023. 8. 8. 13:57
728x90
반응형

Spring Boot를 활용한 웹 개발 입문 2


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

  • 퍼블리싱, 마크업 개발
  • 프론트엔드 개발
    • 웹 프론트엔드 개발
    • 모바일 앱 개발
  • 백엔드 개발
    • REST API 개발
    • 프론트엔드에서 호출하는 API
  • DB 설계, 운영
  • 시스템 엔지니어링, 인프라 엔지니어링

 

퍼블리싱 / 마크업 개발

  • 사용자에게 노출 되는 웹 화면을 개발
  • 디자인을 HTML/CSS 코드로 옮기는 과정
  • HTML, CSS를 주로 사용, Javascript 일부 사용
    • 화면의 정보와 구조를 나타내기 위해 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 등이 주로 사용

 

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

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

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 : 제어권이 사용자의 코드에 있음
  • Framework : 제어권이 Framework에 있음

Framework의 활용

  • 처음 Framework를 학습 할 때에는 전체 그림이 그려지지 않아 혼란스러운 경우가 많음
    • 설정 한 줄, 메소드 하나 추가했을 뿐인데 어떻게 이렇게 동작하지.?
  • 1단계로 Framework이 제공하는 계약(약속)을 하나 씩 이해해 나가야 함
    • 당신이 특정 위치에 특정한 방식으로 코드를 추가하면 나는 이렇게 동작함
  • Framework의 기본 활용에 익숙해 지면, 다음 단계로 Framework의 내부 동작 메커니즘을 이해하도록 노력해야 함
728x90
반응형