😀2022.12.21

일일 회고 126일차

할일 및 한일

경험 및 배움

SQL 세미나 과제

간단하지만, 헷갈릴 수 있는 테이블 생성과 데이터 삽입을 연습하였다. 이론은 알고 있지만 막상 작성하려고 하면 헷갈렸던 문장들을 연습할 수 있었다.

예를 들면 다음과 같은 외래키 참조와 같은 코드를 연습해 볼 수 있었다.

FOREIGN KEY (pm_msc_code) REFERENCES music (msc_code),
FOREIGN KEY (pm_emp_code) REFERENCES employee (emp_code)

정리한 내용은 다음 링크에서 볼 수 있다. 내일은 생성한 테이블 및 데이터를 이용하여 문제를 풀어볼 예정이다.

스프링 강의 수강 및 정리

오늘은 몇 일 동안 미뤄놓았던 스프링 강의를 듣고, 공부하였다.

오늘 학습한 내용은 빈 생명주기 콜백이다. 예를 들어 데이터베이스 커넥션 풀이나, 네트워크 소켓 처럼 애플리케이션 시작 시점에 필요한 연결을 미리 해두고, 애플리케이션 종료 시점에 연결을 모두 종료하는 작업이 필요할 때가 있다.

이 때, 객체의 초기화와 종료 작업이 필요하다. 스프링 빈의 이벤트 라이프사이클은 다음과 같다.

스프링컨테이너생성 → 스프링빈생성 → 의존관계주입 → 초기화콜백 → 사용 → 소멸전콜백 → 스프링 종료

또한 스프링은 크게 3가지 방법으로 빈 생명주기 콜백을 지원하지만, 공식 문서에도 그렇고 마지막 방법만 권장을 한다고 한다.

@PostConstruct@PreDestroy 어노테이션을 사용하는 방법으로, 애노테이션 하나만 붙이면 되므로 매우 편리하게 초기화와 종료를 실행할 수 있다.

@PostConstruct
public void init() throws Exception {
    System.out.println("NetworkClient.init");
    connect();
    call("초기화 연결 메시지");
}

@PreDestroy
public void close() throws Exception {
    System.out.println("NetworkClient.close");
    disconnect();
}

이번 파트를 정리한 내용은 다음 링크에서 볼 수 있다.

개선 및 목표

  • 내일은 SQL 세미나가 있는날이다.

  • 자료구조 세미나를 멘토로 시작하는 날이 얼마 남지 않았다. 열심히 하자.

Last updated