legacy/항해99 일지

20221129 (화) TIL

3hoon 2022. 11. 30. 11:09

전날 너무 늦게 잔 탓도 있지만 아무래도 crud과제가 너무 안풀리다보니 스트레스를
많이 받았던것같다.
아홉시에 겨우 턱걸이로 들어왔고 알고리즘 문제도 풀지 못했다.
이렇게 과제때문에 고민이 깊어지는 순간은 계속 올텐데 이럴때마다
컨디션의 유지가 먼저인지 과제의 이해가 먼저 인지 좀 고민이 된다.
과제의 이해를 우선시하자니 시간이 늦어지면 늦어질수록 집중력은 떨어지고
컨디션의 유지를 우선시하자니 과제의 이해를 놓칠거같고..

1. 개인과제

과제가 생각보다 풀리지 않았다.
뭔가 계속 꼬여만 가는 느낌이 들고 자꾸 되던 것들도 안되기 시작하면서
처음부터 하나씩 다시 보면서 천천히 가보자 했던게 네번정도 그랬던거 같다.
이날은 전날의 예상과 달리 하루를 시행착오를 겪으며 보냈는데 도저히 실마리가
보이질 않아서 전 팀원분들에게 조언을 구하면서 알아갔고 나의 문제점이 무엇인지
정리를 해보았다.

1. Dto와 entity의 개념을 제대로 정리하지 못했다.
2. Dto와 entity의 개념을 정리를 하지못하니 코드가 뒤죽박죽이 되었다.
3. 반환타입을 전혀 신경쓰지 않았다.

특히 1번과 2번 케이스에서 정말 많이 헤맸다.
dto를 통해 controller service repository의 데이터 전송을 했고
entity는 db와 직접적인 연관이 있는 클래스였고 이를 정리하기 시작하니
Dto를 request와 response로 왜 나눠야하는지 알게 되었다.
특히 비밀번호를 create할때는 입력을 하고 read할때는 보이지 않아야하기에
이에 대한 처리를 어려워했는데 dto에 대한 내용을 정리하고 나니 명확히 보였다.

그리고 3번 반환타입의 경우는
항해에서 제공했던 강의만 참고를 했던터라 당연히 그 형태가 맞다고 생각해
마치 제일 앞에 선언했던 public처럼 생각을 하고 고려를 하지 않았다.
하지만 개인과제 제출사항중에서도 entity타입이 아닌 dto형태로 담아서
반환을 하라는 항목이 있었고 그를 지키려면 변환타입의 형변환에 신경을 써야겠다는
생각이 들었고 dto와 반환타입에 대한 부분을 고민을 하고 이를 고려하면서
코드를 짜내려가니 크게 이해가 되지 않는 부분은 없었다.

service 부분에서 람다를 이용한 처리는 코드 자체가 이해가 되질 않았는데
전 팀원분들의 많은 도움 덕분에 처리하는데에는 문제가 없었고
추후에 람다에 대한 공부를 추가적으로 해서 이를 이해하고 넘어가야 할 것 같다.

전날부터 crud부분을 진행하면서 계속 꼬이기만하다보니 자괴감이 많이 들었는데
그래도 어떻게든 꾸역꾸역 매달려서 어느정도 이해를 하고나니 마음은 좀 편안해졌다.

내일 할 것
스프링 과제 관련 내용 정리 및 공부
스프링 어노테이션에 대해 공부하기
주특기 팀과제 내용 정리하기
혼자 공부하는 자바 정리하기