[코딩야학 7기] 프로젝트 03

1 분 소요

대충은 알고 있었지만 블로그를 만들면서 좀 더 명확히하고 싶어졌다. 웹을 개발하기 위해서는 무엇을 알아야하고 백엔드와 프론트엔드가 무엇인지 알아보자.

  • 프론트엔드(front-end) : 이용자의 웹브라우저에서 직접적으로 보이는 부분을 다루는 기술들
  • 백엔드(back-end) : 웹브라우저가 주고받는 데이터를 기록하고 가져오는 등의 뒷 단의 일을 처리하는 기술들
  • DB(database) : 백엔드가 다루는 데이터를 보관하고 검색해오는 기술
  • 네트워크(network) : 여러 컴퓨터 사이의 데이터 통신에 필요한 기술들

프론트엔드(front-end)

HTML5, CSS, JavaScript가 주측이라고 보면된다. 내가 느낀 바로 설명해보면

  • HTML5 : 웹 문서의 본문
  • CSS : 웹 문서의 스타일을 다룸
  • JavaScript : 웹브라우저가 이해하고 실행할 수 있는 프로그래밍 언어

프론트엔드에서 무엇인가 요청을 하고, 그 요청을 받은 백엔드의 서버가 응답을 주고, 그 응답 내용을 웹브라우저가 화면에 표시한다.
요청을 해서 서비스를 받는 입장 클라이언트 측(Client-Side), 요청을 받아서 처리하여 응답을 주는 입장 서버 측(Server-side) 라고도 한다.

이 기술을 좀 더 편하게 다루기 위한 것들이 익히 들어왔던 React, Angular, Vue 등이 있다.

백엔드(back-end)

백엔드는 프론트엔드에 보일 자료들을 만들어 내는 영역이다. Java, Python, Ruby 등의 언어나 Spring, Django, Ruby on Rails 등의 프레임워크가 백엔드 영역에 속한다.

백엔드에서는 프론트엔드에 보여 줄 HTML문서를 그때그때 생성해서 내려준다.

  • 정적 페이지(Static) : 한 번 작성하고 잘 바뀌지 않는 페이지
  • 동적 페이지(Dynamic) : 그때그때 변하는 새로운 페이지

백엔드 개발은 주로 동적 인 처리를 다룬다.

백엔드는 특히 성능 튜닝의 작업이 효과적으로 드러나는 분야라, 아주 사소한 영역까지 더 빠르게 개발하려는 노력이 깃드는 분야이다.

백엔드는 특성상 프로그래밍 언어의 선택이 자유롭고 다양하다. Java, Python, Ruby 중 하나의 언어가 선택되고, JavaScript 언어를 백엔드에서 쓰는 Node.js, Go, Swift라는 언어 등이 있다.

마무리

혼란스러웠던 머리가 좀 정리가 되는 것 같다. 무작정 현재 쓰고 있는 Jekyll theme 인 minimal-mistake를 따라하려니 머리가 복잡했었는데 흩뿌려져있던 지식들이 조금은 자리를 잡은 것같다.
참고 : HappyProgrammer님의 블로그

댓글남기기