TIL 10일차(2021-08-18)

엄진환·2021년 8월 18일
0

오늘 한일

SpringBoot 공부

  • Spring 개념 정리
    • DI(Dependency Injection, 의존성 주입)
      - Spring에서 객체 간의 결합도를 낮추기 위해 Annotation을 활용하여 객체 간의 의존 관계를 주입하는 것입니다.
    • 종류로는 생성자 주입, 수정자 주입, 필드 주입 방식이 있습니다.
    • DI를 생성자 주입으로 해야하는 이유
      • 초기화 시에 필요한 의존관계 형성으로 안전함
      • 테스트를 쉬움
      • 불변성 확보
    • ApplicationContext
      - 객체의 생성과 소멸 주기를 관리합니다.
      - SpringContainer도 ApplicationContext에서 관리됩니다.
    • Bean Lifecycple Callbacks
      - Bean의 생성, 소멸할 때 Annotation을 통해서 init, destory 전후에 메소드를 실행 가능
    • Circular dependency(링크)
    • Component Scan
      - @ComponentScan Annotation를 사용하여 원하는 범위의 Bean 등록 가능
      - 일일히 @Bean으로 등록할 필요가 줄어든다!

Command-line Application 기능 구현

  • ComponentScan Annotation를 사용하여 Bean을 등록하기(완료)
  • Memory에 저장하는 Voucher 정보를 File에 저장하여 불러오기 기능 구현(진행중)

내일 할일

1. Command-line Application 파일 입출력 기능 구현

  • Memory에 저장하는 Voucher 정보를 File에 저장하여 불러오기 기능 구현

2. Environment, YAML로 프로퍼티 작성 개념 학습

  • 학습 내용 Command-line Application 기능 구현하기

3. 디자인 패턴 2개 조사하기(1일 늦춰짐)

  • 적응자 패턴 구현하기
  • 감시자 패턴 개념 파악하기/구현하기

느낀 점

이번 주에 Spring을 공부한 내용을 팀원들과 공유하면서 DI, ApplicationContext 등 Spring 공부한 내용이 체화되지 않았다고 느껴서 가장 우선 순위로 Spring 공부하면서 나오는 모든 용어를 스스로 이해하는 것에 시간을 썼습니다. 단어를 보고 개념을 글로 정리하면서 단순히 학습 영상만으로 공부하는 것보다 머리 속에 잘 남고 남에게 설명할 수 있을 것 같습니다. 다만 내용이 많아서 매일 궁금한 리스트를 따로 만들고 일정 시간만큼 하나씩 처리할 필요를 느낍니다.
Spring 공부로 시간을 많이 써서 디자인 패턴 쪽을 진행하지 못했습니다. 이번 달 내에 모든 디자인 패턴을 구현하면서 이해하는 것이 목표이기 때문에 매일 1~2개씩 끝낼 수 있도록 다른 공부와 시간 배분을 잘 할 필요성을 느꼈습니다.
Notion에 공부 내용을 기록하기는 하는 여기 velog에 옮기는 작업이 불편합니다. Notion만 쓰던지 아니면 Notion의 내용을 작성할 때 velog 하나의 글일 될 수 있도록 Notion 페이지를 분리해서 작성을 해봐야겠습니다.

profile
개발 공부 블로그

0개의 댓글

관련 채용 정보