본문 바로가기

전체 글221

IntelliJ에서 lombok 사용하기 1. Lombok 의존성 추가하기 https://mvnrepository.com/artifact/org.projectlombok/lombok 위 링크에서 lombok 버전을 선택하고 자신이 사용하는 빌드 툴에 맞는 의존성을 복사하여 추가한다. maven, lombok 1.18.18 버전 기준 의존성 추가 예시 org.projectlombok lombok 1.18.18 provided 2. intellij lombok 플러그인 설치하기 Preferences -> plusgins -> lombok 검색하여 설치 3. intellij annotation processing 활성화 Preferences -> Annotation Processors -> Enable annotation processing 활성화 2021. 2. 1.
[ 자바 스터디] 11주차 과제 - 열거형(Enum) 본 게시글은 백기선 님의 live-study 과제를 수행하면서 작성한 글입니다. 목표 자바의 열거형에 대해 학습하세요. 학습할 것 (필수) enum 정의하는 방법 enum이 제공하는 메서드 (values()와 valueOf()) java.lang.Enum EnumSet 열거형(Enum)이란? 열거형은 서로 관련이 있는 여러 상수를 편리하게 선언하기 위한 것으로, C언어와 달리 자바에서는 원래 열거형이 존재하지 않았지만 JDK1.5부터 새로 추가되었다. C언어의 열거형은 타입이 달라도 값이 같다면 == 비교에서 true를 리턴 하지만, 자바의 열거형은 '타입에 안전한 열거형'이라서 값이 같더라도 타입이 다르면 컴파일 에러가 발생한다. enum 정의하는 방법 enum 열거형이름 {상수명1, 상수명2, ..... 2021. 1. 29.
[자바 스터디] 10주차 과제 - 쓰레드 본 게시글은 백기선 님의 live-study 과제를 수행하면서 작성한 글입니다. 목표 자바의 멀티쓰레드 프로그래밍에 대해 학습하세요. 학습할 것 (필수) Thread 클래스와 Runnable 인터페이스 쓰레드의 상태 쓰레드의 우선순위 Main 쓰레드 동기화 데드락 쓰레드란? 프로세스 : 실행 중인 프로그램, OS로부터 실행에 필요한 자원을 할당받아 프로세스가 된다. 쓰레드: 프로세스의 자원을 이용해서 실제로 작업을 수행 멀티쓰레딩 하나의 프로세스 내에서 여러 쓰레드가 동시에 작업을 수행하는 것이다. CPU 코어는 한 번에 하나의 작업만 수행할 수 있으므로 실제로 동시에 처리되는 작업의 개수는 코어의 개소와 일치하지만, 아주 짧은 시간 동안 여러 작업을 번갈아 가면서 수행함으로써 여러 작업이 동시에 수행되.. 2021. 1. 23.
[자바 스터디] 9주차 과제 - 예외 처리 본 게시글은 백기선 님의 live-study 과제를 수행하면서 작성한 글입니다. 목표 자바의 예외 처리에 대해 학습하세요. 학습할 것 (필수) 자바에서 예외 처리 방법 (try, catch, throw, throws, finally) 자바가 제공하는 예외 계층 구조 Exception과 Error의 차이는? RuntimeException과 RE가 아닌 것의 차이는? 커스텀한 예외 만드는 방법 Exception과 Error 실행 중인 프로그램이 오작동을 하거나 비정상적으로 종료되도록 하는 원인이 되는 것을 에러라고 한다. 컴파일 에러 : 컴파일 시에 발생하는 에러 런타임 에러 : 실행 시에 발생하는 에러 논리적 에러 : 실행은 되지만, 의도와 다르게 동작하는 것 런타임 에러를 방지하기 위해서는 프로그램 실행.. 2021. 1. 15.
[스프링] 빈 초기화, 소멸 메소드 사용하기 생성자 안에서 무거운 초기화 작업을 하는 것보다는 객체를 생성하는 부분, 초기화 부분을 명확하게 나누는 것이 유지보수 관점에서 좋다. 초기화 작업이 내부 값들만 약간 변경하는 정도의 단순한 경우라면 생성자에서 한 번에 처리하는 게 더 나을 수 있다. 스프링 컨테이너가 생성되고 빈의 생성과 의존관계 주입이 완료료되면 콜백을 통해 초기화 시점을 알려주고, 스프링 컨테이너가 종료되기 직전에 소멸 콜백을 준다. 스프링의 초기화, 소멸 작업 방법 스프링의 인터페이스 구현 빈을 등록할 때 초기화, 소멸 메소드 지정 @PostConstruct, @PreDestroy 애노테이션 사용(권장되는 방법) 인터페이스 구현 InitializingBean, DisposableBean 인터페이스를 구현한다. afterPropert.. 2021. 1. 12.