WIL 4

murphytklee·2023년 4월 30일
0

WIL

목록 보기
4/9
post-custom-banner

2023.04.24 ~ 2023.04.30

4월 24일 (월)

오늘 한 일

  • 프로그래머스 알고리즘 Java lv.1 2문제 풀이

  • Generic 과 Optional 공부

4월 25일 (화)

오늘 한 일

  • Spring Lv3 Assignment 코드 리팩토링
    • 댓글 수정 삭제 구현
  • 스터디
    • Object - equals 공부 ( int 형에서 equals 에러가 나기 때문에 integer 로 하기)
    • JPA 연관관계 공부 단방향 양방향
    • Generic 발표

4월 26일 (수)

오늘 한 일


4월 27일 (목)

오늘 한 일

  • 기술매니저님 면담
    • Swagger
    • 중복되는 코드를 모두 포함하려한다기 보다는 하나의 메소드는 하나의 기능만 할 수 있게
    • Cascade 와 orphanRemoval 모두 데이터를 같이 날리지만 현업에서는 데이터를 같이 날리지 않고 soft하게 처리한다. 대부분 데이터 관리쪽에서 이루어지며 데이터를 일정기간 보존해야하는 의무가 있을 수도 있기 때문에.
    • 과제에서 예외 메세지를 날리는거에 초점을 둔 것 같은데 그러한 것 보다는 예상하지 못한 에러에 대해 생각해보면서 예외처리를 하는거에 초점을 맞추는게 좋을 것 같다. 과제에서 메세지를 요구해서 대부분의 수강생들이 예외처리의 본질을 잘 가져가지 못하는 것 같다.
    • spring security 는 custom으로 처리를 하지 못하는데 이에 대해 공부를 해보자
    • ResponseEntity 이렇게 반환하는 것은 ResponseEntity를 두번 감싸는 것이다. 굳이 그럴 필요없이 ResponseEntity에 담아 보내면 된다.

4월 28일 (금)

오늘 한 일

  • 트랜잭션 특강 - transaction의 격리 수준(Isolation Level) 꼭 알아보기 → 면접준비할 때 꼭 필요
  • Spring Assignment Lv4
    • Spring Security 설정
    • Soft Delete 구현
    • password encoder 구현
  • 스터디
    • 영속성
    • 연관관계
    • stack overflow 어노테이션
    • 기술매니저님 리뷰 공유

내일 할 일


4월 29일 (토)

오늘 한 일

  • 덕인님과 코드리뷰
    • public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder();}
    • extends는 클래스 한 개만 상속 받을 수 있으며, 자식 클래스는 부모 클래스의 기능을 사용할 수 있다. implements는 여러 개의 interfaces를 상속 받을 수 있으며, 자식 클래스는 부모의 기능을 다시 정의해서 사용해야한다.
  • 기술매니저님 이슈 체크
    • fetchjoin, QueryDSL 공부하기
    • application.properties 파일 gitignore 하기 or jasypt 라이브러리 이용하기
  • Spring Lv4 Assignment 끝 https://github.com/taekk1a2a3a/myblog-hh99

내일 할 일

  • JPA, hibernate 스터디 준비
  • Spring security custom excemption
  • WIL
  • fetchjoin, QueryDSL, jasypt, Gitignore

4월 30일 (일)

오늘 한 일

일주일 회고

이번주는 팀과제를 코드리뷰 후 리팩토링하여 pull request를 통해서 진행해보았다. code with me 를 통해 진행했을 때는 한 기능을 같이 구현했을 때 커밋이 동시에 이루어지지 않아서 버전관리하기 힘들었었는데, 각자 기능을 분담하여 진행하니 커밋이 꼬이는 경우가 없었고 원할했다.

Spring Security를 통해서 유저의 정보를 받으니 코드가 훨씬 단조로워 졌고 각각의 기능만 수행할 수 있도록 리팩토링을 거치고 나니 비로소 객체 지향의 프로세스의 장점을 이해할 수 있었던 것 같다.

spring boot를 사용하면서 어떻게 내부 Java 로직이 짜여져 있는지에 대해서 특강을 주로 들었고 JPA에 대해 이해하는 시간을 가졌던 것 같다. EntityManager는 찾아 볼 수 없이 Repository만 사용해서 JPA의 개념이 확실하지 않았지만 특강에서 Raw JPA를 볼 수 있어 좋은 기회였다. 그럼에도 아직 정확히 이해한 것은 아니라고 느껴지기 때문에 ORM과 ORM의 솔루션인 Hibernate에 대해서 다음 한 주 동안 개념을 탄탄히 잡아야 겠다. 현재 과제에서 MVC 구조가 어떻게 되어있는지 하나하나 이해하는 시간을 가져야 될 것 같다.

하나 하나 깊게 파고들면 끝이 없고 커리큘럼은 빠듯해서 최적의 공부방법을 찾아야겠다. 물론 모든 걸 알고 넘어가면 좋겠지만 글을 읽거나 강의를 들어서 이해가 쉽지가 않다. 뭐든 내 손으로 직접 쳐보고 확인해야 이해가 빠른 것 같지만 또 어떻게보면 모르는 걸 무작정 치기도 힘들다… Cascade 와 orphanRemoval 의 차이를 확인하는 법이나 연관관계를 직접 이어보는 일도 쉽지 않다. 아직 많이 부족하지만 그래도 항해를 시작하면서 어느정도 혼자 성장하는 법에 대해 배운 것 같고, 같은 목표를 가진 좋은 사람들을 많이 만난 것 같아 기쁘다.

post-custom-banner

0개의 댓글