2023. 4. 22. 02:40ㆍ회고/일일회고
Fact (사실: 무슨 일이 있었나?)
자바 공부
- 웹 자동차 경주 step 2 미션을 수행하고 제출했다.
- Spring Annotated controller 중 RequestMapping 파트와 DataBinder 파트를 공부하고 정리했다.
- JDBC 템플릿을 간단하게 알아봤다.
- MVC 중 각 계층을 나타내는 어노테이션(@Controller, @Service, @Repository)에 대해 간단하게 알아봤다.
- 브리 강의를 들으며 Layered 아키텍처에 대해 조금 찾아봤다.
개인 성장
- 오늘 술을 안마셨다. 영양제도 먹었다.
- 네트워크 스터디를 했다. 지하철 출근길에 네트워크 DNS 서버의 동작 원리에 대해 마저 공부했다.
- 간단하게 몸풀기 운동을 했다. 짧게 했음에도 예전에 비해서 몸이 많이 안좋아진게 느껴졌다.
커뮤니티
- 오늘은 밀린 카톡 답장을 완료했다.
- 스프링 스터디 첫 모임을 가졌다.
Feeling (느낌: 무슨 느낌이 들었나?)
- 미션 첫 제출까지 조금 오래 걸렸다. 시간이 많았던만큼 이것저것 생각을 많이 하고 제출했기 때문이다. 근데 이번 미션에서 그간 고민했던 것들이 막 크게 도움이 된 것 같지는 않다. ㅋㅋㅋㅋ 뭐 아직은 적응단계니까 그럴 수 있다고 생각한다.
- Spring 공식 문서를 보는 게 도움이 많이 되기는 하는 것 같다. 이제 조금씩 동작과정이 눈에 아른거리기 시작했다. 근데 아직 모르는 것들도 너무 많다. 차근차근 공부해나가자.
- 블로그에 글을 적는 과정이 생각보다 오래 걸리긴 하는 것 같다. 근데 그만큼 더 오래 기억에 남아서 가성비로 따지면 나쁘진 않는 것 같다. 단순히 공식 문서에 있는 내용을 옮기는게 아니라 한번 고민해보고 다른 내용도 찾아보고 하다보니 개념들끼리 조금씩 연결되는 느낌이다. 그치만 아직 뭐... 갈 길이 멀다. ㅎㅎ
- 건전하게 술을 안마시니까 정신이 조금 더 또렷한 느낌이기는 하다. 근데 역시나 아직 피곤하다~ 이게 피곤하니까 머리가 잘 돌아가지도 않고, 사람들과 대화하는 것도 힘들다. ㅋㅋㅋㅋ 분명 정신을 차리고 대화에 집중하려고 하는데 머릿속으로 입력이 안된다. 나름대로 머릿속으로 재입력하려고 상대방이 하는 말을 한번 중얼거리는데 그래도 입력이 안된다. ㅋㅋㅋㅋㅋㅋ 주말동안 푹 쉬어야겠다.
- 금요일이라서 놀고 싶었는데 그래도 밀린 내용들이 많아서 오늘은 11시까지 공부했다. 그리고 이번 주말에는 캠퍼스에 못가서 더 열심히 하려고 했던 것 같다. 그래도 마지막 5시간은 밥도 안먹고 빡 집중했다. 중간에 15분 정도 쉬었던 것만 빼면 내내 미션하고, 블로그 글도 작성하고, 밀린 것들을 정리했다. 꼭 필요한 시간이었다고 생각하고 남아있기를 잘한 것 같다. ㅎㅎ
Finding (배운 점: 어떤 인사이트를 얻었나?)
- DNS 서버가 UDP 기반인 이유를 알 것 같다. TCP 기반인 경우에는 연결 설정 및 해제의 과정을 거쳐야한다. 그런데 DNS 서버는 단순히 테이블처럼 어떤 도메인의 하위 도메인 주소를 가진 DNS 서버의 IP 주소를 매핑해서 전달해주는 역할을 하기에 연결설정의 과정이 필요 없는 것이다. 그냥 패킷을 보내고 이에 대한 응답을 받으면 된다. 중간에 데이터가 손실돼도 큰 문제가 발생하지 않는 것이다. 그래서 UDP를 사용하는 것이 아닐까싶다.
- @Service가 아직까지는 크게 의미를 가지지 않는 어노테이션이라는 것을 알게 되었다. 공식 문서에서는 차후에 기능이 추가될 수 있기에 이를 사용하는 것이 좋다고 설명을 하고 있다. 내가 생각하기에는 그 이유 뿐만이 아니라 서비스 계층이라는 것을 파일만 보더라도 명시적으로 알 수 있기 때문에, 그리고 다른 계층과의 구조적인 일관성을 위해 사용하는 것이 좋다고 생각한다.
- @Repository를 사용할 때는 데이터베이스와 관련된 예외는 모두 DataAccessException로 바꿔준다는 것을 알게 되었다. 이전에 step1 미션을 진행할 때 checked exception이 명시적으로 적혀있는데 왜 throw를 안해도 처리가 되는거지? 하고 고민했었는데, @Repository가 이를 DataAccessException으로 변환해준 것 같다. 이 기능 덕분에 유연성이 생기게 되는데 데이터베이스를 변경하더라도 굳이 다르게 처리하지 않아도 일관된 예외를 내보낼 수 있따.
- @RequestParam, @PathVariable, @ModelAttribute와 @RequestBody의 객체 바인딩 방법에 대해 알게 되었다. 전자의 세개는 DataBinder를 사용해 값을 객체로 바인딩해주고, 후자는 ObjectMapper를 사용해 역직렬화를 해서 객체로 바인딩한다. DataBinder의 대상이 되는 객체는 자바 빈 명명 규칙에 따르는 setter를 사용해야하고 ObjectMapper는 기본생성자가 있거나, 프로퍼티 혹은 역직렬화 어노테이션을 사용해야 바인딩이 가능하다. 이것도 정리해서 한번 글을 올려야겠다.
Future action (향후 행동: 앞으로 무엇을 해야 할까?)
- 다른 사람들이 정리한 글도 엿보기
- 반복해서 복습하기~
- 주말동안 step2 미션 보충해서 다시 리뷰요청 보내기
- dto 고민 흔적 블로그에 올리기
- Spring Annotated controller의 ExceptionHandler 정리해서 올리기
- Spring ApplicationContext와 ComponentScan 내용 정리하기 -> 화요일 발표이다. ㅎㅎ
- 네트워크 책 1장 story 4, 2장 story 1 공부하기
- 내일 주간 회고 글 작성하기!
Feedback (피드백: 앞서 정한 향후 행동을 실천해본 뒤, 이에 대해 어떤 피드백을 받았나?)
- 솔직히 어제 잠을 못자서 피곤한거지 몰입한 이후의 컨디션은 나쁘지 않은 것 같다. 그래도 이번주 평일에 술을 두 번 밖에 안마셨다! 크으... 잘 참았다~
'회고 > 일일회고' 카테고리의 다른 글
23년 04월 25일, 일일 회고 (0) | 2023.04.25 |
---|---|
23년 04월 24일, 일일 회고 (0) | 2023.04.25 |
23년 04월 20일, 일일 회고 (4) | 2023.04.21 |
23년 04월 18일, 일일 회고 (3) | 2023.04.19 |
23년 04월 17일, 일일 회고 (2) | 2023.04.17 |