1. 문제 정의 및 초기 상황 팀 미배정 사용자를 조회하는 API를 구현하는 과정에서 여러 가지 문제가 발생했습니다. 주요 문제는 다음과 같습니다: 팀 미배정 사용자 조회 시, 모든 트랙의 사용자가 조회됨: GET 요청을 통해 특정 트랙에 속한 사용자를 조회해야 했지만, 모든 트랙의 사용자가 조회되는 문제가 발생했습니다. 예상 원인: 쿼리나...
프로젝트 배경: 서버사이드 렌더링을 활용한 농촌 일자리 플랫폼 구축 프로젝트에서 초기에는 사용자 인증 정보를 HTTP 헤더를 통해 JWT 토큰 형태로 전송하였습니다. 이 방식은 사용자가 매 API 요청마다 토큰을 수동으로 첨부해야 하는 불편함과 함께, 웹 애플리케이션의
기업회원의 전체 조회 기능은 다음과 같은 요구사항을 포함하고 있었습니다:페이지네이션을 통해 대량의 데이터를 효율적으로 처리필터링을 통해 사용자가 원하는 조건에 맞는 데이터만 조회조회 시 각 기업회원의 조회수(viewCount)를 증가시킴초기에는 viewCount 필드가
포트폴리오 트러블슈팅 섹션 상세 작성 예시 프로젝트 개요 목적: 대규모 사용자 기반을 대상으로 하는 포인트 관리 시스템에서 포인트 적립 및 사용 내역 조회 기능 개선. 기술 스택: Java, Spring Framework, JPA, QueryDSL, Swagger f
프로젝트 개요: 스프링 부트 버전을 3.3.0으로 업그레이드하면서 발생한 QueryDSL 설정과 관련된 문제를 해결한 경험을 설명합니다. 이 과정은 프로젝트의 데이터 접근 계층에 대한 안정성과 성능을 향상시키는 경험을 하는 단계였습니다. 문제 상황 설명: 스프링 부트 3.3.0을 도입하면서 javax 패키지의 사용이 jakarta 네임스페이스로 전환되었습...
1. 기능 설명 포인트 사용내역 조회 기능을 통해 사용자는 본인의 포인트 적립 타입, 적립액, 생성 시간을 확인할 수 있습니다. 이를 무한스크롤 페이지네이션 방식으로 구현하여 응답 시간을 최적화하였습니다. 2. 문제 및 해결 과정 2.1 초기 구현 및 문제 발생 초기 문제: 초기 구현 시에는 포인트 적립내역 조회 기능을 페이지네이션 없이 구현하였습니다....
문제 1: IllegalArgumentException 오류 발생 문제 설명 REST API를 호출할 때 다음과 같은 오류가 발생했습니다: 문제 원인 이 오류는 Spring이 런타임에 메서드 인자의 이름을 확인할 수 없어서 발생하였습니다. 더 자세히 말하자면, @PathVariable 또는 @RequestParam 어노테이션이 있는 메서드 인자가 명...
기존 리뷰 관리 시스템의 기능을 개선하여 RESTful 원칙에 더욱 부합하도록 설계하고, 효과적인 데이터 검증 및 예외 처리 로직을 구현하는 것을 목표로 했습니다. 주요 개선 사항으로는 API 경로의 RESTful 재설계, 입력 데이터 유효성 검증, 사용자별 리뷰 작성 제한 등이 있습니다. 문제 정의 비RESTful API 경로: 초기 API 설계에서 P...
사용자와 기업 사용자가 다양한 활동(예: 리뷰 작성, 회원가입 등)을 통해 포인트를 적립할 수 있도록 하는 포인트 시스템을 구현했습니다. 기존 시스템에서는 포인트 적립 로직이 여러 서비스 클래스(AuthService, ReviewService 등)에 분산되어 있어 코드 중복이 발생하고 유지보수성이 떨어졌습니다. 이러한 문제를 해결하기 위해 단일 책임 원칙(...
저희 시스템에서는 사용자와 기업 사용자 간의 인증 절차를 다루는데, /auth/login 경로를 통한 일반 사용자 로그인은 잘 작동하였으나, /auth/cp-login 경로를 통한 기업 사용자 로그인 시 JWT 토큰이 헤더에 포함되지 않는 문제가 발생했습니다. 이로 인해 기업 사용자는 시스템 리소스에 접근할 수 없는 문제가 있었습니다. 해결 과정 문제 ...
프로젝트에서 팀 생성 기능을 구현하는 과정에서, 사용자가 팀을 생성할 때 여러 예외 상황이 발생하였습니다. 주요 문제로는 데이터베이스 연동 오류, 유효하지 않은 입력 처리, 그리고 동시성 문제가 있었습니다. 진단 과정 데이터베이스 연동 오류 문제: 팀 정보를 데이터베이스에 저장할 때 ConstraintViolationException이 발생하였습니다...
애플리케이션의 구성 파일을 세분화하는 접근 방식은 각 구성의 관리를 용이하게 하고, 각 설정의 책임을 명확히 하는 데 도움이 됩니다. 제시하신 CorsConfig, JpaConfig, RestTemplateConfig, SwaggerConfig, WebSecurityC
서론: Spring Boot 애플리케이션 개발 과정에서 두 가지 주요 문제에 직면했습니다. 첫 번째 문제는 TrackParticipantsService 클래스의 updateParticipantTrack 메소드가 처음에 새 트랙의 이름을 매개변수로 받았던 것과 관련이
.bashrc에 환경변수를 추가해줬는데 왜 인식하지 못할까? CodeDeploy를 사용하고 계시면 이 글을 보시는 걸 추천드립니다!