CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·아이포니앙 ·MaClien ·주식한당 ·개발한당 ·일본산당 ·자전거당 ·방탄소년당 ·안드로메당 ·야구당 ·노젓는당 ·소시당 ·이륜차당 ·나스당 ·골프당 ·디아블로당 ·클다방 ·AI당 ·캠핑간당 ·어학당 ·ADHD당 ·사과시계당 ·물고기당 ·가상화폐당 ·레고당 ·안경쓴당 ·와인마신당 ·바다건너당 ·키보드당 ·위스키당 ·리눅서당 ·콘솔한당 ·땀흘린당 ·달린당 ·활자중독당 ·PC튜닝한당 ·3D메이킹 ·X세대당 ·AI그림당 ·날아간당 ·육아당 ·배드민턴당 ·농구당 ·블랙베리당 ·곰돌이당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·볼링친당 ·냐옹이당 ·문명하셨당 ·클래시앙 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·개판이당 ·동숲한당 ·날아올랑 ·전기자전거당 ·e북본당 ·갖고다닌당 ·이브한당 ·패셔니앙 ·도시어부당 ·FM한당 ·맛있겠당 ·포뮬러당 ·젬워한당 ·걸그룹당 ·차턴당 ·총쏜당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·IoT당 ·KARA당 ·꼬들한당 ·덕질한당 ·가죽당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·영화본당 ·MTG한당 ·소리당 ·노키앙 ·적는당 ·방송한당 ·찰칵찍당 ·그림그린당 ·소풍간당 ·심는당 ·패스오브엑자일당 ·라즈베리파이당 ·품앱이당 ·리듬탄당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·축구당 ·나혼자산당 ·스타한당 ·스팀한당 ·파도탄당 ·퐁당퐁당 ·테니스친당 ·테스트당 ·빨콩이당 ·공대시계당 ·여행을떠난당 ·터치패드당 ·트윗당 ·창업한당 ·VR당 ·시계찬당 ·WebOs당 ·소셜게임한당 ·WOW당 ·윈폰이당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

개발한당

자유 [개발후기] 유튜버 특가만 모아서 사이트 만들어봤습니다 (feat. 비개발자 + Claude Code) 5

2026-08-27 11:17:29 수정일 : 2026-09-02 16:26:45 222.♡.155.58
Danny Ahn

유튜브 보다 보면 유튜버들이 "설명란에 할인코드 있어요" 하는데, 

정작 그 영상을 나중에 다시 찾아서 설명란 뒤지는 게 은근히 귀찮더라고요. 

할인 기간 지나서 못 쓴 적도 많고요.


그래서 유튜버 협찬 영상 속 할인코드/특가 정보를 한곳에 모아서 보여주는 

사이트를 만들어봤습니다. 딜로(dealo.kr)라고 합니다.


저는 개발자가 아니고, VS Code에 Claude Code를 붙여서 

"이런 기능 만들어줘" → 확인 → 승인 방식으로 지금까지 몇 달째 개발해오고 있어요. 



[기술 스택]

Next.js 14 + Supabase + Vercel. 카카오 로그인, PWA Web Push 알림 지원합니다.



[재미있었던 디테일들]

- 유튜버가 협찬 영상을 올리면 YouTube Data API로 자동 감지해서 후보로 모으는데, 

  완전 자동으로 등록은 안 하고 사람이 마지막에 확인하게 만들어놨어요 

  (엉뚱한 영상이 잘못 걸리는 걸 방지하려고요).

- 최근엔 Supabase 무료 플랜의 기본 행 제한(Max Rows 1000)에 걸려서 

  관리자 통계가 조용히 틀리게 나오는 버그를 잡느라 며칠 고생했네요.

  로그가 쌓일수록 언젠가 터지는 종류의 버그라 재밌었습니다.



현재 소개 중인 리스테린 전국 최저가

화면 캡처 2026-09-02 161806.png





온라인 가격비교로 최저가 검증을 하고 있어요.

*용량 차이로 가격이 비싸 보이지만 실제로 더 저렴

화면 캡처 2026-09-02 162056.png






상품을 검색하는 사용자들에게 AI 브리핑에 활용 되고 있어요.

그리고 제품 판매처보다 더 상단에 노출 되어 있네요. 럭키비키!!

화면 캡처 2026-09-02 161935.png




화면 캡처 2026-09-02 162633.png




매일 새로운 발견, 딜로 dealo



아직 다듬을 게 많지만, 비개발자가 AI 에이전트로 여기까지 만들 수 있다는 게 

저 스스로도 신기해서 공유해봅니다. 써보시고 의견 주시면 감사하겠습니다.


Danny Ahn 님의 게시글 댓글
SIGNATURE
딜로(dealo.kr)
유튜브 영상 설명란에 흩어진 협찬 특가와 할인 링크를 한곳에 모아주는 서비스

https://www.dealo.kr/?ch=ch-xsuu
서명 더 보기 서명 가리기
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [5]
열정대마왕
IP 118.♡.154.181
08-30 2026-08-30 20:26:56
·
수고하셨습니다.
Danny Ahn
IP 222.♡.155.58
08-30 2026-08-30 20:48:36
·
@열정대마왕님 열정대마왕님 감사합니다!
Danny Ahn
IP 222.♡.155.58
09-02 2026-09-02 16:02:55
·
매일 새로운 딜을 업데이트하고 기능 개선 중이에요~ 필요한 할인 제품이 있는지 구경오세요~
쩐의여왕
IP 183.♡.71.161
09-10 2026-09-10 12:33:29
·
Max Rows 1000 때문에 관리자 통계가 조용히 틀리셨다는 대목이 눈에 걸려서 한 가지 보탭니다. 그 제한은 한 번 더 나올 자리가 있습니다.

설정 이름은 Supabase 쪽 Max rows 지만 실제로 도는 건 그 아래 PostgREST 입니다. Supabase 문서에도 Supabase provides a RESTful API using PostgREST, a thin API layer on top of Postgres 라고 되어 있고, PostgREST 문서의 해당 설정 db-max-rows 설명은 A hard limit to the number of rows PostgREST will fetch from a view, table, or function 입니다. 테이블과 뷰만이 아니라 function 이 같이 들어 있어서, 통계를 SQL 함수로 빼서 rpc 로 부르는 식으로 우회해도 같은 벽에 다시 부딪힙니다. 저 자리는 보통 우회로로 먼저 떠올리는 곳이라 미리 아시는 게 나을 것 같습니다.

그래서 총계는 행을 받아 길이를 세는 대신 count 로 받는 쪽이 안전합니다. PostgREST 문서에 To get the exact count, use Prefer: count=exact 라고 되어 있고, 값은 본문이 아니라 응답 헤더에 Content-Range: 0-24/3573458 형태로 옵니다. supabase-js 라면 select 두 번째 인자에 count 를 exact, head 를 true 로 주면 본문 없이 헤더만 받아서 행 제한과 무관해집니다.

한 가지 더, count 를 estimated 로 쓰면 정확한 값과 추정값이 갈리는 임계값이 The threshold is defined by db-max-rows 라고 되어 있습니다. Max rows 를 올리는 방향으로 푸시면 그 경계도 같이 움직여서 통계 정확도 쪽이 따라 흔들립니다.

지금 관리자 통계는 목록을 받아 클라이언트에서 세는 구조인가요, 아니면 count 로 받는 구조인가요. 목록 화면 쪽도 range 로 페이징을 잡아두셨는지 궁금합니다.
Danny Ahn
IP 222.♡.155.58
09-12 2026-09-12 21:42:11
·
@쩐의여왕님 댓글 남겨주셔서 정말 감사합니다! 딱 실무에서 겪어보신 분만 짚을 수 있는 포인트라 저도 바로 코드 다시 열어봤어요 ㅎㅎ

말씀하신 두 가지 다 맞는 얘기더라고요.

1) Max Rows, 뷰/테이블뿐 아니라 함수(RPC)에도 똑같이 걸린다는 점 — 이거 진짜 놓치기 쉬운 부분인데, 확인해보니 저희는 통계용 RPC들 만들 때 애초에 SQL 안에서 group by로 미리 다 집계해서 소수 행만 리턴하게 짜놔서 다행히 이 문제는 피해있었어요. (근데 말씀 안 해주셨으면 다시 들여다볼 생각도 안 했을 것 같아요 😅)

2) 총 개수는 count(exact)로 뽑고 실제 행은 안 끌고 오는 방식 — 이것도 방문자 수 비교나 대기 건수 같은 단순 합계 뽑는 곳엔 이미 그렇게 쓰고 있었더라구요.

근데 말씀 덕분에 겸사겸사 관리자 화면들도 싹 다시 훑어봤는데, 딜 목록 관리 화면 하나가 페이징 없이 조건에 맞는 딜을 전부 긁어오는 구조인 걸 발견했어요. 지금은 딜 개수가 70개 정도라 당장 문제될 건 없는데, 나중에 딜 수 늘어나면 말씀하신 것과 똑같은 함정에 걸릴 수 있어서 미리 손봐두려고요.

이렇게 실제 경험 바탕으로 짚어주시는 분들 덕분에 서비스가 조금씩 더 단단해지는 것 같습니다. 다시 한번 감사드려요! (클로드의 도움을 받아 작성했습니다)
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.