본문 바로가기
개발/기타

23년 07월 첫째주 WIL

by mabyoungg 2023. 7. 9.
  • 스파르타코딩클럽 - 스프링 숙련주차 2주차 완강, 심화주차 1주차 완강
  • udemy - Java Programming for Complete Beginners 수강 중
  • 주특기 2주차 테스트 통과 
  • Lv1 과제 제출, Lv2, Lv3 개인 완료, Lv2 팀 페어 시작

  • 정확한 계산 BigDecimal 사용,  String으로 값 전달
  • 데이터베이스 테이블에는 방향이라는 관계가 없다. Entity 클래스 세계에서는 객체 형태이기 때문에 서로 참조하기 위해 상대 Entity 타입을 필드로 가지고 있어야 한다. 참조할 필드가 없으면 조회 불가능. 방향이라는 개념이 생김.
  • ManyToOne, XXXToOne EAGER 즉시로딩  OneToMany, XXXToMany LAZY 지연로딩
  • 지연로딩된 Entity를 조회할 때 영속성 필요

 

  • DI (Dependency Injection): 의존관계 주입, 의존하는 객체를 직접 만들지 않고 주입받아 사용한다.
  • Ioc (Inversion of Control): 제어의 역전, 스프링에서는 스프링 컨테이너가 프로그램 제어 흐름을 제어. 기존 제어의 주체가 사용자였다면, 스프링 컨테이너가 주체가 된다. 
  • Bean: 스프링 컨테이너에 의해서 만들어지고 관리되는 객체, @Bean 외부 라이브러리 등록, @Component 사용자가 생성한 클래스 등록

 

블로그 코멘트 작성 기능을 구현하다가 에러가 발생했다. 

java.lang.NullPointerException: Cannot invoke "com.sparta.spartablog.service.CommentService.createComment(java.lang.Long, com.sparta.spartablog.dto.CommentRequestDto, jakarta.servlet.http.HttpServletRequest)" because "this.commentService" is null

원인은 CommentController 클래스에 생성자로 선언된 commentService에 final 키워드를 붙이지 않았다. 

의존성 주입을 위해서 @RequiredArgsConstructor 사용했는데 final 키워드가 없어서 생성자를 자동으로 생성하지 않았다.

 

의존성 주입 방법에는 생성자 주입, setter 주입, 필드 주입 등이 있는데 스프링 공식문서에서는 생성자 주입을 권장하고 있다.


  • 공부할게 점점 많아진다. 읽을 책도 많아진다. 천천히 하나씩 해보자.
  • 규칙적인 생활에 익숙해지기
  • 백엔드 개발자 되기 위한 나만의 로드맵을 만들고 전체적인 틀, 그분들의 생각을 알고 싶어서 박재성님, 김영한님 영상을 찾아봤다. 아직 나만의 로드맵이나 생각이 완벽하게 정리되지 않았지만, 그분들의 경험, 생각을 들으면서 나의 생각을 정리할 수 있는 계기가 되었다.
  • 아래 더보기에 참고한 영상들이 있다. 나처럼 그분들의 생각이 궁금하다면 과거영상부터 나열되어 있으니 위에서부터 하나씩 보자! 
더보기

박재성님

공감 세미나 (세션4) 박재성 -- 자바 웹 개발자의 학습 로드맵

https://www.youtube.com/watch?v=3mgMwObtaQ0 

 

[OKKY 세미나] 자바지기 박재성 - 소프트웨어 학습 및 자바 웹 개발 학습 로드맵

https://www.youtube.com/watch?v=mFYAX5s4I7k 

 

웹 백엔드 개발자 학습 로드맵

https://www.youtube.com/watch?v=ugP3iNPtf0w 

 

김영한님

어느 날 고민 많은 주니어 개발자가 찾아왔다 - 성장과 취업, 이직 이야기 | 인프콘 2022

https://www.youtube.com/watch?v=QHlyr8soUDM 

 

 

인프런 지식공유 전당 첫 번째 주인공, 김영한 님과 함께하는 Q&A!

https://www.youtube.com/watch?v=0UCNdfhC4KA 

 

인프런 최초 수강생 20만 명 달성 기념, 라이브 방송

https://www.youtube.com/watch?v=psXdWq008DA 

 

김영한 백엔드 개발자 자바 스프링 JPA 실무 로드맵

https://www.youtube.com/watch?v=ZgtvcyH58ys