🦉 뀨업 - 이화 백준 사이트 리팩토링 ( 8 ) - 03.07 회의 내용
2025. 3. 7. 20:11ㆍ개발/🦉 뀨업
👀 현재 뀨업 기능
메인 페이지
- 어제 이화여대가 푼 문제 개수 조회
- 이화여대의 백준 순위 변화 그래프
- 오늘의 문제
이화여대가 안 푼 문제
- 알고리즘별 조회
- 난이도별 조회
기타
- 로그인 및 리프레시
- 페이지네이션(백엔드 완성)
💢 현재 이슈 상황
1. 쿠키....
쿠키에 대해 공부하던 도중 최근에는 서드 파티 쿠키를 브라우저들에서 지양하고 있다는 사실을 알게 되었다ㅠ
그래서 로그인 기능(핸들 쿠키 생성)은 프론트(은채)한테 넘기기로 결정했다
2. 동시성 이슈
리프레시를 누르면 DB가 싹 갈아엎어지는데(문제 다 삭제했다가 크롤링해서 다시 넣음)
사용자 A가 리프레시를 누르고 그와 동시에 사용자 B가 문제 조회를 해버리면 동시성 이슈가 발생할 것 같다는 생각...
3. 로딩
리프레시 버튼을 누르면 DB에 변화가 생기고 이것이 화면에 바로 반영이 되어야 하는데
반영되는 데에 시간이 조금 걸리는 것 같다
화면상으로는 리프레시가 완료된 것처럼 보이는데 실제로 바뀌는 데에는 시간이 좀 더 걸려서 좀 띠용스러울 것 같다
그래서 로딩 중 화면이나 리프레시 누른 뒤에 화면이 뜰 때는 확실히 화면에 바뀐 데이터가 반영된 상태로 나타났음 한다
근데 아직 어떻게 해야 할지 모르겠다... 서치해봐야딩...
4. 기여도 순위 만들쟈
이화여대 학생 순위 페이지를 어서 만들쟈!
5. 오류 메일 보내기 기능 만들쟈
사용자한테서 에러 사항 메일로 받을 수 있도록 메일 기능 만들쟈!
6. Money Money Money
AWS 프리티어 기간이 점차 끝나가고 이따...
도도도돈이 필요해...
🌹 이화여대 학생 백준 기여도 순위 조회 기능
은채가 만들어준 기여도 계산 수식
수식을 계산하기 위해 필요한 테이블들
이화여대 학생 핸들 | 푼 문제 번호 |
백준 문제 번호 | 해당 문제를 푼 이화여대 학생 핸들 |
이 데이터들은 RDBMS인 MySQL이 아닌 NoSQL 환경에다가 저장하기로 결정했다
이유는
1. 실시간성이 강한 정보(기여도 순위)를 위한 데이터들이므로 빠른 NoSQL에 저장하자!
2. 객체간 연결(학생-문제)이 너무 많아져서 복잡해질 가능성이 크다! 어차피 수식 계산을 위한 데이터라 복잡한 연결관계 생성하는 것은 지양하자!
따라서 NoSQL을 활용하기로 했구 어떤 DB를 사용할지 상의했다
NoSQL 후보
1. Redis
Redis는 생각보다 큰 데이터들을 넣는 데 사용되지 않는다고 한다
메타 데이터를 저장하는 용으로 많이 쓰인다구 함
글구 Redis를 AWS에 올리려면 ElastiCache 써야 되는데 이거 개비쌈... 에러도 잘 남;;
2. AWS의 dynanoDB
어차피 배포할 거면 AWS에 있는 DB 한번 사용해보자!
는 의견이 생겨서 요걸로 결정했당
프리티어 범위(25GB, 2천만번의 요청) 내에서는 무료라고 한닥! 쵝오!
요렇게 일단 개발 틀 잡아놨구 또 으쌰으쌰 작업해보겠다!!🔥🔥🔥
'개발 > 🦉 뀨업' 카테고리의 다른 글
🦉 뀨업 - 이화 백준 사이트 리팩토링 ( 10 ) - 학생별 기여도 순위 조회 API ( 2 ) (0) | 2025.03.29 |
---|---|
🦉 뀨업 - 이화 백준 사이트 리팩토링 ( 9 ) - 학생별 기여도 순위 조회 API ( 1 ) (0) | 2025.03.13 |
🦉 뀨업 - 이화 백준 사이트 리팩토링 ( 7 ) - MyBatis 페이지네이션 (0) | 2025.03.05 |
🦉 뀨업 - 이화 백준 사이트 리팩토링 ( 6 ) - CORS가 또... (0) | 2025.03.01 |
🦉 뀨업 - 이화 백준 사이트 리팩토링 ( 5 ) - CORS, 쿠키랑 싸우기 (0) | 2025.02.01 |