Skip to content

[chore] Main 최신화 - #241

Merged
minwoo-3 merged 46 commits into
mainfrom
develop
Oct 10, 2026
Merged

minwoo-3 merged 46 commits into
mainfrom
develop

Conversation

@minwoo-3

Copy link
Copy Markdown
Contributor

✨ 작업 내용

이번 PR에서 어떤 작업을 했는지 간단히 요약해주세요.


🔍 리뷰 시 참고사항

  • 리뷰어가 알면 좋은 변경 이유, 배경, 고려했던 점 등을 적어주세요.

✅ 체크리스트

  • 문서(README, .env.example 등) 변경이 필요한 경우 작성 또는 수정했나요?
  • 작업한 코드가 정상적으로 동작하는 것을 직접 확인했나요?
  • 필요한 경우 테스트 코드를 작성하거나 수정했나요?
  • Merge 대상 브랜치를 올바르게 설정했나요?
  • PR에 관련 없는 작업이 포함되지 않았나요?
  • 적절한 라벨과 리뷰어를 설정했나요?

📎 관련 이슈(선택)

  • Close #

kimseongchan0914 and others added 30 commits October 7, 2026 18:16
호실 명단·봉사 명단·DataGSM 학생 id 단건 조회가 쓰지 않는 회원 테이블을 같이 조인했다.
회원이 필요한 동기화 경로(findAllByDatagsmStudentIdIn)는 그대로 둔다.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
AdminVerifier가 요청마다 회원 행을 읽던 것을 30초 서버 메모리 기억으로 줄인다.
로그인·DataGSM 동기화로 역할이 바뀌면 커밋 뒤 항목을 지워 권한 회수가 바로 반영된다.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- 스캔이 방금 읽은 학생을 markAttendedFor로 넘겨 출석 기록 안에서 학생을 다시 읽지 않는다(동의·호실 확인은 메모리에서 유지)
- 토큰과 세션을 Lua 한 번으로 읽어 Redis 왕복을 2번에서 1번으로 줄인다

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- AI 응답 뒤 세션·후보를 다시 읽던 것을 세션이 열려 있는지만 확인하는 쿼리 1개로 대체
- 얼굴로 찾은 학생을 markAttendedFor에 넘겨 출석 기록 안에서 다시 읽지 않는다

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
코드에 고정된 200명 상한을 checkup.face.max-candidates(FACE_MAX_CANDIDATES, 기본 200)로 옮긴다.
기본값은 그대로라 동작은 바뀌지 않는다.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…queries

[refactor] 얼굴 인식 프레임의 중복 DB 조회 줄이기
- Hikari 풀 크기 10(DB_POOL_SIZE), 가득 찼을 때 대기 10초(DB_POOL_TIMEOUT_MS)를 명시
- 운영 서버 JVM에 -XX:+ExitOnOutOfMemoryError 적용, SERVER_JAVA_OPTS로 변경 가능
- 힙 크기·컨테이너 메모리 제한은 운영 VM 정보가 없어 정하지 않음

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…es-config

[refactor] 얼굴 인식 후보 상한을 설정값으로 변경
- compose.prod.yaml의 SWAGGER_ENABLED 기본값을 false로(빈 값도 false)
- .env.example: SWAGGER_ENABLED=false와 공개 기준 설명, SESSION_COOKIE_SECURE의 https/http 설명

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
[feat] 대시보드에 얼굴 프레임 처리 시간과 AI 호출 시간 패널 추가
[feat] 회원 id로 찾은 학생 id를 기억해 학생 조회 쿼리 줄이기
[refactor] 관리자 확인의 역할 조회를 짧게 기억
…ed-member-join

# Conflicts:
#	src/main/java/com/checkup/checkup/domain/member/repository/StudentRepository.java
…ewer-reads

# Conflicts:
#	src/test/java/com/checkup/checkup/domain/attendance/service/AttendanceServiceTest.java
리뷰 반영: @SpringBootTest 대신 ApplicationContextRunner로 DataSource 설정만 올린다.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
[chore] 운영 Swagger 기본을 비공개로 하고 세션 쿠키 설명 추가
…r-join

[refactor] 회원을 쓰지 않는 학생 조회에서 member 조인 제거
[refactor] QR 스캔의 중복 학생 조회와 Redis 왕복 줄이기
Fresh-Banana and others added 16 commits October 8, 2026 22:33
[chore] DB 커넥션 풀 설정을 명시하고 OOM 시 JVM 종료
LOADTEST=true일 때만 실행한다. QR 스캔·학생 홈·관리자 조회의 응답 시간과 호출당 쿼리 수를 build/loadtest/report.md에 쓴다.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
후보 수만큼 insert하던 것을 INSERT ... SELECT 한 문장으로 바꿔 세션 생성 쿼리를 204개에서 4개로 줄인다.
저장되지 않은 학생이 섞이면 이전처럼 FACE_NO_ENROLLED_STUDENTS로 세션째 취소한다.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
[test] 출석 시간대 요청을 서비스 계층에서 동시 호출하는 부하 측정 추가
[refactor] 얼굴 세션의 후보 학생을 한 문장으로 저장
[refactor] 학생·관리자 겸용 API의 권한 확인에 관리자 역할 기억 사용
[chore] 재시작·배포 때 처리 중인 요청을 마친 뒤 종료하도록 우아한 종료 설정
[fix] 앱을 닫아도 로그인 유지되도록 세션 쿠키 max-age 추가
[docs] README를 배지·목차·표·아키텍처 그림으로 다시 구성
@minwoo-3
minwoo-3 merged commit 5924cb1 into main Oct 10, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants