📊 TODO
다음주 TODO ✅
정은체
실제 데이터로 수식 테스트해보고 미세 조정
프론트단 쿠키 생성 / 리프레시 로직 다시 만들기
페이지네이션 구현
랭킹 수식 구현 순위 api 연결 ( 동시성 문제 처리
히언
VPC 돈나가는 이유 알아내기
랭킹 db 만들기
다이너모 db 구축
소은
랭킹 수식 구현 순위 api 만들기
📊 ewhaRanking
랭킹 리프레시
- 매 정각 (매일) 전체 갱신
- 리프레시 버튼 : 리프레시 누른 사람 정보만 갱신
시간복잡도 개선
- 리프레시 갱신 로직
- 수식 계산 매번? : 랭킹 db 만들기
- db 쿼리 횟수 : 이화인 * 문제수 ㄴㄴ -> 이화인 +1 방식?
DB 구조 ( sql / nosql )
기존 sql 추가
랭킹 테이블 스키마(MySQL)
- 핸들(기본키), 점수
다이너모 테이블 스키마
- 파티션 두개로 설정
- Student 파티션: 각 학생 당 푼 문제들 번호 저장
- Problem 파티션: 각 문제별 푼 사람 수 저장
Student 파티션 아이템 예시 { Type: Student, Handle: celina324 SolvedProblems: { NS: [1231, 2313, 2333, ...] } } Problem 파티션 아이템 예시 { Type: Problem, Number: 10264, SolvedStudents: 222 }
리프레시 연타 문제
Semaphore
여러 프로세스(또는 스레드)가 공유 자원에 접근할 수 있는 최대 동시 실행 개수를 제어하는 기법
1. 서버 측 (Backend)
• 요청이 일정 횟수를 초과하면 차단 (Rate Limiting)
• Redis 또는 DB를 활용한 세마포어 관리
2. 클라이언트 측 (Frontend)
• 버튼 또는 특정 액션이 연속해서 실행되지 않도록 막음
• localStorage 또는 sessionStorage 활용
'Club|Project > 이대솔브닥웹사이트 - 뀨엘 | Frontend(React,Next.js)' 카테고리의 다른 글
📊 뀨업 : 2차 릴리즈 준비 - 밤샘끝내기 (실패) (0) | 2025.03.29 |
---|---|
📊 뀨업 : 2차 릴리즈 준비 - 회의 9 : ewhaHistory api - 그래프 / 어제 이력 (0) | 2025.03.07 |
📊 뀨업 : 2차 릴리즈 준비 - 회의 8 : 어제 순위 / 어제 푼 문제 api연결 (0) | 2025.02.22 |
📊 뀨업 : 2차 릴리즈 준비 - 회의 7: 찐 세미로그인/리프레시 기능 완성 (0) | 2025.02.15 |
📊 뀨업 : 2차 릴리즈 준비 : 로드밸런서 깔아끼워 보기 https 드디어,,,왜 이렇게 오래,,, (0) | 2025.02.15 |