[깔끔한 파이썬 탄탄한 백엔드#2]

강지훈·2022년 9월 15일
0

[깔끔한 파이썬 탄탄한 백엔드#2]
셸: Shell은 터미널 환경에서 운영체제의 커널(kernel)과 사용자의 유저 스페이스 (user space)를 이어주는 인터페이스(interface) 역할을 하는 프로그램이다.
아주 간단하게 설명하면 사용자의 명령어를 운영체제에 전달하여 실행되게 하고, 그 결과물을 사용자에게 전달하는 역할을 하는 프로그램이라고 생각하면 된다. 인터페이스 역할 외에도 셸 스크립트(Shell Script)라는 셸 전용 프로그래밍 언어를 사용해서 터미널 환경에서 다양한 자동화를 실행할 수도 있다.

본인은 VIM을 사용할 것이다.

우분투를 켜서 apt를 사용해서 설치하도록 하자

<현대 웹 시스템 구조 및 아키텍처>

  • 웹 시스템들의 발전 역사
  • 현대의 웹 시스템 들의 구조 및 아키텍처
  • 현대의 개발팀 구조

웹 시스템들의 발전 역사

초기의 웹 시스템: 간단하다는 장점은 있으나 굉장히 정적인(static) 페이지만 보여 줄 수 밖에 없는 구조

점차 단순했던 웹 서비스들이 조금씩 복잡해지기 시작하면서 사용자 인터랙션(user interaction)이 중요해지기 시작
자바스크립트를 통해 동적인 기능들을 제공하기 시작

자바스크립트가 주가 되면서 SPA(Single Page Application) 방식의 프론트엔드 개발이 인기를 얻게 되었다.
SPA는 이름 그대로 단일 페이지로 모든 웹사이트/서비스의 기능을 구현하는 것이다.

이렇게 단일 페이지의 자바스크립트를 통해 모든 페이지를 동적으로 구현하게 되다보니 자연스럽게 웹 브라우저가 필요한 서버와의 통신은 데이터 전송이나 생성 및 수정에 관한 것이 대부분이 된다. 사이트의 페이지를 렌더링 하는데 필요한 자바스크립트 코드는 최초의 통신에서 모두 한 번에 받으므로 그 다음부터는 서버와 데이터만 주고 받으면 된다.

프론트엔드 개발자는 주로 시스템의 UI(User Interface)와 UX(User Experience)부분을 구현하는 역할을 담당한다.
백엔드 API 개발자의 역할은 프론트엔드 시스템과 데이터를 실시간으로 주고받을 수 있는 기능을 구현하는 역할을 담당한다.

API 시스템들이 너무 방대해지고 복잡해지는 문제를 해결하기 위해서 MSA(Micro Service Architecure) 같은 새로운 아키텍처 개념이 발전됨으로써 API 서버들이 훨씬 더 세분화되며 규모가 커지게 된다.

현대의 백엔드 개발자의 영역은 일반적인 백엔드 API 시스템 개발부터 Data Pipeline 시스템, Machine Learning 시스템, Big Data 분석 시스템 등 비실시간 대규모 데이터 수집 및 분석 시스템, 그리고 Machine Learning 시스템까지 넓어지고 있다.

profile
never stop

0개의 댓글