2025/01 40

Day 109 - 플러스 프로젝트 3단계 중, 과제 두 개만 더 해내 보자

1. 프로젝트 진행 상황 및 계획(1) Baro5Nda(바로온다) 프로젝트 관련🥇  ① 통합 검색 기능 리팩토링하기 (진행 중) ② 쿠폰 기능 구현하기 (진행 전)③ 장바구니 기능 구현하기 (진행 전) (2) 플러스 프로젝트 관련🥈 ① 도전 과제 3단계 - QueryDSL을 사용하여 검색 기능 만들기 (완료)② 도전 과제 3단계 - Transaction 심화 (완료)③ 도전 과제 3단계 - AWS 활용 마스터 (진행 중)④ 도전 과제 3단계 - 대용량 데이터 처리 (진행 전)(3) 특강 준비하기🥉  ① Request Body vs Request Param vs Path Variable (완료)② 자료구조(List, Map, Set) (진행 전)③ 스트림(Stream) 및 람다(Lambda) (진행 ..

Day 108 - 플러스 프로젝트 3단계 중, 첫 특강 진행 (수정 중)

1. 프로젝트 진행 상황 및 계획(1) Baro5Nda(바로온다) 프로젝트 관련🥇  ① 통합 검색 기능 리팩토링하기 (진행 중) ② 쿠폰 기능 구현하기 (진행 전)③ 장바구니 기능 구현하기 (진행 전) (2) 플러스 프로젝트 관련🥈 ① 도전 과제 3단계 - QueryDSL을 사용하여 검색 기능 만들기 (완료)② 도전 과제 3단계 - Transaction 심화 (진행 중)③ 도전 과제 3단계 - AWS 활용 마스터 (진행 전)④ 도전 과제 3단계 - 대용량 데이터 처리 (진행 전)(3) 특강 준비하기🥉  ① Request Body vs Request Param vs Path Variable (완료)② 자료구조(List, Map, Set) (진행 전)③ 스트림(Stream) 및 람다(Lambda) (진..

10단계: "세상에, 'HttpMessageNotWritableException'이라니! 순환 참조에 걸린 사람? 저요!" (수정 중)

[문제]가게(Store), 카테고리(Category), 중간 테이블(Store Category)이 연관관계를 잘 맺었고 가게가 잘 생성되는지 확인했는데, 이상하게 입력된 카테고리가 데이터베이스(database)에만 저장되고 반환되지 않았다. 카테고리 목록을 제외한 여는 시간이나 주문 최소 금액 같은 다른 값은 모두 제대로 반환되었기 때문에, 혹시 응답 시 쓰는 DTO(Data Transfer Object)에 카테고리 목록이 들어가지 않았을지 모른다고 추측했다. [원인 및 문제 해결 과정]더보기package com.example.outsourcingproject.store.service;import com.example.outsourcingproject.auth.repository.OwnerAuthRepo..

Day 107 - 플러스 프로젝트 3단계 중, 열심히 통합 검색 기능 리팩토링 중

1. 프로젝트 진행 상황 및 계획(1) Baro5Nda(바로온다) 프로젝트 관련🥇  ① 통합 검색 기능 리팩토링하기 (진행 중) ② 쿠폰 기능 구현하기 (진행 전)③ 장바구니 기능 구현하기 (진행 전) (2) 플러스 프로젝트 관련🥈 ① 도전 과제 3단계 - QueryDSL을 사용하여 검색 기능 만들기 (완료)② 도전 과제 3단계 - Transaction 심화 (진행 중)③ 도전 과제 3단계 - AWS 활용 마스터 (진행 전)④ 도전 과제 3단계 - 대용량 데이터 처리 (진행 전)(3) 특강 준비하기🥉  ① Request Body vs Request Param vs Path Variable (진행 중)② 자료구조(List, Map, Set) (진행 전)③ 스트림(Stream) 및 람다(Lambda) ..

Day 106 - 플러스 프로젝트 3단계 중, JPA 심화 주차답게 소나기처럼 오류가 쏟아지는 중

1. 프로젝트 진행 상황 및 계획🥇 Baro5Nda(바로온다) 프로젝트의 통합 검색 기능 리팩토링하기 (진행 중, 2025.01.21 완료 목표)🥈 'Request Body vs Request Param vs Path Variable' 특강 준비하기 (진행 중, 2025.01.22 완료 목표) 🥉 도전 과제 1단계 끝내기 (진행 중, 2025.01.22 완료 목표) 2. 계획과 일정을 뜯어고쳤다.(1) Baro5Nda(바로온다) 프로젝트 관련 ① 통합 검색 기능 리팩토링하기② 쿠폰 기능 구현하기 ③ 장바구니 기능 구현하기 (2) 플러스 프로젝트 관련 ① 도전 과제 3단계 - QueryDSL을 사용하여 검색 기능 만들기 ② 도전 과제 3단계 - Transaction 심화 ③ 도전 과제 3단계 - AW..

10단계: Cannot invoke "Object.getClass()" because "constant" is null

[문제]QueryDSL을 사용해서 조회할 때 특정 검색어가 없으면 일정 목록이 전부 조회되어야 하는데 이상하게 '403 Forbidden' 오류 메시지가 떴다. 메시지야 직접 설정하지 않았으니 그렇다 쳐도, 어디선가 문제가 생겼다는 뜻이라 눈을 동그랗게 뜨고 원인을 찾았다. [원인]private long countByTitle(String search) { return Optional.ofNullable( jpaQueryFactory.select(Wildcard.count) .from(todo) .where(todo.title.contains(search)) .fetchOne() ) ..

10단계: Null이 아니라 널 보고 싶어요, 이메일 씨

[문제]스프링 시큐리티(Spring Security)를 적용한 뒤 일정을 생성할 때마다 email 값이 null로 나왔다. 데이터베이스(database)에는 잘 저장되어 이후에 일정을 조회할 때는 email 값이 잘 나왔기 때문에 이메일 값이 들어가는 AuthUserDto를 확인했다. 그 결과 email 값이 null이 되었다는 점을 확인했고, 'AuthUserDto를 생성하는 부분에서 이메일 값을 빠뜨렸나?' 추측했다. [원인]우선 'new AuthUserDto'로 새로운 AuthUserDto를 생성하는 AuthUserArgumentResolver에서 로그를 찍었다. 그 결과 SpringContext에 인증 정보를 설정할 때, 또는 그 전에 인증 객체를 생성할 때부터 email 값이 빠졌다고 추측할 수..

Day 105 - 오랜만의 휴식 후 특강 준비 중

1. 프로젝트 진행 상황 및 계획🥇 Baro5Nda(바로온다) 프로젝트의 통합 검색 기능 리팩토링하기 (진행 중, 2025.01.21 완료 목표)🥈 'Request Body vs Request Param vs Path Variable' 특강 준비하기 (진행 중, 2025.01.22 완료 목표) 🥉 도전 과제 3단계 끝내기 (진행 중, 2025.01.22 완료 목표)4️⃣ 'AWS의 모든 것(All about AWS)' 강의 모두 듣기 (진행 중, 2025.01.20 완료 목표) 5️⃣ '자주 사용하는 메서드(method) 및 변수 이름 잘 짓기' 특강 준비하기 (진행 전, 2025.01.20 완료 목표) 2. 오랜만의 휴식은 꿀단지에 빠진 양 달콤했다.매일 집 안에서 공부만 하다가 오랜만에 찬 바람..

Day 104 - 플러스 프로젝트 3단계 중, 더 나은 통합 검색 기능이 되려면 어떤 데이터베이스 구조가 좋을까?

1. 프로젝트 진행 상황 및 계획🥇 Baro5Nda(바로온다) 프로젝트의 통합 검색 기능 리팩토링하기 (진행 중, 2025.01.21 완료 목표)🥈 'Request Body vs Request Param vs Path Variable' 특강 준비하기 (진행 전, 2025.01.19 완료 목표) 🥉 도전 과제 3단계 끝내기 (진행 중, 2025.01.22 완료 목표)4️⃣ 'AWS의 모든 것(All about AWS)' 강의 모두 듣기 (진행 중, 2025.01.20 완료 목표) 5️⃣ '자주 사용하는 메서드(method) 및 변수 이름 잘 짓기' 특강 준비하기 (진행 전, 2025.01.20 완료 목표) 2. 더 나은 통합 검색 기능이 되려면 어떤 데이터베이스(database) 구조가 좋을까?(1)..

Day 103 - 플러스 프로젝트 3단계 중, Baro5Nda(바로온다) 프로젝트의 통합 검색 기능 리팩토링 도전, 기초 특강만 세 개 잡다

1. 프로젝트 진행 상황 및 계획🥇 Baro5Nda(바로온다) 프로젝트의 통합 검색 기능 리팩토링하기 (진행 중, 2025.01.21 완료 목표)🥈 'Request Body vs Request Param vs Path Variable' 특강 준비하기 (진행 전, 2025.01.19 완료 목표) 🥉 도전 과제 3단계 끝내기 (진행 중, 2025.01.22 완료 목표)4️⃣ 'AWS의 모든 것(All about AWS)' 강의 모두 듣기 (진행 중, 2025.01.20 완료 목표) 5️⃣ '자주 사용하는 메서드(method) 및 변수 이름 잘 짓기' 특강 준비하기 (진행 전, 2025.01.20 완료 목표) 2. 통합 검색 기능을 리팩토링(refactoring)하기로 결심했다. [깃허브 링크](1) E..