https://youtu.be/jJTKX1O5pOw?si=LdKUvJTjiVqnyERC
1. GDSC 프로젝트 트랙 : JAVA & Spring Boot
1.1 POSTMAN, 아프지 말고 건강해야 한다💉
카테고리 전체 조회api까지 만들었으나 도저히 확인할 방법이 없었다.
requestBody와 responseBody는 대체 어떻게 만드는 거지? 하고 열심히 검색.
POSTMAN을 써야한다고 나왔다! 마침 팀원분이 토큰 발급기능 완성했다고 하셔서 테스트 바로 ㄱㄱ
도무지 원인을 알 수 없었다. 똑같은 코드를 가지고 대체 왜?
시도해본 것
1.REDIS 설치하기 -> 안하고 있었다! 바로 설치함.
2. POSTMAN의 포트 번호 변경 -> 내 로컬에서 돌아가는 건데 의미가 있나?
일단 난 H2 데이터베이스 포트 번호를 8083으로 변경해고 쓰고 있었다.
h2 데이터베이스 연결시 포트번호 오류 - 인프런 | 커뮤니티 질문&답변 (inflearn.com)
h2 데이터베이스 연결시 포트번호 오류 - 인프런 | 커뮤니티 질문&답변
누구나 함께하는 인프런 커뮤니티. 모르면 묻고, 해답을 찾아보세요.
www.inflearn.com
사실 스프링 부트와 H2의 포트번호가 같아야 하는 줄 알고 있었다.
그래서 내가 변경한 포트 번호가 전체(스프링부트와 H2)를 바꾼 것인 줄 알고 POSTMAN에서도 당연 8083으로 접근했었다.
그래서 혹시나..? 싶은 마음으로 8080으로 접속. 그리고...
드디어!!! 눈물난다. 뭔가 신기함. 진짜 백엔드 하는 것 같다ㅋㅋㅋ
하지만 나의 시련은 이제부터 시작이었으니...
1.2 무한참조무한참조무한참조....의 늪
전체 카테고리를 조회한 순간 내 눈앞에 펼쳐지는 끝이 없는 데이터의 나열.
그 무한함에 눈앞이 아득해지고....
근데 지금 코드를 고치다 생각하는 건데, 서버 에러보다 훨씬 낫다 망할.
package mango.rentalsystem.domain.category.dto.response;
import java.util.List;
import mango.rentalsystem.domain.category.domain.Category;
import mango.rentalsystem.domain.department.domain.Department;
import mango.rentalsystem.domain.item.domain.Item;
public record CategoryResponse(
Long categoryId,
String name,
String description,
Department department,
List<Item> items
) {
public static CategoryResponse of (Category category) {
return new CategoryResponse(
category.getId(),
category.getName(),
category.getDescription(),
category.getDepartment(),
category.getItems()
);
}
}
이건 내 기존 코드. 문제는 순환참조였다.
CategoryResponse가 Department객체에 접근하고, 그 Department 객체가 다시 Category객체를 참조하는 구조에서 발생할 수 있습니다.
그렇다고 합니다...
무한참조 문제의 해결책은 크게 몇가지가 있는 듯하다.
[JPA] 양방향 순환참조 문제 및 해결방법 (tistory.com)
[JPA] 양방향 순환참조 문제 및 해결방법
게시판 프로젝트를 진행하던 중 순환 참조 문제에 마주하였다. ※ 순환 참조(Circular reference)란, 참조하는 대상이 서로 물려 있어 참조할 수 없게 되는 현상을 말한다. JPA에서 양방향으로 연결된 E
dev-coco.tistory.com
주로 dto를 반환하는 방법이 가장 좋다고 하지만, 내가 해결하지 못하고 있는 이유는 이러하다.
dto안에 dto를 중첩할 수 있을까?
아니면 하위 dto를 list로 변환하고, 상위 dto 안에 list를 담아서 반환할 수 있을까?
아직 해결은 못했다... 이것에 관해서는 얘기가 너무 길어져서 따로 글을 써야 할 듯.
아니 원래는 api개발할 때마다 글 쓰려고 했는데;; 귀찮아...
이 외에도 기본적으로 제공하는 CRUD기능을 통해 delete기능을 구현했다.
이때까지 너무 미뤄둔 느낌이라 정말 집중해서 이것만 해야할 듯. 더 이상 물러날 곳이 없다.
2. Algorithm도 rhythm이다 두둠칫
2.1 저랑 같이 ♥️스꾸(스트릭 꾸미기)♥️하실 분!!
내가 생각해도 너무 신박한 아이디어. 혹시 나 천재일지도.
원래 무늬 들어가는 부분을 2문제씩 풀려다가 생각보다 티가 안나서 3문제로 바꿨다.
아직까지 무늬 모두 채움!! 하트 다음엔 무슨 무늬를 넣어볼까....
2.2 인생이 Dynamic하길 바라는 마음으로... DP 풀기
그렇다고 스트릭을 브론즈로만 채운 건 아니다!! 물론 바쁜 날은 브론즈만 3문제 풀기도 했지만....
이번 주에는 주로 DP문제를 풀었다.
8394번: 악수 (acmicpc.net) -->>> 이거는 직접 구할 때 잘못 구해서 처음에 계속 삽질함 ㅠㅠ
쉬운 DP라 다 실버 문제다.
지금 티어가 골드4인데 실버 문제만 풀어도 레이팅이 엄청 잘 오른다. 오호라...
이대로 얼른 플래티넘 찍고 싶다.
이건 풀다가 실패했다. 분명 맞다고 생각했는데... 반례를 찾아버림
3. 대학생도 인강이 필요해요.
진짜 짜증나는게 뭔지 아세요.
지난 학기에 수치해석에서 Trapezoid랑 Simpson공식을 배웠는데, 정말 이해가 단 하나도 되지 않았거든요.
원래 엄청난 강의력으로 유명한 교수님임^^
인강 듣고 10분만에 해당 공식이 나오게 된 경위를 이해했습니다. 진짜 내가 이걸 조금만 더 일찍 알았더라면 학점을 잘 받을 수 있었을까... 무척 현타가 왔어요.
아무튼... 이번주는 정적분만 공부했습니다. 아마도 다음주는 선형대수만 할 것 같아요.
하루에 최소 4시간씩 투자하려고 노력 중!
4. 끝나지 않는 일일일
4.1 미연시 남주 이름은?
현재 개발 중인 Subway-way... 본래 남주와 여주 이름은 '지철' 과 '지하지'였다.
왜냐! 지하철이 컨셉인 미연시에 맞춰서 지었기 때문이다.
'하지'란 이름은 개인적으로 정말 예쁘다고 생각한다. 문제는 남주인공 이름.
팀원들에게 '구리다'라는 평을 얻었고..... 다시 후보를 받고 투표를 했다.
그래서? '유지철'로 결정.
왜 다시 지철이냐? 라고 할 수 있는데, 알고보니 성이 '지', 이름이 '철'. 외자가 구리다는 거였다.
사실 다른 여러 후보('선호', '호선', '일호', '동우')가 나왔지만, 본래 이름을 짓고 캐디를 해서 그런가, 기존 이름이 잘 어울리는 건 어쩔 수 없었다. 이미 이름에 정들었기도 하고...
4.2 언제 출시하나요
본래 이번달에는 꼭!꼭! 출시를 하려고했는데 아마 힘들지 않을까... 일단 유니티 안에 스크립트를 넣는 작업이 너무 오래 걸리고, 서브기획쪽에서 1차로 작업하면 내가 피드백을 해야하는데... 나도 시간이 없다!! 저 무한참조🤮부터 고치는 데 한참이다. 16일에 프로젝트 트랙 마감일이니, 그때까지는 거의 작업을 못하지 싶다.
이때까지 개발을 회피한 업보가 너무 크다.
그래도 그래픽/사운드/플밍 피드백도 계속 줘야하고... 신경을 못 쓴다지만 아예 손 놓는 건 아니다.(당연함. 내가 팀장임.) 특히 sfx를 거의 다 채워둬서 한결 마음이 편하다.
머했다고 7월이 다 갔나요. 왜 벌써 8월 둘째 주인가요. 저의 방학은 어디로 가버렸나요.
그리고 이것은 WIL인가요 저의 일기인가요.
생각해보니 요즘 일-공부-일-공부라 일기도 안 썼다. 쓸 게 없어...
WIL 썼으니까 다시 무한참조를 고치러... 가보겠습니당
'RECORD > Weekly' 카테고리의 다른 글
[내 얘기] 9월 2주차 :: 들으면 보송보송해져요🫧 (1) | 2024.09.16 |
---|---|
[내 얘기] 8월 3주차 :: 쉽게 잠들지 못하는 나를 위해 (1) | 2024.08.20 |