반응형
💋 오늘 공부한 내용
- 드디어 S3를 받기로 토미가 전달해줬고, 신난 팀 전원이 모여서 S3, cloudfront 연동을 했다.
- 처음 계획은 프론트엔드 서버에서 S3에 접속해서 이미지를 저장하도록 하고, 조회 시에는 백엔드에서 보내준 링크를 통해서 조회하도록 하는 것이 목표였다.
- 하지만 프론트엔드의 입장은, 해보다보니 안되는 이슈가 있다고 했다. (라잇과 윤생이 열변을 토하며 설명해도 못알아들은 나...)
- 전략을 바꿔서, 백엔드에서 S3에 이미지를 저장하는 것을 맡기로 했다.
- 기존 API는 프론트엔드에서 백엔드로 저장된 이미지의 주소를 String 형태로 보내주고 있다. 이걸 위해서 API를 바꾸기보다는, 사진 하나를 multipart로 전달해서 백엔드 쪽에서 S3에 저장한 뒤에 저장된 주소를 프론트엔드 쪽으로 보내주기로 했다.
- 이번 4차 데모데이 때 내가 구현할 API는 OAuth를 사용한 회원가입, 로그인과 고객모드의 리워드 상세내역 조회 두 가지다.
- 그중에 고객모드의 리워드 상세내역 조회를 오늘 만들었다. 한 2시간 안 걸린 것 같다.
- mocking을 열심히 해보고 있는데, 진짜 모킹의 세계는 끝도 없는 것 같다.
- any()를 통해서 mocking할 때에 아무 상관없는 부분에는 임의의 값을 넣어줄 수도 있다는 것을 알게됨.
- Filter를 통해서 ArgumentResolver를 제외한 테스트를 작성했다. (인증 부분을 제외함)
- 그랬더니 CustomerAuth를 받고 있는 컨트롤러 쪽에서는 customer.getId()가 통째로 null이 되는 상황이 발생했다. 아무래도 객체 자체를 null로 넣는 건 아닌 것 같고 (NullPointerException이 발생하지 않으므로), 각 필드를 모두 null로 넣어버린 깡통 객체를 넣어주는 것 같다.
- 또 usingRecursiveComparison()을 사용하면 equals를 재정의하지 않아도, 객체 참조값이 아닌 각 필드의 값으로 비교해서 결과를 낸다는 것도 알게 되었다. 다만 이 경우에는 List더라도 contains를 못쓰고 .isEqualTo()를 사용해야 한다는...
- 특정 필드만을 비교하기 위한 메서드도 있고, 한 메서드가 몇 번 호출되었는지 확인하는 것도 있다.
- 알고리즘을 풀어보려고 했는데, 백준에 들어가보니 너무 문제가 많아서 뭘 풀어야 할지 모르겠다....!
- 알고리즘을 진짜 한 번도 안 풀어봤는데 오늘 딱 2문제 젤 쉬운걸로 풀어봤다. 근데 뭔가 내 스타일이 아닌...
- 수학 카테고리를 좀 더 찾아봐야겠다.
- 밤에 필라테스 하고 와서 맥주 한 캔 마셨더니 힘이 좀 남아서 팀 내 코드를 좀 리팩터링했다.
- 나 진짜 리팩터링을 좋아하는 것 같다.
- 전에 어디서 들었는데, 코드를 작성한 시간에 동일한 시간만큼 리팩터링을 하는데 사용해야 한다고.. 누군가 그랬다.
💋 감정 회고
- 필라테스 하러 갔는데, 진짜 너무 힘들었다. 강사님이 그래서 그룹레슨인데 나를 굉장히 도와주심....
- 그래서 살 빼러 갔는데, 나오는 길에 맥주 5개 13000원 행사를 지나치지 못하고, 무겁게 들고 와서 아빠랑 마심.... 말짱 도루묵이라고 하던가 이런걸
💋 오늘의 포스팅
반응형
반응형
'TIL > 2023' 카테고리의 다른 글
[TIL] 23.08.16 (0) | 2023.08.16 |
---|---|
[TIL] 23.08.11 (0) | 2023.08.11 |
[TIL] 23.08.08 (0) | 2023.08.08 |
[TIL] 23.08.07 (1) | 2023.08.07 |
[TIL] 23.08.04 (0) | 2023.08.04 |