hyperskill - Web development 영어 원문
웹 개발은 웹사이트의 웹 어플리케이션을 생성하는 프로세스입니다.
웹 어플리케이션을 생성하는 하나의 접근법은
server-side 와 client-side로 로직을 분리하는 것 입니다.
server side rendering
: 서버에서 웹 페이지를 구축하여 고객에게 페이지를 전송하는 형태client side rendering
: 클라이언트 웹 브라우저에서 서버로부터 정보를 받아 페이지를 구성하는 형태
이러한 프로세스는 주로 서로 다른 영역에 특화된 개발자들을 포함합니다.
이제 웹 개발의 관점에 대해서 더 배워 봅시다.
Frontend and backend development - 프론트엔드 백엔드 개발
이는 웹 개발에 있어 관례적으로 두 개의 부분으로 나누어 집니다 : Frontend (프론트엔드), Backend (백엔드)
Frontend development - 프론트엔드 개발
이는 client-side 프로그래밍으로 불리기도 하는데,
유저 인터페이스를 개발을 의미합니다.
게다가 유저와의 상호작용 로직을 작성합니다.
간단히 말해서,
프론트엔드 개발은 유저들이 웹 페이지를 열거나, 그 곳에서 상호작용하는 모든것에 대한 책임이 있습니다.
Backend development - 백엔드 개발
이는 server-side 프로그래밍으로 불립니다.
이는 웹 개발의 서버 사이드의 내부 개발을 의미하기도 합니다.
그리고 그것에 대한 로직을 구현합니다.
백엔드 개발은 유저들이 보지 못하는 것 (로직) 들을 포함하며,
그들의 브라우저와 컴퓨터 바깥에서 일어납니다.
Developers - 개발자들
주로, 서로 다른 영역에 특화된 자들은 각자 frontend, backend에서 작업합니다 :
이들 사이의 차이점을 더 잘 이해하기 위해서,
이러한 개발자들이 가지는 임무의 예제를 보겠습니다.
Frontend developers - 프론트엔드 개발자들
프론트엔드 개발자들은 디자이너로부터 받은 레이아웃에 따라 웹 페이지를 만듭니다.
그들은 서로 다른 브라우저나 서로 다른 기기 내부의 웹사이트들의 디스플레이와 올바른 기능에 책임을 가지고 있습니다.
프론트엔드 개발자들 덕부넹, 상호작용적인 엘레멘트들이 웹 페이지에 나타납니다.
Backend developers - 백엔드 개발자들
백엔드 개발자들은 어플리케이션의 기본적인 비즈니스 로직을 작성합니다.
유저 데이터를 가공하며, 데이터베이스들에 저장된 정보들을 정리하며,
데이터 보안과 보호를 구현하며, 어플리케이션의 최대 속도를 최적화하며, 가용성을 확보합니다.
위의 두 영역에는 웹 어플리케이션 개발에 있어 모든 단계에 속하는 개발자들을 포함합니다 :
클라이언트 파트의 생성부터 서버 파트의 구현까지.
이러한 프로그래머들은 full-stack 개발자라고 부릅니다.
Separation of client and server parts - 클라이언트와 서버 영역 나누기
Client-side 와 Server-side 라는 용어는 웹 개발로부터 온 용어입니다.
이 용어는 이 어플리케이션 코드는 어디서 실행되는가 를 우리에게 말해 줍니다.
하지만 왜 클라이언트와 서버 파트를 나눌까요?
왜 우리는 유저 인터페이스 표현과 서버 로직을 각각 분리해야 할까요?
여기에 이에 대한 몇 개의 이유들이 있습니다 :
- 우리는 프론트엔드와 백엔드 로직을 독립적으로 배치할 수 있습니다.
이로서 에러의 수를 최소화 할 수 있습니다.
예를 들어, 우리는 일반적인 프로세스를 수정하지 않고도 사이트가 보이는 것을 변경 할 수 있습니다. - 우리는 구조화된 데이터가 저장될 서버가 필요합니다.
- 클라이언트 사이드의 데이터는 아마 오래되었지만, 서버의 응답은 주로 업데이트되어있습니다.
- 수백만의 클라이언트의 데이터 흐름을 관리하는 것 보다, 몇 개의 서버의 프로세스들을 조화시키는 것이 더 쉽습니다.
- 몇 개의 태스크들은 서버로부터 업데이트 될 필요가 없습니다. 개인 컴퓨터에서 수행하는 것이 더 빠릅니다.
How do frontend and backend communicate - 프론트와 백은 어떻게 소통하나
웹 사이트가 올바르게 작업하기 위해서, 클라이언트와 서버 파트는 반드시 상호작용해야 합니다.
이는 HTTP 요청을 통해 일어납니다.
가장 기본적인 변형으로, 프론트와 백 사이의 상호작용은 밑의 상황과 같이 일어납니다 :
- 클라이언트는 HTTP 프로토콜을 사용하여 데이터를 검색하거나 수정하기 위해 서버에 요청을 보냅니다.
- 백엔드 프로세스들은 이러한 요청들을 HTTP 를 통해 응답을 반환합니다.
- 프론트엔드는 응답을 받고 이를 가공하며, 유저에게 결과로 표현합니다.
클라이언트와 서버 간의 데이터를 교환하는 가장 유명한 형태는 JSON 입니다.
하지만 다른 것들도 존재합니다.
Markup 언어들은 유저 친화적인 방식으로 서버로부터 응답을 표현하는 데 도와줍니다.
가장 일반적으로 사용되는 마크업 언어는 HTML 과 XML 입니다.
Conclusion - 결론
이번 주제에서는, 웹 개발 프로세스가 대충 어떻게 구성되는지 배웠습니다.
왜 서버와 클라이언트 파트가 나누어져있는지,
어떻게 이러한 다른 파트들이 어떻게 상호작용하는지를요.
주로, 서버와 클라이언트 파트에 특화된 사람들은 해당 파트에서 작업합니다.
하지만, full-stack 개발자 또한 존재합니다.
풀 스택 개발자는 프론트엔드와 백엔드 개발 둘 다 작업하는 개발자를 의미합니다.
당신이 어디에 특화될지는 당신이 선호하는 것에 달려 있습니다.
words to remember
involves : 포함하다, 말아넣다
customary : 습관적인, 관례에 의한
as well as : 게다가, ~와 마찬가지로 잘
roughly : 대충, 거칠게
'Hyperskill - 컴퓨터 CS 및 영어 독해 > Introduction to Docker' 카테고리의 다른 글
YAML - YAML 문법과 사용법 (0) | 2024.07.09 |
---|---|
Interfaces - 인터페이스 (0) | 2024.07.03 |
What is object oriented programming - 객체지향 프로그래밍은 무엇인가 (0) | 2024.06.28 |
Framework - 프레임워크 (0) | 2024.06.23 |
HTTP: HyperText Transfer Protocol - HTTP에 대해서 (0) | 2024.06.21 |