디비/웹 서버에 대한 나의 이해 정리
- 프론트엔드(클라이언트): 이용자의 웹브라우저에서 직접적으로 보이는 부분을 다루는 기술들
- 백엔드: 웹브라우저가 주고받는 데이터를 기록하고 가져오는 등 일을 처리하는 기술들
- 데이터 베이스: 백엔드가 다르는 데이터를 보관하고 검색해오는 기술
- 네트워크: 여러 컴퓨터 사이의 데이터 통신에 필요한 기술들
- 에디터/툴: 각 주제 개발 작업에 필요한 도구들 선택과 활용
- 기초 자료 구조: 프론트엔드나 백엔드 프로그래밍 모두에 쓰이는 기초 지식 및 데이터를 원하는 형태로 찾기 좋게 연결하는 구조
***
프론트엔드에서 요청하면 백엔드의 서버가 응답해주고 그 응답 내용을 웹브라우저가 화면에 표시한다.
즉, 프론트엔드가 요청을 해서 서비스를 받는 입장 = 클라이언트
백엔드가 그 요청을 받아서 작업을 처리해주는 입장 = 서버
***
1-1. 프론트엔드 (클라이언트)
- 종류: HTML, CSS, 자바스크립트 (3개 모두 배워라)
- HTML: 웹문서 본문을 적는 텍스트 포맷
- CSS: 그 문서의 스타일을 다루는 속성들
- 자바스크립트: 웹브라우저가 이해하고 실행할 수 있는 프로그래밍 언어
- 기술을 잘 다루기위해 필요한 추가 요소
- React.js: 보통의 웹사이트보다 현란한 페이지를 만들고 싶다면 필요
- AngularJS: 덩치가 커서 볼 필요도 없음
- Vue.js: 보통의 웹사이트처럼 간단한 요소만 필요하다면 사용
(추가 요소 기술까지는 배울 여력이 없을거같다. 화려한 브라우저가 필요할까…)
2-1. 백엔드 (서버)
프론트엔드에서 보일 자료들을 만들어 내는 영역으로 HTML 문서를 그때그때 생성하여 보여준다.
- 언어의 종류: 자바, 파이썬, 루비, node.js, Go, Swift 등
- 프레임워크 종류: 스프링, 장고, 루비 온 레일스 등
모든 클라이언트에 따라 같은 페이지를 보여주는 것을 정적 페이지
클라이언트에 따라 각자 다른 페이지를 보여주는 것을 동적 페이지