프로젝트의 경우 간헐적으로 진행합니다. 매일 프로젝트 만들지는 않지만, 프로젝트를 만들면 집중해서 만들고, 또 비수기?때는 사용을 하지 않고 그렇습니다. 계속 이렇게 하는게 맞는지, 아니면 요금제 전환이 맞는지를 어떻게 판단하면 좋을까요? /usage 에 들어가면 사용량 정보가 따로 나오진 않네요.
안녕하세요. 인덱스를 활용한 조회 성능 개선을 공부하던 중 궁금한 점이 생겨 질문드립니다. 현재 저는 OFFSET 기반 pagination을 사용하는 서비스 를 개발하고 있으며, 다음과 같은 환경에서 성능 테스트를 진행했습니다. 데이터: 약 1,000만 건 서버: EC2 t3.small DB: RDS t4g.micro k6 vus100 1. 문제 상황 초기에는 OFFSET 제한 없이 마지막 페이지까지 이동 가능하도록 구현했습니다. 하지만 데이터가 1,000만 건 수준으로 증가하자, 깊은 페이지로 갈수록 조회 속도가 급격히 느려지는 문제 를 확인했습니다. 2. 고민 및 제약 일반적으로 이 문제는 Keyset Pagination(커서 기반) 으로 해결하라고 많이 알려져 있습니다. 하지만 제 서비스는 👉 네비게이션 바를 통한 페이지 직접 이동 (ex. 1, 10, 100 페이지 클릭) 이 필요하기 때문에 Keyset 방식만으로는 요구사항을 만족시키기 어렵다고 판단했습니다. 3. 적용한 개선 방법 다음과 같은 방식으로 성능 개선을 진행했습니다. OFFSET 최대 범위를 제한 (최대 10,000 페이지 / OFFSET 100,000) 커버링 인덱스 적용 조회 방식 개선 먼저 ID만 조회 → 이후 필요한 10건만 상세 조회 전체 게시글 수(count)는 캐싱 처리 4. 성능 개선 결과 [Page 10] avg: 1.4s → 700ms p95: 4.5s → 1.8s [Page 100] avg: 17s → 1.18s p95: 24s → 3.3s [Page 1000] avg: 32.1s → 1.7s p95: 59s → 4.27s SQL 쿼리는 분석결과 약 1700MS -> 70MS 까지 단축한 것 같습니다. 5. 추가 제약사항 로그인 사용자와 비로그인 사용자의 조회 결과가 다름 (사용자별 구독 게시글이 포함됨) 따라서 캐시는 비로그인 사용자에만 적용 위 성능 수치는 로그인 사용자 기준 6. 현재 고민 위와 같이 개선했지만, 👉 여전히 성능이 충분하지 않다고 느끼고 있습니다. 특히 궁금한 점은 다음과 같습니다. 7. 질문 OFFSET 기반 pagination을 유지하면서 👉 추가로 성능을 개선할 수 있는 방법이 있을까요? 다음과 같은 방법들을 고려했는데, 방향성이 맞는지 궁금합니다. RDS를 2개를 사용하여 조회 성능 데이터를 각각 2개의 db가 처리하도록 한다? Keyset + OFFSET 혼합 방식 ( 일반적인 페이지 이동은 Keyset Pagination을 사용하고, 사용자가 특정 페이지를 직접 입력하거나 점프하는 경우에만 제한적으로 OFFSET 기반 조회를 사용하는 혼합 방식) RDS 스펙 업그레이드 또한 에펨코리아( https://www.fmkorea.com/)와 같은 대형 커뮤니티는 제가 원하는 페이지 네이션 방식을 사용하면서 깊은페이지(최대 1만)도 지원하고 동시접속자 수십만 페이지 수천~수만 대량 데이터 환경에서도 빠른 조회 성능을 유지하는데 👉 이러한 서비스들은 어떤 방식으로 pagination 및 조회 성능을 처리하는지 궁금합니다.
useEffect 가 특정 변수값을 추적하다가 바뀌면 실행되는 함수를 등록하는 기능이라고 배웠는데 deps 의존성배열에다가 state 만 넣을수 있는건가요? 아니면 props 나 useRef 변수, 외부변수도 넣을수 있나요? 예전에 vuejs 를 했었는데 그때 기억하기론 lifecycle이 js 실행되기전, dom 생성되기전 등.. 좀 다양했던거같은데 react 는 mount 하나만 있어서 mount 시점이라는게 js가 실행완료되서 html 이 생성된 시점이라는 말인가요? 보통 useEffect 는 강의처럼 변수추적시 콘솔에 찍어야 하는경우 사용하거나 mount 때 서버에 데이터 가져오는경우 사용하는거죠? 사실 콘솔추적이라는건 devtool로도 할수 있는거같아서 실무에서 어디에 많이 쓰는지 궁금합니다.
안녕하세요. 하네스 엔지니어링이 중요하다는 사실은 인지했는데 직접 하네스를 제 상황에 맞게 설정하고 만드는 게 비개발자 입장에서 상당히 어렵게 느껴집니다. 이미 공개된 superpowers나 oh-my-clauldecode 같은 도구들을 많이들 사용하시던데 비개발자 입장에서 어떤 도구들을 사용하면 좋을지 추천 부탁드립니다. 참고로 저는 온라인 쇼핑몰 통합관리 웹솔루션을 개발하려고 합니다.
클로드를 사용중에 질문 사항이 있습니다. agents 명령어로 agents를 생성할때 강의에 나오는 프롬프트 입력 후 agents를 생성을 하면, 강의에 나오는 내용과는 다르게 생성이 되고, 폴더도 .claude/agents/dev 폴더에 생성이 되지 않고 .claude/agents/next-starter-initialized.md 파일로 생성이 됩니다. 이렇게 차이가 날 수 있는 건가요?
안녕하세요! 질문을 하실 때 아래 내용을 준수 부탁드립니다. 질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요. 질문은 동영상 강의에 들어가서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그래야 어떤 강좌에서 질문하셨는지 알 수 있습니다. 영상에서 몇 분 몇 초 대를 알려주셔야 제가 한 번에 질문 내용 확인이 가능합니다. 이미 다른 누군가가 질문을 한 이력 이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁 드립니다. 학교의 과제나 타 강사의 코드 등 외부 수업 자료에 대해서는 답변하지 않습니다. 제가 다루는 커리큘럼 외의 이론이나, 너무 디테일한 컴퓨터 이론에 대해서는 답변 드리지 않습니다. 시험에 안 나오는 경우가 많고, 나와 봤자 1문제 나오는데 외워야 할 부분이 많은 것 등 (예시: 서브넷 마스크 계산)
영상에 보면 깃이그노어 설정을 하시던데 공식문서에는 전체 공유 프로젝트와 로컬용으로 구분해서 설명해두었지만 실제 커밋하여 올리면 setting.json은 업로드 되는거 같습니다. 궁금한건 그러면 공식문서는 그렇게 나눠서 하라는 지침같은건가요? local 붙냐 안붙냐에따라 시스템적으로 제어가 되는게 아니라 지침으로서 안내해주는건지 궁금합닏ㅏ
안녕하세요. 이미 어떤 기능의 mcp 서버가 설치되어 있는데 같은 기능의 플러그인으로 대체해서 사용해도 될까요? 예를 들어 context7 mcp를 이미 설치 했는데 mcp를 지우고 context7 플러그인을 설치해서 사용해도 좋을까요? mcp면 mcp, 플러그인이면 플러그인 이런식으로 하나로 통일해서 사용하고 싶은데 굳이 이렇게 할 필요는 없나요?