일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Diary 해우소
- 메서드
- 스파르타내일배움캠프TIL
- GitHub
- #스파르타내일배움캠프TIL
- 스파르타내일배움캠프
- JVM
- 인스턴스
- diary
- Git
- KPT
- 객체지향 언어
- Token
- #스파르타내일배움캠프
- Java의 이점
- 내일배움캠프
- TiL_1st_0419
- 회고록
- static
- 성장기록
- Java
- 해우소
- 포맷은 최후의 보루
- 생성자
- 변수의 다양성
- 감사기록
- 스레드
- #내일배움캠프
- Github_token
- 클래스
- Today
- Total
몬그로이
25일차, 26일차, 27일-1 본문
오늘도 프론트 하는 날
10시대에는 담당 튜터님께 대면피드백 받고
11시대에는 어제 날아가버린 EC2 관련하여 의견을들으러 다녀옴
새로생긴 스케줄
수요일 5시 중간발표하듯 전체 흐름에 대해 숙지하고 있는지 확인
목요일이 8.15라는 사실을 오늘에야 알았다
요즘 하도 달력 볼 것도 없이 그냥 주구장창 컴퓨터 앞으로 와서 앉기때문에
그냥 무슨 요일인지만 알고 말았기 때문이다
또, 담당튜터님의 즉석 코드리뷰가 있다고 하는데
내일인 것 같다
팀원들 모두와 함께 하는 듯
프론트를 하고 있자면 필요로 해지는 메서드들이 계속 생긴다
그래서 오늘도 새로직을 짜다가 막혀버려서 팀장님께 도움을 요청했다
그랬는데, 내가 향하던 곳과는 다른 곳으로 방향을 틀어주셔서 한결 편해졌다
팀장님이 말씀하시길, 아직 프론트와 백엔드의 경계선이 모호한 상태인 것 같다고
예전에 본인이 겪었던 고충을 겪고 있는 것 같다고 하셨다
격하게 동의하는 바였는데,
그래도 이번에 프론트를 만지면서 조금은 그 경계가 더 명확해지고 있는 듯 하다
EC2는 메모리가 굉장히 작은 것으로 신청된 상태였는데
들어보니 팀원들 중에 거의 나 혼자만 사용하고 있었던 것을 알게 되었다
아무리 메모리가 작아도 혼자 사용하다가 다운되기도 하는게 맞는 건가? 싶었다
팀장님은 튜터님께 조언을 들으러 가면서까지 제대로 원인을 파악하고 싶어하는 듯 했으나
원인은 찾지 못하고,
다음에 그런일이 또 발생했을 시, 로그라던가 확인을 하면 어느정도 원인 추적이 될 것이라는 이야기를 들었다.
그리고 또 메모리로 이런문제가 발생할 것을 우려하여 더 높은 단계의 저장소로 변경해 놓았다
groupName..
API 주소에 적어둔 이게 계속 프론트의 걸림돌이다
여기저기에 적혀있어서
A 라는 API 를 호출할 때 groupName이 필요해서
groupName을 추출하기위해 B라는 API를 호출하려고 하는데
또 groupName 이 PathVariable 로 필요하다
이미 다른 팀원들이 사용하고 있는 경우는 url을 수정한 동일한 메서드의 api 를 만들어서 적용했다
Api에서 데이터는 잘 불러오는데
모달창 자체가 뜨지 않아서 확인할 수가 없었다
어디가 잘못됐는지 한참 찾아보니
handleLikeToggle
이 메서드의 위치가 다른 메서드 내부로 들어가 있어서 창이 열리지 않았던 것
변수명이 일치하지 않는 경우도 데이터를 못 넣는다고 들었는데
그것보다 더 힘들었다
괄호 찾기가 제일 힘들어
오늘 담당튜터님의 코드리뷰가 있었다
안그래도 애매해서 그냥 둔 것들은 모두 걸려들었다
용량이나 장수 제한을 ENUM 처리하는 것
거의 숨은그림 찾기를 하는 중
숨은그림찾기 1탄을 끝냈는데
연이어 2탄이 등장했다
괄호가 빠졌다고 테스트를 못하게 된 것이다
진짜 잘 모르니까 찾기가 너무 힘들었다
괄호도 () 랑 {} 만 있는것도 아니어서 한층 더 힘들었다
겨우겨우 끝내고 테스트해보려고 돌리는데 이번엔 유저로그인인 안 된다
혹시나 풀받아 봤는데 안 된다..
데이터 날리고 다시 이닛데이터를 넣었다고 생각했는데 안넣고 돌렸더랬다
이것은 작은 헤프닝..
An internal error occurred while trying to authenticate the user.
담당튜터님께 코드리뷰 받다가 주석활용방법이 더 있다고 하셔서 찾아둠
요즘 충혈이 아직 있긴 한데 저번처럼 심하진 않다
그리고 가끔씩 눈물이 나오는데 그럴때마다 눈이 따갑다
보통 눈물이 흘러나오면 완화가 되어야 하는데 오히려 따갑다
진짜 이번 활동 끝나면 무조건 안과에 가봐야 겠다
공지사항을 불러오는 프론트를 겨우겨우 만들었는데 데이터를 불러오질 못한다
api 메서드를 손봤는데도 못 불러온다
도대체 뭐가 문제일까?
잘 보니까 groupName 이라 해놨지만 enterName 으로 findBy를 하도록 만들어진 상태였다
아마 초반에 api에 groupName 이 여기저기 들어가면서 만들어졌던 메서드를 enterName 으로 활용하고 있던 것 같다
아무튼, 그부분을 고려하여 로직을 다시짰다
디버깅을 돌려보니 EnterFeed가 0으로 뜨던게 1로 바뀌었다
하지만 출력이 되지 않는다
enterFeeds.stream().map(EnterFeedResponseDtoExtension::ofNotice)
.sorted(Comparator.comparing(EnterFeedResponseDtoExtension::getCreatedAt))
.collect(Collectors.toList());
이부분에 뭔가 문제가 있는 건가?
아무래도 Dto 에 있던 String createdAt 이 문제인가 싶어서 LocalData 로 변환했다
그래서 빨간줄이 떴는데 마침 intelliJ에서 parse 하라고 추천이 떠서 그렇게 바꾼채로 디버깅했다
하지만 상태는 그대로였고
stream() 돌린게 문제인가 싶어서 몇 번이고 다시 봤는데도 모르겠어서
return enterFeeds.stream().map(feed -> EnterFeedResponseDtoExtension.ofNotice())
.sorted(Comparator.comparing(EnterFeedResponseDtoExtension::getCreatedAt))
.collect(Collectors.toList());
로 바꿨다
시간은 없는데 프론트쪽이나 인텔리제이 console 에는 아무런 표시가 안 나서
도대체 뭐가 문제인가 한참 고민했다
아직 가야할 길이 멀었기에 한 튜터님을 찾아갔다
로직을 보자마자 매개변수가 빠진 것을 아셨고
ofNotice()로 들어가 보라고 하셨다
정말 메서드 자체를 매개변수를 받지 않도록 만들어놓고 있었다
이러니 아무 내용도 안들어가지...
사소한 부분에서 틀리니 진짜 민망했다
그래서 신나게 다시 돌렸는데 이번엔 500에러가 떴다
code: 500- httpStatus: "INTERNAL_SERVER_ERROR"
- message: "Text '2024/08/14 00:51:26' could not be parsed at index 4"
라는 에러가 났고 parse를 보고선 아까 바꾼 Localdate 때문이구나 싶었다
createdAt 을 타고 TimeStamped 로 들어가니
String createdAt 이 필드에 놓여있었고
그걸 보시곤 왜 String으로 놓았느냐 물으셨다
그야 저도 모릅니다.. 라고 생각했지만 팀프로젝트니 그렇게 말할 수는 없었다
아무튼 우리팀중에 아무도 만들어놓고 여길 들어가본 적이 없던것 같았다
나도 마찬가지고
아무튼 정돈을 했는데
- code: 500
- httpStatus: "INTERNAL_SERVER_ERROR"
- message: "Cannot invoke \"com.example.fantreehouse.domain.artistgroup.entity.ArtistGroup.getGroupName()\" because the return value of \"com.example.fantreehouse.domain.enterfeed.entity.EnterFeed.getArtistGroup()\" is null
라는 에러가 다시 반겨줬다
꼬리에 꼬리를 무는 버그 잡기
EnterFeed 에 들어가보라고 하셔서 들어가 필드 확인을 하니
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "artist_group_id")
private ArtistGroup artistGroup;
LAZY 로딩이었다
ArtistGroup artistGroup = artistGroupRepository.findByGroupName(groupName)
.orElseThrow(() -> new NotFoundException(NOT_FOUND_ARTISTGROUP));
이걸로 메서드 내에서 잘 불러오고 있는데..? 라고 생각했는데
groupName(feed.getArtistGroup().getGroupName())
이런식으로 feed 에서 불러내고 있으니 문제라고 했다
난 메서드 내에서 한 번 불러내면 되는 건줄로 무의식적으로 생각하고 있었던 것이다
그 다음 돌리니 출력이 잘 되는 것이 확인되었다
근데 튜터실에서 나오니 많이 서러워졌다
겨우 익숙해진 프론트를 계속 만지고
거의 밤샘수준으로 하면서, 오류랑 싸우면서, 프론트를 꾸역꾸역 하고 있는데
안그래도 프론트를 제일 늦게 시작해서 제일 늦게까지 하고 있는데..
마음은 급한데 마음대로 안 되서 힘든데
튜터님은 예전에 그러셨던 것과는 달리 날카로운 목소리셨다
내가 많이 답답하셨겠지.. 나도 잘 하고 싶은데 마음대로 안 되는 걸..
튜터님들처럼 한 눈에 뭐가 빠졌는지, 어디가 잘못됐는지 알아보고 싶은데 안 되는 걸..
그래도 붙잡고 어떻게든 알아내겠다고 먹힐지 안 먹힐지 모르는 방법들을 총 동원 하는데..
뭐 그래도 안되는건 마찬가지지만... 그래도 이번 프로젝트 기간엔 혼자서 오류 많이 잡았는걸..
예전이랑 달리 이제는 깃허브 오류 하나도 안 낸다고, 수동머지도 오류 한 번 안 냈다고
자랑하고 감사하다 말씀드리고 싶었는데..
그냥 서러워서
그냥 한없이 서럽다
하지만 오늘 주신 도움에는 감사합니다..
윤곽에 불과한 길던 프론트 작업을 끝내고
(사실 하고싶은게 더 많았는데.. 마감도 중요하니까 그만 뒀다)
백엔드 추가 작업한것도 푸시하고
프론트도 풀 받은다음 설치하라던 거랑 고치라던 거 고치고
실행을 돌려봤는데 홈페이지가 전부 하얀색으로 떴다
팀원에게 도움을 구하니
모듈을 추가해야 한다고 했다
하라는 대로 따라했는데
아니 어째서인지 다른 프론트 폴더에 해버렸다
Fantreehouse 라는 이름이 다른 형태로 두 개 정도 있었는데
헷갈려버린 것
아니 나 왜 이래..?
커밋만 해둔게 아니라 머지까지 해뒀더라면 그냥 클론해서 작업해도 됐을텐데
그러지 않았기 때문에 살려야만 했다
이런건 튜터님들께 여쭈러 가는게 제일이라고 생각하긴 하는데
뭔가 겁이난다
너무 겁쟁이라 한심하다
아직도 이런 오류 내느냐고 한소리 들을것만 같아서
좀 많이 두렵다
결단을 내려야 하는데..
아까 그 기분이 다시 올라올 것 같아서
또 울어버릴 것 같아서 발을 내딛기가 좀 많이 힘겹다
https://mongroy.tistory.com/217