image
Akan.js
한국어
문서컨벤션레퍼런스Cheatsheet
image
Akan.js
문서컨벤션레퍼런스Cheatsheet
MIT 라이선스 하에 배포되었습니다.
Akan.js 공식 컨설팅 서비스Akansoft
Copyright © 2026 Akan.js 모든 권리 보유.
시스템 관리자bassman
일반
• 인증
• 스키마 설계
• 엣지 컴퓨팅
• 파일 관리
• Single Sign-On
• DataList & Enum
인터페이스
• CRUD
• Endpoint
• Form
관측성
• 로깅
• 의존성 주입
• 에러 처리
• 메트릭
성능
• 캐싱
• 이미지 최적화
• 지연 로딩
• 쿼리
• 큐
• 실시간
개발
• 문서화
• 스크립트
• 도커
• 쿠버네티스
일반
• 인증
• 스키마 설계
• 엣지 컴퓨팅
• 파일 관리
• Single Sign-On
• DataList & Enum
인터페이스
• CRUD
• Endpoint
• Form
관측성
• 로깅
• 의존성 주입
• 에러 처리
• 메트릭
성능
• 캐싱
• 이미지 최적화
• 지연 로딩
• 쿼리
• 큐
• 실시간
개발
• 문서화
• 스크립트
• 도커
• 쿠버네티스
이전
인증
다음
엣지 컴퓨팅

스키마 설계

Akan에서 `constant.ts`는 데이터의 모양을 설명하는 곳입니다. 가장 쉬운 설계 방법은 그 데이터를 읽을 화면이나 API에서 시작하는 것입니다.
간단한 규칙은 이것입니다. 작고 함께 읽는 데이터는 한 document에 두고, 계속 늘어나는 데이터는 다른 model로 분리하세요.

화면에서 시작하기

field를 추가하기 전에 목록 화면, 상세 화면, 입력 form을 먼저 떠올려보세요. schema는 자주 읽는 화면을 쉽게 만들기 위한 모양이어야 합니다.
  • 목록 화면: 각 row에 어떤 작은 정보가 보여야 하나요?
  • 상세 화면: 어떤 전체 데이터를 함께 불러와야 하나요?
  • 하위 목록: 댓글이나 로그처럼 계속 늘어날 수 있는 데이터는 무엇인가요?
작은 목록 모양

관계 크기

어떤 데이터가 여러 하위 데이터를 가질 때는 먼저 몇 개까지 늘어날지 생각하세요. 개수에 따라 schema가 달라집니다.
  • One to few: 안에 넣습니다. 예: 사용자의 링크 몇 개, 게시글의 작은 설정값.
  • One to many: id나 light snapshot을 둡니다. 예: 선택된 파일들, 담당자 목록.
  • One to squillions: child model로 분리합니다. 예: 댓글, 로그, 이벤트, 장비 상태 기록.
계속 늘어나는 child model

작은 스냅샷 복사하기

작은 데이터를 복사해두면 화면이 훨씬 단순해질 때가 있습니다. 예를 들어 게시글이 작성자 light snapshot을 가지고 있으면 목록 화면에서 추가 요청이 필요 없습니다.
  • 복사하기 좋은 것: 이름, 썸네일, 작은 상태 문구.
  • 조심할 것: 매초 바뀌거나 항상 완벽히 최신이어야 하는 값.
Light snapshot

Akan Model Layer

  • `Input`: 사용자가 입력할 수 있는 field입니다.
  • `Object`: status나 counter처럼 서버가 관리하는 field입니다.
  • `Light<Model>`: 목록과 snapshot에 쓰는 작은 모양입니다.
  • `Model`: 전체 document입니다.
  • `Insight`: dashboard에 쓰는 요약 데이터입니다.
기본 모양

꿀팁

  • 완벽한 DB 다이어그램보다 사람들이 매일 쓰는 읽기 흐름을 기준으로 설계하세요.
  • 배열이 끝없이 커질 수 있다면 별도 model로 분리하는 편이 좋습니다.
  • `Light<Model>`은 작게 유지하세요. 상세 페이지가 아니라 목록 row처럼 느껴져야 합니다.
스키마 설계
화면에서 시작하기
관계 크기
작은 스냅샷 복사하기
Akan Model Layer
꿀팁