카테고리 없음
웹 서비스 개발과 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에 있음