Conversation
There was a problem hiding this comment.
2주차 과제 수고하셨습니다!
단계별 쿼리 구현 과정이 정말 체계적입니다! 기본 SELECT부터 시작해서 JOIN 추가 → 필요한 컬럼만 선택 → WHERE 조건 → 페이징까지 발전시켜가는 과정이 명확하게 보여서 학습 흔적이 훌륭합니다. 특히 홈 화면 쿼리에서 처음에는 JOIN user_mission으로 했다가 진행 안한 미션도 보여줘야 해서 LEFT JOIN으로 수정하신 과정까지 기록하신 점이 인상적이네요!
Cursor based 페이징 구현도 정확합니다! CONCAT(LPAD(UNIX_TIMESTAMP(created_at), 20, '0'), LPAD(user_mission_id, 10, '0'))로 created_at + id 조합 커서를 만드셨고, 서브쿼리로 커서값을 비교해서 페이징 처리하신 점이 좋습니다. 또, 리뷰 조회 쿼리에서 DATE_FORMAT(created_at, '%Y.%m.%d')로 포맷팅하신 것도 훌륭합니다!
수고하셨습니다!
munwalk
left a comment
There was a problem hiding this comment.
3주차 과제 수고하셨습니다!
API 설계가 체계적입니다! GET /home/progress, GET /home/todo-missions로 홈 화면 기능을 명확히 구분하셨고, GET /missions?status=진행중으로 Query String을 활용해서 진행중/완료를 필터링하신 점이 좋습니다. PATCH /missions/{missionId}/success도 RESTful하게 설계하셨네요!
Authorization 헤더를 거의 모든 API에 일관되게 적용하신 점, Query String으로 regionId와 status를 받아서 필터링하신 점도 훌륭합니다. Response Body까지 정의해서 어떤 데이터가 반환되는지 명확하게 작성하셨고, API 목록을 표로 깔끔하게 정리하신 점도 좋습니다!
다만, 미션 성공 API의 Request Body에 ownerCode가 있는데 이게 무엇인지 설명이 없어서 조금 헷갈립니다. 그리고 Response Body 예시가 있으면 프론트엔드 입장에서 더 명확하게 이해할 수 있을 것 같아요!
수고하셨습니다!
✅ 2/3주차 워크북 완료 🎉
워크북을 완료한 챌린저분들, 수고 많으셨습니다!
이곳에 학습 진행 중 트러블슈팅(문제 해결 경험), 커밋별 설명, 그리고 소감을 자유롭게 남겨주세요.
서로의 경험을 공유하며 성장해봐요! 🚀
🛠️ 트러블슈팅 (Troubleshooting)
문제
원인 분석
해결 방법