# 기능 레퍼런스

django-wireview의 주요 기능에 대한 상세 문서입니다.

**[Component API](/wireview/reference/component-api/)** — `Component`·`LiveComponent`의 공개 멤버 전부. 여기 없으면 내부다.
**[설정](/wireview/reference/settings/)** — `settings.WIREVIEW`의 키 전부와 기본값.
**[내비게이션](/wireview/reference/navigation/)** — `redirect_to`·`push_to`·`replace_to`·`params`가 각각 무엇을 다시 그리고 연결을 어떻게 하는지.
**[JavaScript 없는 첫 렌더](/wireview/reference/dead-view/)** — JS 없는 브라우저에 약속하는 것(첫 렌더·링크·폼)과 약속하지 않는 것.

## 성능 최적화

| 기능 | 설명 | 문서 |
|------|------|------|
| **temporary_assigns** | 렌더링 후 필드 자동 초기화로 메모리 절약 | [문서](/wireview/reference/temporary-assigns/) |
| **skip_render** | 불필요한 렌더링 방지. `skip_render()`·`force_render()` | [Component API](/wireview/reference/component-api/#부르는-것) |
| **HTML Diff** | 변경된 dynamic 파트만 전송, 목록 항목의 이동·삽입·삭제는 그 항목만, 상태 압축 서명 | [문서](/wireview/reference/html-diff/) |

## 실시간 기능

| 기능 | 설명 | 문서 |
|------|------|------|
| **Streams** | 대용량 리스트 실시간 조작 | [튜토리얼](/wireview/tutorial/streams-api/) |
| **Presence** | 사용자 온라인 상태 추적 | [튜토리얼](/wireview/tutorial/presence-api/) |
| **Auto Broadcast** | Django ORM 변경 자동 알림. `AUTO_BROADCAST`의 `senders`에 적은 모델만 | [설정](/wireview/reference/settings/), [`mutation()`](/wireview/reference/component-api/#오버라이드하는-것) |
| **플래시** | `put_flash()`, `[wire-flash]` | [문서](/wireview/reference/flash/) |
| **토스트** | `toast()`·`atoast()`, `{% wireview_toasts %}`: 다른 사용자·세션의 열린 페이지로 보내는 플래시 | [문서](/wireview/reference/flash/#토스트) |

## 비동기 처리

| 기능 | 설명 | 문서 |
|------|------|------|
| **Async Operations** | `assign_async`, `start_async`/`cancel_async`, AsyncResult 로딩 상태 | [문서](/wireview/reference/async-operations/) |

## 파일 업로드

| 기능 | 설명 | 문서 |
|------|------|------|
| **File Uploads** | 청크 업로드, 진행률 표시 | [튜토리얼](/wireview/tutorial/file-uploads/) |
| **Chunked Uploads (서버)** | 무상태 청크 엔드포인트, 다중 워커, 정리와 서명 키 | [문서](/wireview/reference/chunked-uploads/) |
| **External Uploads** | S3/GCS 직접 업로드 | [문서](/wireview/reference/external-uploads/) |

## 컴포넌트 시스템

| 기능 | 설명 | 문서 |
|------|------|------|
| **Slots** | 컴포넌트 콘텐츠 합성 (Phoenix 스타일) | [문서](/wireview/reference/slots/) |
| **Function Components** | 상태 없는 재사용 가능 컴포넌트 | [문서](/wireview/reference/function-components/) |
| **LiveComponent** | 독립 상태를 가진 중첩 컴포넌트 | [문서](/wireview/reference/live-component/) |
| **Lifecycle Hooks** | `on_mount` 훅, `attach_hook`으로 라이프사이클 가로채기 | [문서](/wireview/reference/lifecycle-hooks/) |
| **Boost** | `BOOST_PAGES`: 링크와 `wire-boost` 폼을 전체 로드 없이, `wireview.visit()` | [문서](/wireview/reference/boost/) |
| **Sticky** | `Meta.sticky`: boost 이동을 건너 이어지는 컴포넌트. id가 없으면 클래스에서 만든 id. 이동 알림은 `navigated()`·`wireview:navigated` | [문서](/wireview/reference/boost/#이동을-건너-살아남기-sticky) |
| **live_session** | 페이지 단위 인증 경계. 경계를 넘는 이동은 전체 로드 | [문서](/wireview/reference/live-session/) |
| **세션 읽기** | `self.session`으로 Django 세션 읽기 (읽기 전용) | [문서](/wireview/reference/session/) |
| **서버 오류 처리** | 핸들러 예외는 그 컴포넌트만 이벤트 전 상태로 다시 join, 연결은 유지. `wireview-error`, `wireview:error` | [문서](/wireview/reference/errors/) |

## 폼과 UI 피드백

| 기능 | 설명 | 문서 |
|------|------|------|
| **Optimistic UI** | 로딩 클래스, `wire-disabled-with` | [문서](/wireview/reference/optimistic-ui/) |
| **Form Feedback** | `wire-feedback-for`로 검증 오류 표시 시점 제어 | [문서](/wireview/reference/form-feedback/) |

## JavaScript 연동

| 기능 | 설명 | 문서 |
|------|------|------|
| **JS Commands** | 클라이언트 측 DOM 조작 | [구현 문서](https://github.com/itda-work/django-wireview/blob/v1.1.0/docs/implementation/js-commands.md) |
| **CSP** | 인라인 스크립트 없는 이벤트 바인딩, `'unsafe-inline'` 없는 정책과 함께 동작 | [문서](/wireview/reference/csp/) |
| **JavaScript Hooks** | 서드파티 JS 라이브러리 통합 | [문서](/wireview/reference/hooks/) |

## 개발자 도구

| 기능 | 설명 | 문서 |
|------|------|------|
| **Type Stubs** | 컴포넌트 `.pyi` 자동 생성 (`wireview_stubs`). 파이썬 쪽 | [문서](/wireview/reference/type-stubs/) |
| **편집기 지원** | 템플릿 쪽: VS Code 확장(`editors/vscode`)과 그것이 읽는 `wireview_lsp` 메타데이터 | [문서](/wireview/reference/editor-support/) |
| **Telemetry** | 이벤트·렌더·diff·브로드캐스트 계측 시그널 (옵트인) | [문서](/wireview/reference/telemetry/) |
| **System Checks** | 조용히 실패하는 함정을 `manage.py check`가 잡는다 | [문서](/wireview/reference/checks/) |
| **Agent Skill** | 앱 개발자용 에이전트 스킬 배포 (`wireview_agent_setup`) | [문서](/wireview/reference/agent-skill/) |
| **테스트 헬퍼** | `mount()`, 내비게이션 단언, 리다이렉트 따라가기, 스트림 검사 | [문서](/wireview/reference/testing/) |

---

## 문서 작성 가이드

새 기능 문서 작성 시 다음 구조를 따릅니다:

1. **개요** - 문제와 해결책
2. **작동 방식** - 내부 동작 설명
3. **사용법** - 코드 예시
4. **주의사항** - 알아야 할 제한사항
5. **실제 사용 예시** - 실무 예제
6. **관련 기능** - 연관 문서 링크
