일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- spring batch
- Spring Cloud Netfilx Eureka
- java 정렬
- Java
- thread
- Parallel Old GC
- spring cloud
- 타입스크립트
- Spring Boot Actuator
- Resilinece4j
- 스프링 배치
- TypeScript
- 디자인패턴
- Action Pattern
- The law of Demeter
- 멀티스레드
- 알고리즘
- 사가 패턴
- saga pattern
- 스레드
- Transaction Pattern
- JPA
- 생산자 소비자 패턴
- 디자인 패턴
- zipkin
- 체인 패턴
- 배치
- Serial GC
- 키클락
- MSA
- Today
- Total
목록분류 전체보기 (84)
PSD( Private-Self-Development )
싱글톤 패턴? 객체 인스턴스를 1개만 유지 및 사용하기 위한 디자인 패턴 싱글톤 패턴의 장점 무분별한 인스턴스 생성을 방지하기 때문에, 메모리낭비를 줄일 수 있다. 동일 자원 공유 및 사용 인스턴스가 1개만 존재함을 보증 싱글톤 패턴의 단점 객체지향의 단일 책임 원칙을 위반하므로 남용해서는 안된다. 클래스 본연의 목적을 해결하기 위한 본연의 책임 중복 객체 생성 방지를 위한 책임 자식 클래스 생성 이 불가능하다. 유연성이 떯어진다. 싱글톤 패턴 구현 volatile를 이용한 개선된 DCL(Double-Checked-Locking) Singleton 패턴 (jdk 1.5 이상에서 사용) - jdk 버전에 의존적 public class A { private volatile static A instance;..
팩토리 패턴이란? 가장 기본이 되는 디자인 패턴 객체 간의 클래스 생성으로 생기는 결합 관계를 낮추기 위해 객체 생성을 다른 클래스나 메서드에게 위임하도록 구현하는 것이다. 팩토리 패턴 장점 사용과 생성을 분리하는 과정에서 중복 코드가 정리되는 효과를 가진다. 결합도가 낮아지며 유연성과 확장성이 증가된다. 어떤 객체를 생성할지 모르는 초기 단계 코드에 유용하다. => 객체를 먼저 호출하여 사용 후 쉽게 수정 할 수 있기 때문 팩토리 패턴 단점 객체의 생성을 위임하기 위한 새로운 객체가 필요하고 때문에, 관리해야할 클래스가 늘어난다 => 단순 팩토리 패턴( 메서드 팩토리 패턴 )을 사용하면 해소 가능하다. 팩토리 패턴 구현 public class Main{ public static void main(Str..
JobBuilder 의 종류 SimpleJobBuilder SimpleJob( 순차 실행 ) 을 생성한다. FlowJobBuilder FlowJob( flow 특정 및 해당 flow 순서로 실행 ) 을 생성한다. JobBuilder API 인터페이스 예시 public Job job() { return jobBuilderFactory.get("batchJob") .start(Step)// 처음 실행 할 Step 설정 SimpleJobBuilder 생성 .next(Step)// 다음에 실행 할 Step 들을 순차적으로 연결 .incrementer(JobParametersIncrementer)// JobParameters 에서 필요한 값을 증가시켜 다음에 사용될 JobParameters 를 생성 .valida..
InnoDB, MyISAM? Mysql 의 스토리지 엔진의 종류이다. 대부분 InnoDB 를 사용하지만, 각각 장단점이 있기에 알아두자! InnoDB 장점 트랜젝션에 안전하다. 때문에 그에 따른 많은 기능을 제공한다. ex ) commit, rollback, 장애복구, row-level locking, 외래키 등 다수의 사용자 동시 접속 에 유리 대용량 데이터 처리에 유리 CPU 효율 우수 자체적으로 메인 메모리 안에 데이터 캐싱, 인덱싱을 위한 버퍼 풀을 관리 단점 풀텍스트 인덱스를 지원하지 않는다. 풀텍스트 인덱스? 검색 엔진과 같이 모든 데이터 문자열의 단어를 인덱스로 저장한다. MyISAM 장점 풀텍스트 인덱스 지원 때문에 검색 능력이 우수하다. 항상 테이블에 Row Count 를 가지고 있다. ..
옵저버 패턴이란? 특정 객체의 상태 변화를 관찰하고 있는 관찰자들을 구현하는 패턴이다. 즉, 옵저버들을 특정 객체에 등록하고, 객체에 변화가 있을 경우 옵저버들에게 메서드를 통해 통지 혹은 이벤트 발생을 시킨다. 옵저버 패턴의 장점 실시간으로 객체의 변화를 옵저버들에게 전파 가능 느슨한 결합으로 시스템이 유연하고 객체간의 의존성 감소 옵저버 패턴의 단점 과도하게 사용하면 상태 관리가 힘들다. 데이터 배분에 문제가 생기면 큰 문제가 될 수 있다. 옵저버 패턴의 구현 public class A { private int status = 0; private List obserberList = new ArrayList(); public void addObserver(Observer observer){ obserb..
프록시 패턴이란? 어떠한 객체를 사용하고자 할 때, 객체에 직접적으로 접근하는 것이 아닌, 해당 객체에 실질적으로 접근하는 대리자(프록시) 를 두어 해당 대리자에 접근하여 실객체 설정 및 사용하도록 만든 디자인패턴 프록시 패턴의 장점 사이즈가 큰 객체라면 실제 해당 객체 생성 전에 프록시를 통해 참조할 수 있다. 실 객체의 내부 로직을 숨기고 인터페이스를 통해 원하는것만 노출 가능 실 객체 접근 전, 전처리 로직을 만들 수 있다. 개방/폐쇄 원칙 실 객체의 생명주기 관리 가능 프록시 패턴의 단점 객체 생성 시 한 단계가 추가되므로, 객체 생성이 빈번할 경우 성능 저하 프록시 내부에 스레드 생성, 동기화 구현 필요 시, 성능 저하 가독성 저하 프록시 패턴 종류 가상프록시 꼭 필요로 하는 시점가지 객체의 생..
저장 프로시저? 쿼리문을 메서드 형식으로 만들고 어떠한 동작을 일괄적으로 처리하도록 각 DBMS 에서 지원하는 기능 여러 컬럼과 테이블을 조인하고 조회 조건을 거는 등 이러한 긴 쿼리문을 그때그때 사용하는 것이 아닌, 프로시저 로 저장 해 놓고 이를 호출하는 것이 효율적이다. 장점 하나의 요청으로 여러 sql 문 실행 가능( 네트워크 소요시간 최소화 ) DB 와 백엔드 를 구분해 개발 할 수 있다. 성능 향상 저장 프로시저를 처음에 실행하면, 최적화, 컴파일 단계를 거쳐 그 결과가 캐시(메모리) 에 저장되고, 이후에 해당 저장 프로시저를 실행하면 캐시에서 데이터를 읽어와 성능 개선이 된다. 보안 강화 사용자 별로 테이블에 대한 접근 권한이 아닌, 프로시저에 접근 권한을 주는 방식으로 보안을 강화 할 수 ..

1. Job 개념 배치 계층 구조의 최상위 개념, 하나의 작업 자체를 의미 배치 작업을 어떻게 구성하고 실행할 것인지 전체적으로 설명하고 명세해 놓은 클래스 스프링 배치가 기본 구현체를 제공한다. 여러 Step 을 포함하고 있다. 기본 구현체 종류 SimpleJob 순차적으로 Step 을 실행 FlowJob 특정 조건 과 흐름에 따라 Step 을 실행 2. JobInstance 개념 Job 이 실행될 때 생성되는 Job 의 논리적 실행 단위 객체 (각 작업 실행) Job + JobParameter 의 구성을 가지며, 같은 Job 이라도 JobParameter 가 다르면 새로 JobInstance 를 생성 Job(1) 과는 1:M JobParameter 와는 1:1 3. JobParameter 개념 Job..