본문 바로가기

Projects/청하-청년을 위한 커뮤니티 서비스56

[청하] 밸런스 게임/토론 기능 - (6) v2 댓글 기능 구현 👇밸런스게임/토론 관련 게시글더보기1. 설계2. 댓글 기능 수정 (with. 엔드포인트 버전 관리)3. 게임 조회 기능 구현4. 댓글 조회 기능 개선 (feat. N+1 문제 방지를 위한 설계와 구현)5. 게임 선택 기능 구현6. v2 댓글 기능 구현 - 현재 게시글목차 2025.01.16 이번에는 수정된 버전의 댓글 등록과 신고 기능을 구현한다.주요 개선 목표댓글 타입(Enum) 기반 분기 및 대상 ID 통합신고 요청 구조 단순화 및 중복 신고 방지 로직 추가댓글 등록 / 댓글 신고 기능 1. 프로젝트 구조src/main/java/com/example/withpeace/│├── domain/ # 도메인 모델 (엔티티)│ └── Comment.java # 댓글 엔티티│├── re.. 2025. 5. 16.
[청하] 밸런스 게임/토론 기능 - (5) 게임 선택 기능 구현 👇밸런스게임/토론 관련 게시글더보기1. 설계2. 댓글 기능 수정 (with. 엔드포인트 버전 관리)3. 게임 조회 기능 구현4. 댓글 조회 기능 개선 (feat. N+1 문제 방지를 위한 설계와 구현)5. 게임 선택 기능 구현 - 현재 게시글6. v2 댓글 기능 구현목차 이전 설계에 이어 밸런스 게임 기능 중 게임 선택 기능을 구현했다."밸런스 게임"은 매일 주어지는 두 가지 선택지(A 또는 B) 중 하나를 사용자가 선택하면, 실시간으로 A/B 선택 결과가 반영되어 모두가 결과를 공유할 수 있는 기능이다.주요 특징하루에 하나의 게임만 존재하며, 오늘 날짜의 게임만 선택 가능하다.과거 게임의 결과는 조회/댓글 작성만 가능하고, 선택(참여)은 불가하다.한 사용자는 한 게임에 한 번만 선택할 수 있으며, 선.. 2025. 5. 16.
[청하] 청년정책 Open API 개편에 따른 정책 관련 코드 리펙토링 (1) 목차 2025.02.231. 청년 정책 Open API 개편 대응 및 구조 개편 배경기존 청년 정책 데이터 수집 시스템은 XML 기반 Open API를 대상으로 설계되어 있었으며,RestTemplate 기반 호출 방식과 Jackson XML 파서를 통해 데이터를 처리했다.그러나 Open API 개편 이후, 다음과 같은 변화가 발생하면서 전체 시스템의 구조 개편이 필요해졌다.Open API 개편 배경 및 주요 변경점응답 형식: XML → JSON 구조로 전면 개편 (XML 구조도 제공하지만 JSON 사용으로 선택)호출 URL: https://www.youthcenter.go.kr/go/ythip/getPlcy요청 방식: pageNum, pageSize, rtnType=json 등의 파라미터를 이용한 페이징.. 2025. 5. 15.
[청하] 청년정책 Open API 개편에 따른 데이터 비교 (기존 vs 개선후) 목차 1. 기존 필드와 새로운 API 필드 매칭기존 필드에서 새로운 API 필드로 변환 가능 여부 분석기존 필드 (Response)기존 DTO (YouthPolicyResponseDto.java)기존 필드 설명 (Response)새로운 API 필드 (youthPolicyList)새로운 API 필드 설명(youthPolicyList)매칭 가능 여부idbizId정책 idplcyNo정책번호✅ (DTO 필드명 변경)titlepolyBizSjnm plcyNm정책명✅ (DTO 필드명 변경)introducepolyItcnCn정책 소개plcyExplnCn정책설명내용✅ (DTO 필드명 변경)classificationpolyRlmCd정책 분야 코드bscPlanPlcyWayNo기본계획정책방향번호⚠️ (정책 분야 코드 변경됨.. 2025. 5. 15.
[청하] 밸런스 게임/토론 기능 - (4) 댓글 조회 기능 개선 (feat. N+1 문제 방지를 위한 설계와 구현) 👇밸런스게임/토론 관련 게시글더보기1. 설계2. 댓글 기능 수정 (with. 엔드포인트 버전 관리)3. 게임 조회 기능 구현4. 댓글 조회 기능 개선 (feat. N+1 문제 방지를 위한 설계와 구현) - 현재 게시글5. 게임 선택 기능 구현6. v2 댓글 기능 구현2025.01.13 이전 글에서는 밸런스 게임 조회 기능을 구현하면서 페이징 처리, 날짜 포맷팅, 참여 가능 여부 계산, 이전/다음 게임 이동 기능을 설명했다.이번 글에서는 밸런스 게임 조회 시 함께 제공되는 댓글 목록과 댓글 작성자의 선택 정보를 효율적으로 조회하기 위한 방법을 다룬다.단순한 JPA 기본 조회 방식만 사용하면, 밸런스 게임 조회 시 댓글 작성자 정보와 사용자 선택 정보를 각각 조회하면서 N+1 문제가 발생할 수 있다. 이.. 2025. 4. 30.
[청하] 밸런스 게임/토론 기능 - (3) 게임 조회 기능 구현1 👇밸런스게임/토론 관련 게시글더보기1. 설계2. 댓글 기능 수정 (with. 엔드포인트 버전 관리)3. 게임 조회 기능 구현 - 현재 게시글4. 댓글 조회 기능 개선 (feat. N+1 문제 방지를 위한 설계와 구현)5. 게임 선택 기능 구현6. v2 댓글 기능 구현목차 이전 설계에 이어 밸런스 게임 기능 중 게임 선택 기능을 구현했다."밸런스 게임"은 매일 주어지는 두 가지 선택지(A 또는 B) 중 하나를 선택해 결과를 공유하는 게임이다.주요 특징하루에 하나의 게임만 존재하며, 과거 날짜의 게임은 이미 종료되어 선택 불가하다.과거 날짜의 게임에 댓글 작성은 가능하지만, 선택(참여) 자체는 오늘 날짜의 게임에만 가능하다.같은 게임에서 한 사용자는 한 번만 선택 가능하도록 제약을 두었다.선택 이후에는 .. 2025. 4. 29.
[청하] 밸런스 게임/토론 기능 - (2) 댓글 기능 수정 (with. 엔드포인트 버전 관리) 👇밸런스게임/토론 관련 게시글더보기1. 설계2. 댓글 기능 수정 (with. 엔드포인트 버전 관리) - 현재 게시글3. 게임 조회 기능 구현4. 댓글 조회 기능 개선 (feat. N+1 문제 방지를 위한 설계와 구현)5. 게임 선택 기능 구현6. v2 댓글 기능 구현2025.01.13 과거 날짜의 게임에는 댓글 작성을 가능하지만, 참여(선택)은 불가능하도록 제한한다.게임 화면에서 사용자는 해당 게임에 대해 댓글을 작성하고, 다른 사람의 의견도 확인할 수 있다.댓글 조회 시, 댓글 작성자의 선택 정보도 함께 보여준다. (선택하지 않았으면 null 처리)선택 내역과 댓글을 어떻게 효율적으로 관리할지, N+1 문제(댓글 조회 시 사용자 정보, 선택 정보 등 다중 JOIN)도 고려해야 한다. 밸런스 게임에 .. 2025. 4. 12.
반응형