한 주간 스스로 평가해보기

Kim DongKyun·2023년 1월 13일
0

한 일과 아쉬운 점

스프링 프로젝트 회고

스프링 프로젝트를 회고하면서, 내가 얼마나 주먹구구식으로 코드를 짜왔는지 다시 한 번 알았다.

  1. repository와 db의 관계, JPA가 어떻게 도와주는지 정확히 몰랐다.
  • SQL 을 왜 써야하는지, JPA를 사용하면 SQL이 어떻게 날아가는 지 전혀 신경쓰지 않았다.
  • 예를 들어 JPA 양방향 ( OneToMany + ManyToOne )연관관계에서 CASCADE.REMOVE / OrphanRemoval = true 설정했다고 하자.
  • 그러면 여기서 부모 객체를 삭제했다고 해보자.(OneToMany로 자식 객체를 가진 엔티티다) 그러면 delete 쿼리는 몇 개 날아갈까?
    -> 정답은 자식 객체의 개수만큼 날아간다.

위처럼 막연히 아~ OneToMany 쓰면 안되는구나~ delete 콜 함부로 날리면 안되는구나~ 만 알았지 왜 안되는지에 대한 정확한 이유를 잘 몰랐다. 지금도 현업에서와 같이 정확히 알지는 못하는데, 더 많은 에러를 지금 당장 만나서 해결하고싶다 진짜로 ㅜㅜㅜ제발...제발 나중에 터지면 후...

  1. Transactional.

영속성 컨텍스트, 1차 캐시, 플러시, 엔티티 매니저... 여러 키워드가 주어졌지만 난 정말 가볍게밖에 알 지 못했다. 다시 한 번 정리하면서 느끼는 건 내가 너무 기능에 치우쳐진 공부를 하고있나? 하는 의문이었다. 자바의 구조, 스프링의 동작 원리, AOP등등 나 딴에는 구조를 보고싶어 공부했지만 아직 부족하다. 시간도 부족하지만 내가 재미를 느끼는 점은 실제 코딩을 '하는' 부분인 것 같다. 원리에 대해서 더 꼼꼼히 공부해야 한다.

알고리즘

이번 주는 거의 알고리즘과 씨름했다. 알고리즘 lv1로 들어오면서 가벼운 수학적 개념들이 등장하는데 하...이거 진짜 왜캐 싫냐ㅜ 알포자 되긴 싫어서 매일매일 세네문제씩 풀고 있다.

결심

주말 시간에 조금 나태해진 것 같다. 프로젝트 일단 끝났으니 좀 헤이해졌는데, 그러면 안된다. 다시 한 번 마음 다잡고 일단 김영한님 JPA 강의부터 들어야겠다. 기본편은 내가 아는 내용도 많고, 실제로 필요해지기 전까지는 조금 보류 할 생각이다.

0개의 댓글