JDBC 자바의 데이터베이스 표준 인터페이스 DB 벤더 회사의 jdbc 드라이버와 함께 어떤 DBMS와도 사용 가능 Sql Mapper jdbcTemplate, Mybatis : sql 전달, 응답을 객체로 편리하게 변환 가능, jdbc의 반복 코드 제거 ORM 코드만으로 가능하다 객체지향적으로 작성할 수 있으며, 동적인 쿼리의 재활용에 있어서 편리하다....
오류 오류가 났을 때 끝까지 추적하는 것이 필요하다. 첫 번째 오류를 해결하다가 또 다른 오류가 발생할 때 두 번째 오류를 해결한 후 첫 번째 오류는 기억 저 멀리로 가는 경우가 종종 있었다. 오류가 있지만 실행이 되는 경우가 해당 경우인데 바로 인지하지 못하기 때문에 큰 문제를 발생시킬 수 있다. 임시적으로 오류를 처리하여 근본적인 원인을 해결하지 않는 ...
최범균님의 도메인 주도 설계 관련 도서를 읽고 내용을 정리했다. 도메인 주도 DDD Start! 도메인 주도 설계 구현과 핵심 개념 익히기 (2016년) 도메인 주도 개발 시작하기 (2022년) DDD Start를 보완하여 출판한 도서이기 때문에 도메인 주도 개발 시작하기를 보면 된다 새롭게 알게 된 개념 애그리거트 같은 생명주기를 공유하는 도메인들을 의미...
메세지 큐 데이터를 전달 및 처리할 때 중간에 임시 공간을 두어 데이터를 쌓아두고 처리 하는 것 큐에 넣어두고 비동기로 처리하기 때문에 바로 처리가 필요하지 않은 대규모 데이터 - 대용량 트래픽 처리에 적합하다 Pub-Sub 패턴 publisher(발행자) - subscriber(구독자) 비동기 메세지 패턴 발행된 메세지는 불특정한 수신자로 전달된다 카프카...
ELK 스택 플로우 logback -> logstash -> elastic search -> kibana ELK 스택 설명 logback 로깅 프레임워크 appender를 지정하여 console, logstash, slack 등으로 로그 데이터 전송 logstash 로그 데이터 수집 데이터 처리 파이프라인 도구 elasticsearch 저장 및 가공 모든 ...
도서 정리 - 아파치 카프카 애플리케이션 프로그래밍 with 자바 (최원영) 카프카 토픽 토픽은 관계형DB에서 테이블과 같으며 토픽 안에는 파티션이 있다 프로듀서 -> 파티션에 적재 -> 컨슈머 모든 파티션에 적재되는 것이 아닌 하나의 파티션에 적재된다 queue 자료구조 파티션에 들어있는 데이터를 순차적으로 소비한다 파티션에 있는 데이터는 삭제되지 않는다...
JWT 플로우 로그인 시 access_token, refresh token을 발급한다. 발급받은 access_token을 Header에 담아서 인증 처리를 한다. Authorization: Bearer {access_token} access_token이 만료되면 refresh_token을 활용하여 access_token과 refresh_token을 재발급받...
Util 활용 일회용 로직이 아닌 이후에도 다른 곳에서 사용될 기능들은 따로 분리하여 재활용 static을 활용하면 JVM 메모리의 클래스 영역에 올라가며, 인스턴스 생성 없이 클래스를 통해 바로 호출하여 사용 가능하다. final은 수정되지 않는 값으로 static final을 통해 상수를 생성하여 활용 가능 예시1) @DateTimeFormatter을 ...
Job Job이란 주기적인 데이터 일괄 처리를 의미한다. Job을 처리하기 위한 데이터는 Request 파라미터 또는 DB를 통해 호출하며 상태 변경이나 특정 기능을 실행한다. Job에서 플래그 컬럼, 부수적인 테이블 활용 특정 데이터의 주기적인 업데이트가 필요할 때 모든 범위의 데이터를 스캔하면 비효율적이다. 업데이트할 데이터를 선별하기 위해서 쿼리를 통...
Redis란 인메모리 데이터베이스로, 키-값 형태의 데이터 구조를 가지고 있다. 인메로리 데이터베이스이기 때문에 디스크 입출력 없이 속도가 빠르다. 휘발성을 지니고 있다. 키-값 형태의 데이터 구조를 갖고 있기 때문에 유연한 데이터 관리가 가능하다. 캐시 서버나 트래픽을 분산을 위해 사용된다. Redis 구동 다음 명령어로 redis가 설치된 위치에서 re...