Akan.js
한국어
English
한국어
문서
컨벤션
레퍼런스
Cheatsheet
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
꿀팁