-
[Batch] 스프링 배치(Spring Batch)
Spring Batch 배치(Batch) : 일괄 처리 방식을 의미 스프링 배치는 로깅/추적, 트랜잭션 관리, 작업 처리 통계, 작업 재시작, 건너뛰기, 리소스 관리 등 대용량 레코드 처리에 필수적인 기능을 제공 배치가 실패하여 작업 재시작을 하게 된다면 처음부터가 아닌 실패한 지점부터 실행 중복 실행을 막기 위해 성공한 이력이 있는 Batch는 동일한 Parameters로 실행 시 Exception이 발생 배치 작업이 필요한 이유 대용량의 비지니스 데이터를 복잡한 작업으로 처리해야하는 경우 특정한 시점에 스케줄러를 통해 자동화된 작업이 필요한 경우 ...
-
[Spring] Logging - logback 프레임워크
Logback SLF4J의 구현체 중 하나 Log4J를 토대로 만든 프레임워크 구성요소 Logger : 실제 로깅을 수행하는 구성요소 출력레벨 조정가능 (ERROR > WARN > INFO > DEBUG > TRACE) Appender : 로그를 어디에 출력할지에 대한 기술 ConsoleAppender, FileAppender, DBAppender 등 Encoder : 로그를 어떻게 출력할지에 대한 기술 (포맷 정의) layout은 더이상 사용되지 않음 logbac...
-
테라폼(Terraform) 기본
IaC(Infrastructure as Code) 도구 중 하나로 코드를 사용해 인프라를 관리 테라폼으로 인프라 변경사항을 적용하면 state가 만들어진다 실제 AWS 인프라와 테라폼 상태인 .tfstate가 일치되는 것이 중요 기본 개념 Resource : 실제로 생성할 인프라 자원 ex) aws_security_group Provider : Terraform으로 정의할 인프라 플랫폼 ex) AWS, GCP Output : 생성된 자원의 state 파일(.tfstate) Backend : 생성된 state가 저장될 공간, 기본은 local이지만 backend.tf...
-
행동 (4) - 옵저버(Observer) 패턴
객체를 관찰하다가 상태 변화가 발생하면 특정 메서드를 실행하는 패턴 옵저버(Observer) or 리스너(Listener)라고 부른다 이벤트가 발생하는 주체(Subject)는 상태 변화시 이를 전달할 옵저버 리스트를 갖고 있다 용어 Subject : 이벤트가 발생하는 주체, 발행자(Publisher) Observer : 옵저버 추상화 인터페이스 Concrete Observer : 상태 변화시 특정 행동을 수행하는 객체, 수신자(Subscriber) 구현 Observer public interface Observer { public void update(); } ...
-
행동 (3) - 상태(State) 패턴
객체의 상태에 따라 처리를 다르게 하는 패턴 상태 패턴을 사용하면 상태에 따라 캡슐화 된 다른 클래스를 사용하기 때문에 객체의 클래스가 바뀌는 것과 같은 결과를 얻을 수 있다 용어 State : 상태 인터페이스 Concrete State : 각 상태에 따른 처리 클래스 Context : State를 사용하는 객체 구현 State 상태를 별도의 클래스로 캡슐화 public interface ElevatorState { public void pushUpButton(); public void pushDownButton(); ...