코딩크리처 2024. 6. 22. 22:49

hyperskill - Web development 영어 원문

웹 개발은 웹사이트의 웹 어플리케이션을 생성하는 프로세스입니다.

웹 어플리케이션을 생성하는 하나의 접근법은

server-sideclient-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-sideServer-side 라는 용어는 웹 개발로부터 온 용어입니다.

이 용어는 이 어플리케이션 코드는 어디서 실행되는가 를 우리에게 말해 줍니다.

하지만 왜 클라이언트와 서버 파트를 나눌까요?

왜 우리는 유저 인터페이스 표현과 서버 로직을 각각 분리해야 할까요?

여기에 이에 대한 몇 개의 이유들이 있습니다 :

  • 우리는 프론트엔드와 백엔드 로직을 독립적으로 배치할 수 있습니다.
    이로서 에러의 수를 최소화 할 수 있습니다.
    예를 들어, 우리는 일반적인 프로세스를 수정하지 않고도 사이트가 보이는 것을 변경 할 수 있습니다.
  • 우리는 구조화된 데이터가 저장될 서버가 필요합니다.
  • 클라이언트 사이드의 데이터는 아마 오래되었지만, 서버의 응답은 주로 업데이트되어있습니다.
  • 수백만의 클라이언트의 데이터 흐름을 관리하는 것 보다, 몇 개의 서버의 프로세스들을 조화시키는 것이 더 쉽습니다.
  • 몇 개의 태스크들은 서버로부터 업데이트 될 필요가 없습니다. 개인 컴퓨터에서 수행하는 것이 더 빠릅니다.

How do frontend and backend communicate - 프론트와 백은 어떻게 소통하나


웹 사이트가 올바르게 작업하기 위해서, 클라이언트와 서버 파트는 반드시 상호작용해야 합니다.

이는 HTTP 요청을 통해 일어납니다.

가장 기본적인 변형으로, 프론트와 백 사이의 상호작용은 밑의 상황과 같이 일어납니다 :

  1. 클라이언트는 HTTP 프로토콜을 사용하여 데이터를 검색하거나 수정하기 위해 서버에 요청을 보냅니다.
  2. 백엔드 프로세스들은 이러한 요청들을 HTTP 를 통해 응답을 반환합니다.
  3. 프론트엔드는 응답을 받고 이를 가공하며, 유저에게 결과로 표현합니다.

클라이언트와 서버 간의 데이터를 교환하는 가장 유명한 형태는 JSON 입니다.

하지만 다른 것들도 존재합니다.

Markup 언어들은 유저 친화적인 방식으로 서버로부터 응답을 표현하는 데 도와줍니다.

가장 일반적으로 사용되는 마크업 언어는 HTMLXML 입니다.


Conclusion - 결론


이번 주제에서는, 웹 개발 프로세스가 대충 어떻게 구성되는지 배웠습니다.

왜 서버와 클라이언트 파트가 나누어져있는지,

어떻게 이러한 다른 파트들이 어떻게 상호작용하는지를요.

주로, 서버와 클라이언트 파트에 특화된 사람들은 해당 파트에서 작업합니다.

하지만, full-stack 개발자 또한 존재합니다.

풀 스택 개발자는 프론트엔드와 백엔드 개발 둘 다 작업하는 개발자를 의미합니다.

당신이 어디에 특화될지는 당신이 선호하는 것에 달려 있습니다.



words to remember


involves : 포함하다, 말아넣다

customary : 습관적인, 관례에 의한

as well as : 게다가, ~와 마찬가지로 잘

roughly : 대충, 거칠게