Files
2nd/10_Wiki/Topics/AI_and_ML/프론트엔드 기초 구조 이해 핵심 목적.md
2026-05-10 22:08:15 +09:00

142 lines
5.5 KiB
Markdown

---
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<T>(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 학습의 핵심 목적 정리 |