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
관측성
• 로깅
• 의존성 주입
• 에러 처리
• 메트릭
성능
• 캐싱
• 이미지 최적화
• 지연 로딩
• 쿼리
• 큐
• 실시간
개발
• 문서화
• 스크립트
• 도커
• 쿠버네티스
이전
큐
다음
문서화

실시간

실시간 기능은 WebSocket 연결을 유지해 작은 이벤트를 빠르게 주고받게 합니다. 채팅, 게임, 라이브 에디터, 대시보드, 접속 상태에 사용하세요.
  • `message`는 client에서 server로 보내는 이벤트입니다.
  • `pubsub`은 server에서 room으로 보내는 broadcast입니다.
  • `room`은 누가 이벤트를 받을지 정합니다.

message 사용

브라우저에서 서버로 보내는 작은 동작에는 `message`를 사용하세요. 읽음 처리, 커서 이동, 입력 중 표시, 게임 입력이 좋은 예입니다.
읽음 처리

pubsub 사용

서버가 room 안의 모든 사람에게 이벤트 하나를 보내야 한다면 `pubsub`을 사용합니다. 새 채팅 메시지가 가장 쉬운 예입니다.
채팅 broadcast

채팅 흐름

저장되어야 하는 데이터라면 먼저 데이터베이스에 기록하고, service가 성공한 뒤 publish하세요.
저장 후 publish
클라이언트에서는 room을 구독하고 새 message가 도착하면 로컬 UI 상태를 갱신합니다. 구독 코드는 목록을 소유한 화면 가까이에 두세요.
클라이언트 구독

Room 설계

  • `chatId`, `gameId`, `documentId`처럼 좁은 room key를 사용하세요.
  • 모든 사용자가 정말 필요한 이벤트가 아니라면 거대한 공용 room을 피하세요.
  • 허용된 사용자만 보내거나 구독할 수 있도록 guard를 사용하세요.

꿀팁

  • Payload는 작게 유지하세요. 전체 page보다 id와 작은 변경분을 보내세요.
  • 명령에는 `message`, 알림에는 `pubsub`을 사용하세요.
  • 이벤트 유실이 위험하다면 먼저 저장하고 저장 후 publish하세요.
  • 게임이나 커서는 너무 잦은 이벤트를 client에서 throttle하세요.
실시간
message 사용
pubsub 사용
채팅 흐름
Room 설계
꿀팁