Vue 기반 프론트엔드 개발 전반 학습하여
환경 설정(Node, Vue CLI)부터 시작해 SPA 구조와 컴포넌트 기반 개발 방식과
프론트엔드 애플리케이션이 어떻게 구성되고 동작하는지를 이해하는 데 집중한 주였다.
Node.js와 Vue CLI를 설치하고 프로젝트를 생성 및 프론트엔드 개발 환경 구성,
Vue 프로젝트의 핵심 구조 이해
main.js : 애플리케이션의 시작 지점으로, Vue 앱을 생성하고 Router, Pinia, Vuetify 같은 전역 설정을 등록하는 역할
App.vue : 루트 컴포넌트로 전체 화면의 기본 틀을 구성
components / views :
router : URL과 화면을 연결하는 라우팅 설정
→ Vue는 컴포넌트 기반 구조로 동작한다는 것
.vue 파일의 기본 구조(template / script / style), 화면과 데이터를 연결하는 방법 학습
data() : 화면에서 사용할 상태(변수) 정의
methods : 사용자 이벤트 처리 로직 작성
이벤트 처리 : @click, @keyup 등을 통해 사용자 동작에 반응
반응형 시스템
v-model
→ Vue는 데이터 중심으로 화면이 자동 갱신되는 구조
화면을 동적으로 구성하기 위한 문법 학습
이를 활용해 목록 화면과 상태에 따른 UI 처리
Vue Router를 이용해 페이지 이동을 구현
$router.push() 또는 <router-link> 사용→ 프론트엔드에서 페이지 이동이 서버 요청이 아니라
클라이언트에서 화면만 교체하는 구조
부모 컴포넌트에서 자식 컴포넌트로 데이터를 전달하는 props 개념을 학습
여러 컴포넌트에서 공통으로 사용하는 데이터를 관리하기 위해 Pinia를 적용
→ 프론트엔드에서도 상태 관리 설계가 중요하다
Axios를 사용해 백엔드 API와 통신하는 기능 구현
또한 로그인 시:
Vuetify를 사용해 레이아웃과 UI를 구성
→ 디자인을 직접 만들지 않고도 빠르게 UI를 구성하는 방법
컴포넌트 생명주기(created 등)를 활용해 초기 데이터를 로드하고,
EventSource(SSE)를 통해 실시간 주문 수신 기능을 구현
또한 컴포넌트 종료 시 연결을 해제하는 등
생명주기 기반 로직 처리의 필요성을 이해
프론트엔드 애플리케이션이 어떻게 동작하는지 전체 흐름을 이해한 주였다.
프론트엔드는 단순 화면이 아니라
→ 상태 관리가 핵심인 애플리케이션이라는 걸 느꼈다
백엔드와 달리
→ “데이터 흐름을 어떻게 관리할 것인가”가 가장 중요했다
SPA에서는
특히 느낀 점:
백엔드만 잘해서 서비스가 완성되지 않는게 맞겠지?
프론트까지 이해해야 서비스 개발자가 되지 않을까??...
다만,
기능 중심으로 반복 경험
프론트 구조 감각 키우기
백엔드 프로젝트에 직접 적용
이번 주는 Vue 문법을 배운 것이 아니라
**“프론트엔드가 어떻게 동작하는지 감을 잡은 주”였다.