영화리뷰기록사이트 만들기 루틴. 각 프레임워크의 역할

 

먼저, 웹이 돌아가는 큰 그림

  • 브라우저(크롬): 웹페이지를 보여주는 극장 스크린.

  • 서버: 자료를 보관하는 도서관.

  • HTTP 요청: “이 책 빌려주세요!” 하고 보내는 신청서.

  • API: 서버에 “이런 정보 주세요”라고 묻는 창구.

  • JSON: 서버가 보내주는 정리된 표(데이터) 파일.


웹의 3기둥 (이건 무조건)

  • HTML: 화면에 뼈대 만들기. (제목, 사진, 버튼)

  • CSS: 뼈대에 입히기. (색, 크기, 배치)

  • JavaScript(JS): 화면을 움직이게 하기. (클릭하면 열기/닫기, 목록 불러오기)

메모: HTML=뼈, CSS=옷, JS=근육(움직임)


React / Vue / Svelte (프레임워크·라이브러리)

  • 공통 역할: 레고 블록처럼 화면을 “조각(컴포넌트)”으로 나눠 빠르게 조립하게 도와주는 도구.

  • React: 전 세계에서 가장 많이 쓰는 레고. 블록 종류가 많고 생태계가 큼.

  • Vue: 설명서가 친절한 레고. 진입이 쉬움.

  • Svelte: 가벼운 레고. 성능에 강점.

메모: 세 도구 모두 “컴포넌트로 쪼개서” 만든다 → 선택은 취향+팀 표준.


Vite, Webpack (개발서버/번들러)

  • 역할: 개발 중에 즉시 새로고침(HMR) 해 주고, 배포용으로 파일을 최적화/압축해 주는 포장기.

  • Vite: 빠른 포장기(요즘 표준). npm run dev 하면 개발 서버가 켜짐.

  • Webpack: 예전부터 널리 쓰던 포장기.

메모: Vite = 개발할 때 빠르게, build = 배포용 포장.


Tailwind CSS (스타일)

  • 역할: CSS를 **짧은 단어(유틸 클래스)**로 빠르게 쓰게 해주는 옷장 정리 도우미.
    예) bg-gray-100 p-4 rounded → 회색배경, 패딩, 둥근모서리.

메모: 디자인 시스템이 없을 때 빠르게 예쁘게 만들기 좋음.


React Router / Vue Router (길찾기)

  • 역할: 사이트 안에서 페이지 이동을 흉내 내는 지도 앱.

  • SPA(한 장짜리 앱)인데도 주소가 /movie/1 처럼 바뀌는 척 하게 해줌.

메모: “어떤 주소에 어떤 화면을 보여줄지” 규칙표.


상태관리(공용 가방)

  • 문제: 여러 화면이 **같은 정보(로그인, 장바구니)**를 함께 써야 함.

  • Redux Toolkit: 모든 화면이 같이 보는 큰 가방. 규칙대로 꺼내고 넣음.

  • React Query: 서버에서 가져온 데이터를 영리하게 캐시하고 자동 새로고침.

메모: 앱상태(권한/카트)=Redux, 서버데이터(API목록)=React Query → 역할 분리.


npm, node_modules (도구 장터·창고)

  • npm: 라이브러리를 다운받는 앱 마켓.

  • node_modules: 받은 라이브러리가 쌓이는 창고 폴더(자동 생성).

  • 자주 쓰는 명령:

    • npm i 라이브러리 설치

    • npm run dev 개발 서버 실행

    • npm run build 배포용 포장

메모: 창고가 망가져도 npm i 하면 다시 채워짐.


Git / GitHub (저장·협업)

  • Git: 내 코드의 시간여행 저장소(버전관리).

  • GitHub: 인터넷에 올려 백업/협업하는 장소.

  • 핵심 명령:

    • git add . 변경 모으기

    • git commit -m "메시지" 저장

    • git push 올리기

메모: 큰 변화마다 커밋을 남겨 두면 복구가 쉽다.


API & 데이터 (밖에서 정보 가져오기)

  • API 부르기: fetch("주소") 혹은 axios.get("주소")

  • JSON 읽기: res.json(){ title: "...", items: [...] }

  • 예시: 영화 검색 API에서 목록을 받아 카드로 뿌림.

메모: API는 약속된 질문/답변 형식.


Firebase / Auth (로그인)

  • 역할: 회원가입/로그인/로그아웃을 빨리 붙이는 문지기.

  • 구글/이메일 등 소셜 로그인도 쉽게.

메모: 비밀키는 .env 파일에, 깃에 올리지 않기!


배포(사람들이 보게 만들기)

  • GitHub Pages: 정적 사이트 배포(React는 HashRouter가 편함).

  • Vercel/Netlify: Next.js/SPA 배포가 아주 쉬움.

  • 순서: npm run build → 배포 설정 → 접속 링크 공유.

메모: 배포 후 강력 새로고침으로 캐시 지우고 확인.


자주 묻는 질문(초·중학생 버전 Q/A)

Q. React랑 Vue, 뭐가 달라요?
A. 둘 다 레고예요. React는 가장 큰 마트, Vue는 쉬운 설명서가 강점. 어느 걸 써도 “조각으로 나눠 만들기”는 같아요.

Q. Vite는 왜 써요?
A. 빨리 달리는 개발 자동차라서요. 저장하면 화면이 즉시 바뀌고, 배포용으로 예쁘게 포장도 해 줍니다.

Q. Redux가 꼭 필요해요?
A. “모든 화면이 같이 보는 가방(공용 상태)”이 필요할 때만. 서버에서 가져오는 목록은 React Query가 더 편해요.

Q. Tailwind는 뭐가 좋아요?
A. CSS를 짧은 단어로 빠르게 조합해서, 디자인 뼈대 잡기가 빨라요.

Q. npm이랑 node_modules는요?
A. npm은 앱 마켓, node_modules는 내 폴더 속 창고. npm i 하면 창고에 쌓여요.


1장 요약 메모(복붙용)

  • HTML=뼈, CSS=옷, JS=움직임

  • React/Vue=레고(컴포넌트로 조립)

  • Router=지도(주소↔화면 규칙)

  • Redux=공용 가방(앱 상태), React Query=서버 데이터 캐시

  • Tailwind=옷장(스타일 빠르게)

  • Vite=개발 자동차+포장기(Dev/Build)

  • npm=마켓, node_modules=창고

  • API=창구, JSON=정리된 답장

  • Firebase Auth=문지기(로그인)

  • 배포=사람들에게 보여주기(GH Pages/Vercel)

댓글

이 블로그의 인기 게시물

2025 풀스택 개발자 로드맵: 언어·프레임워크·DB·배포까지 한 번에

풀스택 전반(React + Next.js 포함) 스택 맵

📘 Day 2 교재 (반복문 & 함수)