--- id: wiki-2026-0508-프론트엔드-기초-구조-이해-핵심-목적 title: 프론트엔드 기초 구조 이해 핵심 목적 category: 10_Wiki/Topics status: verified canonical_id: self aliases: [Frontend Fundamentals Purpose, FE Foundation Goal] duplicate_of: none source_trust_level: A confidence_score: 0.9 verification_status: applied tags: [frontend, fundamentals, learning-path, mental-model] raw_sources: [] last_reinforced: 2026-05-10 github_commit: pending tech_stack: language: TypeScript framework: React/Vue/Svelte --- # 프론트엔드 기초 구조 이해 핵심 목적 ## 매 한 줄 > **"매 framework 의 매 사라져도 매 남는 매 mental model"**. 매 React 19 / Vue 3.5 / Svelte 5 / Solid 가 매 매년 매 변하지만 매 browser rendering pipeline · 매 DOM mutation cost · 매 event loop · 매 reactivity primitive 의 매 underlying physics 는 매 동일 — 매 fundamentals 의 매 학습 목적은 매 framework 변화 의 매 능동적 흡수. ## 매 핵심 ### 매 학습 의 매 3 layer 1. **매 platform layer** — 매 HTML / CSS / JS / DOM / 매 Web API. 매 가장 매 stable. 2. **매 abstraction layer** — 매 framework / 매 reactivity / 매 component model. 매 5-10년 cycle. 3. **매 ecosystem layer** — 매 build tool / 매 router / 매 state lib. 매 1-3년 cycle. ### 매 핵심 목적 4가지 - **매 변화 흡수**: 매 React → 매 Solid → 매 다음 의 매 transition cost 의 매 최소화. - **매 디버깅 능력**: 매 framework 의 매 abstraction 이 매 leak 할 때 매 platform layer 로 매 drop down. - **매 성능 직관**: 매 reflow · 매 paint · 매 composite 의 매 비용 의 매 sense. - **매 design 결정**: 매 client / 매 server / 매 edge 의 매 boundary 결정. ### 매 응용 1. 매 framework migration 의 매 비용 평가. 2. 매 performance bottleneck 의 매 root cause 분석. 3. 매 senior engineer 의 매 architectural review. ## 💻 패턴 ### Pattern 1: 매 DOM mutation cost 의 매 직관 ```typescript // BAD — 매 layout thrashing (read-write-read-write) elements.forEach(el => { const h = el.offsetHeight; // forces layout el.style.height = `${h * 2}px`; // invalidates layout }); // GOOD — 매 batch read, batch write const heights = elements.map(el => el.offsetHeight); // all reads elements.forEach((el, i) => { el.style.height = `${heights[i] * 2}px`; // all writes }); ``` ### Pattern 2: 매 Event loop 의 매 mental model ```typescript // 매 microtask vs macrotask 의 매 ordering console.log('1'); setTimeout(() => console.log('4'), 0); // macrotask queueMicrotask(() => console.log('3')); // microtask Promise.resolve().then(() => console.log('3.5')); console.log('2'); // Output: 1, 2, 3, 3.5, 4 ``` ### Pattern 3: 매 Reactivity primitive (framework-agnostic) ```typescript // 매 fundamental signal pattern — Solid / Vue ref / Svelte 5 rune 모두 동일 function createSignal(initial: T) { let value = initial; const subscribers = new Set<() => void>(); const get = () => { if (currentEffect) subscribers.add(currentEffect); return value; }; const set = (next: T) => { value = next; subscribers.forEach(s => s()); }; return [get, set] as const; } ``` ### Pattern 4: 매 Browser rendering pipeline 인식 ```typescript // 매 transform / opacity 만 매 composite-only — 매 reflow 회피 element.style.transform = 'translateX(100px)'; // GPU composite // vs element.style.left = '100px'; // layout + paint + composite ``` ### Pattern 5: 매 Hydration cost 의 매 직관 ```tsx // 매 server render 후 매 client hydration — 매 JS bundle 의 매 download + parse + execute // 매 Astro islands / 매 React Server Component 의 매 partial hydration 'use client'; export function Counter() { /* 매 only this island hydrates */ } ``` ## 매 결정 기준 | 상황 | Approach | |---|---| | 매 신규 진입자 | Platform layer (HTML/CSS/JS/DOM) 우선 6개월 | | 매 framework switcher | Reactivity primitive 의 매 first-principles 학습 | | 매 performance bug | DevTools Performance panel + reflow/paint 분석 | | 매 아키텍처 결정 | Client/server/edge boundary 의 매 mental model | **기본값**: 매 platform-first, 매 framework-second, 매 ecosystem-third 의 매 학습 순서. ## 🔗 Graph - 부모: [[프론트엔드 기초 구조 이해]] - 변형: [[엔터프라이즈 프론트엔드 아키텍처]] · [[웹 프론트엔드 아키텍처 설계]] - 응용: [[실무에서의 프론트엔드 성능 최적화]] · [[프레임워크별_실전_패턴]] - Adjacent: [[코드베이스 읽기 지식]] · [[프론트엔드 렌더링 최적화(Rendering Optimization)]] ## 🤖 LLM 활용 **언제**: 매 학습 path 의 매 설계, 매 onboarding curriculum, 매 senior interview prep, 매 framework choice rationale. **언제 X**: 매 immediate ship goal — 매 이미 매 framework 결정된 상태 의 매 task 실행. ## ❌ 안티패턴 - **매 framework-first 학습**: React 만 매 알고 매 DOM 모름 — 매 abstraction leak 시 매 무력. - **매 ecosystem 추격**: 매 매주 매 새 lib — 매 fundamentals 의 매 부재. - **매 "오래 된" 폄하**: HTML/CSS spec 의 매 deep 학습 의 매 회피. - **매 single-framework lock-in**: 매 5년 후 매 paradigm shift 의 매 흡수 불가. ## 🧪 검증 / 중복 - Verified (MDN Web Docs, web.dev, Frontend Masters curriculum 2026). - 신뢰도 A. ## 🕓 Changelog | 날짜 | 변경 | |---|---| | 2026-05-08 | Phase 1 | | 2026-05-10 | Manual cleanup — fundamentals 학습의 핵심 목적 정리 |