YAMI KOREA / JOURNAL

알림은 5개인데,
목록은 왜 3줄일까요?

야미코리아의 알림 숫자와 목록 길이가 달라도 곧바로 오류라고 볼 수는 없습니다. 배지는 읽지 않은 알림을 세고, 목록은 여러 알림을 묶어서 보여 줄 수 있기 때문입니다. 같은 글의 댓글 세 개가 한 줄에 들어가면, 알림 다섯 개를 세 줄로 표시해도 계산은 맞습니다.

핵심은 단위와 범위입니다.

배지의 단위는 알림, 화면의 단위는 행입니다. ‘전체 읽음’도 현재 선택한 분류를 기준으로 설명되어 있어, 모든 분류의 숫자가 동시에 0이 된다고 가정하면 안 됩니다.

숫자, 행, 상태를 따로 정의합니다.

기본 이용 FAQ ↗는 알림 아이콘의 숫자를 읽지 않은 알림의 수로 설명하며, 한 게시물의 활동이 묶일 수 있다고 안내합니다. 알림·회원 활동 FAQ ↗에서는 분홍색 점을 읽지 않은 상태의 표시로 설명합니다. 이 두 설명을 연결하면 ‘배지 수 = 화면의 행 수’라는 전제가 필요하지 않음을 알 수 있습니다.

알림 사건
댓글, 팔로우, 시스템 안내처럼 알림을 만들 수 있는 각각의 사건입니다. 이 예시는 사건마다 하나의 알림이 있다고 가정합니다.
표시 행
화면에 그려지는 한 묶음입니다. 여러 사건을 하나로 묶는 경우 사건 수보다 적어집니다.
읽음 상태
각 알림을 읽었는지 나타내는 값입니다. 사건이 없어지는 것과 읽은 상태가 되는 것은 서로 다릅니다.

설명용 데이터 다섯 개로 직접 계산했습니다.

실제 회원 기록을 가져오지 않고 다음 다섯 항목을 만들었습니다. 댓글 세 개는 같은 묶음, 팔로우와 시스템 소식은 각각 별도 묶음으로 고정했습니다. 실제 서비스의 내부 묶음 키를 알아냈다는 뜻은 아닙니다.

설명용 데이터 · 처음에는 다섯 항목 모두 읽지 않음
항목표시 묶음예시 분류미확인 알림 수
C1, C2, C3같은 글의 댓글활동3
F1새 팔로우활동1
S1시스템 소식소식1
읽지 않은 알림3 + 1 + 1 = 5표시 묶음1 + 1 + 1 = 3

이 예시에서 ‘5인데 3줄밖에 없다’는 관찰은 누락의 증거가 아닙니다. 서로 다른 단위를 비교한 결과입니다. 반대로 어떤 묶음이 어떤 사건을 포함하는지 확인하지 않았다면, 숫자가 맞는다는 이유만으로 모든 항목이 정상이라고 확정할 수도 없습니다.

댓글 묶음을 읽으면 5에서 2가 됩니다.

댓글 세 개를 읽음으로 바꾸면 남은 알림은 F1과 S1 두 개입니다. 배지가 한 번에 세 개 줄어든 것은 팔로워 세 명이 사라지거나 게시물이 삭제되었다는 뜻이 아닙니다. 이 모델에서는 세 개의 읽음 상태가 바뀐 결과입니다.

재계산 자료: 다섯 항목과 단계별 계산 결과 JSON. 문서 작성 시 같은 데이터에서 5 → 2 → 1 → 0을 계산해 표와 대조했습니다.

‘전체 읽음’의 전체는 어느 범위인가요?

공개 알림 FAQ는 현재 선택한 분류에 대해 읽음 처리가 적용된다고 설명합니다. 이를 예시의 ‘활동’ 분류에 적용하면 C1·C2·C3·F1은 읽음이지만, ‘소식’으로 분류한 S1은 대상 밖입니다. 해당 FAQ의 전체 읽음 설명 ↗

같은 데이터에 서로 다른 읽음 범위를 적용한 결과
순서읽음 처리한 항목남은 알림미확인 항목이 있는 묶음
처음없음53
댓글 묶음 확인C1·C2·C322
활동 분류 전체 읽음C1·C2·C3·F111
남은 소식까지 확인C1·C2·C3·F1·S100

마지막 열은 미확인 항목이 남아 있는 묶음 수입니다. 읽은 행을 실제 서비스가 숨기는지, 계속 보여 주는지까지 뜻하는 표는 아닙니다. 총 표시 행의 수와도 구분해야 합니다. ‘전체 읽음 후 1이 남았다’고만 기록하면 어떤 분류가 선택되어 있었는지 빠지므로 원인을 판단하기 어렵습니다.

최근 팔로우가 줄었다고 팔로워가 줄어든 것은 아닙니다.

알림 FAQ에서 ‘최근 팔로우’는 관련 알림 중 읽지 않은 수입니다. 이 정의를 따르면 F1을 읽었을 때 최근 팔로우 알림은 1에서 0이 되어도 팔로우 관계가 해제되었다고 결론 내릴 수 없습니다. 전체 팔로워 수를 확인하려는 질문과 알림을 모두 읽었는지 확인하려는 질문은 다른 화면의 다른 값에 관한 것입니다.

이 원리는 쪽지와 알림의 구분에도 적용됩니다. 쪽지는 회원 사이의 메시지, 알림은 활동 안내이므로 한쪽의 읽음 표시를 다른 쪽의 회신 확인으로 대신하면 안 됩니다. ‘누가 어떤 내용을 보았는가’와 ‘어떤 상태 값이 바뀌었는가’를 분리하는 것이 핵심입니다.

오류라고 판단하기 전에 조건을 맞춥니다.

  1. 단위를 적습니다. 배지 숫자인지, 미확인 묶음 수인지, 화면의 전체 행 수인지 구별합니다.
  2. 선택한 범위를 남깁니다. 분류와 정렬이 다르면 비교 대상이 달라집니다.
  3. 확인 전후를 나눕니다. 화면을 읽는 동안 상태가 바뀔 수 있으므로 서로 다른 시점의 값을 하나로 섞지 않습니다.
  4. 새로 들어온 항목을 구분합니다. 같은 조건을 비교하려 해도 중간에 사건이 추가되었다면 합계가 달라집니다.
개인정보 없이 남기는 기록 예

활동 분류 / 안읽은순 / 확인 전 배지 5 / 댓글 묶음 확인 뒤 2 / 활동 전체 읽음 뒤 1 / 소식 분류에 미확인 항목 1

위 문장은 실제 장애 제보가 아니라 이 모델을 설명하는 기록 예입니다. 다른 회원의 메시지 본문이나 계정 식별자를 공개할 필요가 없습니다. 숫자와 조건만으로 설명이 되지 않는 경우에는 오류라고 단정하지 말고 확인하지 못한 조건을 남겨야 합니다.

이번 분석에서 확인한 범위

2026-11-05에 공개 FAQ의 알림 수, 묶음 표시, 읽음 범위에 관한 설명을 비교했습니다. 그 정의에 맞춰 별도의 다섯 항목을 만들고, 읽음 처리 대상의 차집합을 계산했습니다. 계산 결과가 자료 파일과 본문 표에서 같은지 확인했습니다.

로그인한 실제 계정, 알림 도착 지연, 모바일 화면의 표시 타이밍, 서버의 묶음 기준은 시험하지 않았습니다. 공개 설명을 해석하는 모델이며, 운영 서버를 직접 재현한 결과나 성능 측정치가 아닙니다. 문서가 바뀌면 모델의 가정도 함께 검토해야 합니다.