brunch

You can make anything
by writing

C.S.Lewis

by 감자윤 Nov 10. 2021

문과생도 쉽게 이해하는
브런치 웹 프론트엔드 탐색


고객 접점에 있는 PM, 기획자는 VOC를 다른 구성원에게 잘 전달해야 할 의무가 있다.

여기서 '잘' 전달한다는 것은 구성원들과 커뮤니케이션이 원활하게 이루어지는 것을 뜻한다.


이것이 PM이 개발 지식을 충분히 습득해야 하는 이유이다.


특히 개발자가 부족한 환경 속에서 리소스는 정해져 있기에, 개발자들이 보다 효율적으로 일할 수 있도록 돕는 것도 PM의 역할이다. 개발자들의 말을 오해 없이 이해하고, 원하는 바를 명확하게 전달할 때 업무의 효율성이 증가되는 것은 당연한 이야기일 것이다. 


이에 개발에 대해 첫걸음을 떼면서 배운 프론트엔드 3가지 기술 스택을 정리해 보고자 한다.






프론트엔드(Front-end) VS 백엔드(Back-end)의 차이



이미지 출처 : 티스토리, 물리학과 직장인, 백엔드 프론트엔드 차이와 예시



우선 프론트엔드의 개념부터 짚고 넘어가야 할 것 같다.


프론트엔드는 쉽게 말해 UI/UX 개발을 의미한다. 이에 프론트엔드 개발자란 사용자 눈에 보이는 화면을 개발하는 사람을 일컫는다. 화면의 구조를 만들고, 화면 스타일을 지정하며, 기능들이 상호작용 할 수 있도록 만드는 역할을 한다. 


반면 개발자 직무에는 백엔드 개발자도 있다. 백엔드 개발자는 눈에 보이지 않는 부분을 개발하는 사람들이다. 즉 웹/앱 서버나 데이터 베이스 부분을 담당하며, 실질적으로 움직이는 기능을 처리하는 역할이다. 


프론트엔드와 백엔드 모두를 다룰 줄 아는 개발자들도 존재하는데, 이들을 '풀스택 개발자'라고 부른다.







브런치 웹 화면을 통해 이해하는 
프론트엔드의 3가지 기술 스택



프론트엔드를 개발하기 위해서는 3가지의 언어(HTML, CSS, Javascipt)를 이해해야 한다.

이에 브런치 웹 프론트엔드 화면을 보며 이 3가지의 언어의 차이를 이해하고 설명해 보려 한다. 


출처 : https://dev.to/




HTML (Hypertext Markup Language)

웹 화면 구조 설정



HTML이란 위 이미지처럼 웹 화면의 뼈대를 만드는 프로그램 언어이다.

화면의 레이아웃, 페이지 구조, 글, 이미지 등 정적인 요소들을 다룬다.


HTML의 기본 골격은  <!DOCTYPE html><HTML><HEAD><TITLE><BODY> 로 이루어져 있다.


이미지 출처 : https://dinfree.com/
<!DOCTYPE html> 
HTML5 문서를 선언하는 구문. 웹브라우저에게 문서가 HTML5로 작성됨을 알림

<HTML> 
HTML 문서의 시작과 끝을 말함

<HEAD>  
CSS, JavaScript, 메타태그 등이 위치. 문서의 상단 제목을 표시하는 <TITLE>  태그도 포함됨

<BODY> 
문서 본문에 해당하는 부분으로 실제 화면에 나타나는 메인 부분을 말함

- 출처 : 2019 짧굵배 (https://dinfree.com/)



위 구조에서 <Body>가 실제 화면에 나타나는 부분이기 때문에 

브런치 <Body>에 속하는 웹 메인 화면을 분석해 보면 다음과 같다. 



이미지 출처 : 브런치

위 이미지를 보면 브런치 웹 메인 화면에서 CSS는 총 4개의 요소로 나눌 수 있다. 


일반적으로는 <header>, <main>, <footer> 3가지 영역으로 나뉘지만, 브런치는 <banner> 부분을 <header> 위에 따로 설정한 것 같다. 


그리고 이는 화면의 코드 편집기를 열어 확인할 수 있었다.


이미지 출처 : 브런치 코드 편집기





CSS (Cascading Style Sheet)

웹 사이트 스타일 지정



CSS는 스타일만을 위한 언어라 볼 수 있다. 

폰트, 배경색 등 보이는 화면 레이아웃을 꾸며주는 언어이다. 


과거에는 HTML에서 디자인도 함께 다뤘으나, 정보 코드(HTML)에서 CSS 언어로 디자인 코드만 짤 수 있도록 분리하면서 문서 전체의 일관성을 유지하고 보다 효율적으로 개발하게 되었다. 



CSS에는 웹 화면에 보이는 레이아웃 스타일 모두가 해당된다고 볼 수 있다.

그러나 이를 조금 더 자세히 파헤쳐 보기 위해, 위에서 본 '코드 편집기'로 브런치의 <banner> 부분 CSS를 탐색해 보았다. 


이미지 출처 : 브런치  _ <banner>  css  화면 (1)
이미지 출처 : 브런치  _  <banner> css  화면 (2)
이미지 출처 : 브런치  _  <banner>  css  화면 (3)



위 이미지가 브런치 <banner> css 일부분이다.


민트 색상으로 표시된 용어들을 보면 화면 레이아웃을 어떻게 디자인할지, 예를 들어 이미지 전체 보이게 할 것인지, 일부만 노출되게 할 것인지, 그리고 무슨 폰트를 사용할 것인지 등을 알 수 있다.


여기서 생소하게 느껴졌던 몇 가지 개념을 알아 보았다.


· overflow :  hidden 

콘텐츠가 너무 커서 메인 화면 내에서 모두 보여주지 못할 때 화면 밖에 있는 콘텐츠 일부를 숨긴다는 의미


· position : relative 

기본 고정 위치에서 원하는 값만큼 이동시키는 것을 의미 (원래의 위치에서 상대적인 위치를 지정)


· display : block

요소를 block 요소처럼 표시하는 것을 의미 (요소 앞 뒤로 줄 바꿈)


· Box Model (화면(3) 박스 부분)

Box Model은 margin, border, padding 등의 크기, 값들을 컬러로 구분하여 표시해 둔 것을 의미

(박스를 선택하면 해당 영역을 같은 컬러로 표시해 준다)



▼ 예시

이미지 출처 : RightBrain (https://blog.rightbrain.co.kr/)




Javascript

웹사이트 상호 작용 추가



Javascript(이하 자바스크립트)는 요소와 콘텐츠들을 동적으로 바꾸는, 웹사이트의 상호 작용성을 더해 주는 언어이다. 예를 들어 버튼을 클릭하면 팝업창이 뜨거나 다른 페이지로 이동하는 것, 그리고 애니메이션 효과를 주는 것 등을 의미한다. 


웹 개발에서 많이 쓰이는 언어이기도 한 자바스크립트는 HTML과 CSS에서 개발된 웹 내의 기능을 서로 유기적으로 연결해준다. 그래서 우리의 신체의 근육 및 신경으로도 비유할 수 있다. 



브런치 웹 프론트엔드에서 보이는 자바스크립트 요소로 볼 수 있는 동작들을 예시로 들면 다음과 같다.


이미지 출처 : 브런치


이미지 출처 : 브런치



버튼을 클릭했을 때 화면이 옆으로 슬라이드 되거나 새로운 창이 뜨는 모든 동작들이 자바스크립트 요소에 속한다. 아예 다른 페이지로 이동되는 부분도 여기에 속하나, 위 이미지(브런치 프론트엔드 예시)에서는 제외되었다. 






※ 참고 자료

https://dinfree.com/lecture/frontend/121_html_1.html

https://zunoxi.github.io/programming/2020/06/24/dev-web-html/

https://muzukphysics.tistory.com/

https://mainia.tistory.com/2408

https://blog.rightbrain.co.kr/?p=11693

https://aboooks.tistory.com/85

https://keichee.tistory.com/277


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari