티스토리 뷰


GDWEB 수집 범위를 15페이지까지 늘렸다.
사이트가 한 번에 150곳 늘었고
섹션은 1,900개 가까이 됐다.

숫자 올라가는 거 보면서 흐뭇했는데
그날 밤 이상한 걸  발견함

1. 관리자 화면이랑 실제 화면이 다름


관리자 화면 '후기'에는 솔트룩스, NHN Cloud가 있는데
실제 레퍼런스 화면 '후기'에는 PRISM, 클래스101이 있다.
개수도 13개 vs 11개. 아예 다름 ㅠㅠ

같은 DB를 보는데 왜 다르지?

2. Supabase 1,000행 제한


DB에 한 번 물어보면 최대 1,000개까지만 돌려준다.
코드에는 `limit=20000`이라고 써놨는데
조용히 1,000개에서 잘리고 있었다.
에러도 없다… 그래서 더 무섭.

섹션이 1,000개를 넘는 순간
- 관리자 화면은 오래된 순 1,000개
- 레퍼런스 화면은 최신 순 1,000개
를 받아서 서로 다른 절반을 보고 있었음

3. 1,000개씩 나눠서 끝까지 받기

async function restAll(path) {
  const out = [];
  for (let offset = 0; ; offset += 1000) {
    const rows = await rest(`${path}&limit=1000&offset=${offset}`);
    out.push(...rows);
    if (rows.length < 1000) break;   // 덜 왔으면 끝
  }
  return out;
}
```

주의할 점은 나눠 받을 땐
정렬 기준(order)을 꼭 고정해야 한다.
안 그러면 페이지 사이에서 같은 게
두 번 오거나 빠질 수 있움
Supabase 쓰는 분들은 목록이 1,000개 넘어갈 때
꼭 확인해보시길!

4. 고친김에 하나더 고침


레퍼런스 화면은 속도 때문에
저장해둔 화면을 잠깐 보여준다.

근데 관리자에서 분류를 고쳐도
한동안 예전 분류가 보였다.
내가 잘못 고친 줄 알았다 ㅎㅎ

그래서 관리자에서 저장하면
그 즉시 레퍼런스 화면도 새로 그리게 바꿨다.

5. 리스트가 화면을 도배함


사이트가 늘면서 생긴 두 번째 문제.
신문사, 쇼핑몰 사이트가 들어오니까
'뉴스·공지', '상품 목록' 카테고리가
한 사이트의 비슷한 리스트로 줄줄이 채워졌다.

레퍼런스는 다양함이 생명인데
한 사이트가 한 카테고리를 다 먹어버린 것.

그래서 목록형 카테고리는 사이트마다
앞쪽 2개만남기고
나머지는 자동으로 숨기게 했다.
리스트 모양은 2개만 봐도 충분하다.

6. 에이전시 사이트는 빼기로 함


세 번째 문제는 웹에이전시·제작사 자기 사이트.
포트폴리오 썸네일이 잔뜩 깔려 있어서
섹션으로 자르면 '남의 사이트 캡처의 캡처'가 된다
레퍼런스로도 애매하다.

그래서 에이전시·제작사 자기 회사 사이트는 AI 검수에서 제외했다

이미 들어온 건 관리자에 버튼을 만들어서 정리했다.
- 이 사이트 통째로 빼기: 섹션 전부 숨기고 재수집도 멈춤
- 이 사이트의 ○○ 전부 숨기기(앞으로도): 지금 있는 것 + 재캡처로 새로 들어오는 것까지 자동으로 숨김

한 번 규칙을 걸어두고 다음 수집 때도 알아서 적용되게 해서 매번 손으로 숨길 필요가 없다.

다음 편은 도메인 연결 + 구글·네이버 검색 등록.
그리고 커뮤니티에 올리기 전에 서버비 0원 다시 점검하다가 발견한 것.
(또 하나 터졌었다 ㅋㅋ)

찐망고 레퍼언스 섹선별 수집하기
https://ref.jjinmango.kr/

#Supabase #1000행제한 #Nextjs캐시 #revalidatePath #바이브코딩 #사이드프로젝트 #웹퍼블리싱 #찐망고레퍼런스


반응형