일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 디자인패턴
- Yes
- 알고리즘
- 인공지능
- 소프트웨어
- 컴퓨터비전
- 소프트웨어공학
- 빅데이터
- 딥러닝
- 보안
- 웹개발
- 컴퓨터공학
- 데이터구조
- springboot
- 사이버보안
- 파이썬
- 버전관리
- 프로그래밍언어
- 컴퓨터과학
- 자바스크립트
- 데이터분석
- 자료구조
- 네트워크보안
- 프로그래밍
- I'm Sorry
- 클라우드컴퓨팅
- 네트워크
- 데이터과학
- 데이터베이스
- 머신러닝
- Today
- Total
목록springboot (35)
스택큐힙리스트
“동시에 한 번만 실행”을 보장하는 방법은 하나가 아닙니다. 실무에서 가장 많이 쓰는 세 가지—Redisson(레디스 기반 락), ShedLock(스케줄 단일 실행), DB 락(Advisory/행 수준 락)—을 아키텍처 관점과 장애 시나리오까지 묶어 고급 비교로 정리했습니다.1) 한 줄 요약Redisson: 초저지연·고QPS 임계영역 보호에 적합. TTL/워치독으로 고아락 방지. 레디스 가용성/네트워크 분할 가정이 안전성의 전제.ShedLock: “스케줄 job을 동시에 최대 1회만” 실행하는 데 특화. 비즈니스 임계구간 일반 락 용도는 아님. lockAtMostFor/lockAtLeastFor로 종료 보장·중복 억제.DB 락: 트랜잭션 모델과 강한 일관성이 장점. PostgreSQL Advisory/M..
1. 큰그림두 패턴 모두 객체를 일렬로 연결해 요청을 전달하는 “재귀적 합성(체이닝)” 구조를 쓴다. 그래서 UML만 보면 “거의 같은데?” 싶지만, 의도와 결과가 완전히 다르다.2. 공통점 ― 왜 비슷해 보일까?재귀 합성: 객체가 자기 안에 같은 타입을 보관하고 다음 객체로 위임한다.런타임 조립: 체인 순서를 코드를 수정하지 않고 동적으로 바꿀 수 있다.결합도 ↓: 클라이언트는 “얼마나 많은 객체가 연결돼 있는지” 모른다.3. 결정적 차이점 포인트 책임 연쇄(CoR) 데코레이터(Decorator) 목적“누가 요청을 처리할지 찾는다” – 책임 위임“객체에 기능을 덧붙인다” – 행위 확장흐름 제어핸들러가 처리를 중단할 수 있음 (다음으로 패스 여부 결정) 데코레이터는 반드시 내부 객체를 호출해 흐름을 ..
1. 패턴 한 줄 요약“여러 처리자(handler) 를 체인처럼 묶어, 요청을 순차적으로 건네며 해당 단계가 책임을 지면 거기서 끝·못 하면 다음으로 패스한다.”2. 왜 써야 할까?결합도↓ : 클라이언트가 ‘누가 처리할지’를 몰라도 된다.확장성↑ : 새 규칙이 생겨도 체인에 핸들러만 끼워 넣으면 끝.실행 흐름 제어 : 요청 로깅→인증→권한→비즈니스 로직 같은 가변 파이프라인을 우아하게 다룬다.3. 구조 감 잡기Handler 인터페이스 – handle(request) + next 보관ConcreteHandler – 조건 확인 후 처리·패스 결정Client – 첫 번째 핸들러에게만 요청하고, 나머지는 체인이 알아서4. 코틀린 예제 – API 필터 체인interface ApiFilter { fun doF..
큰 그림 먼저두 패턴 모두 코드 중복을 줄이고 역할을 쪼개기 위한 도구지만, 초점이 다르다.Factory Method는 “어떤 객체를 만들지?”에 대한 생성 책임을 서브클래스에 넘긴다. API 사용자는 “어떤 구체 클래스인지” 모르는 채로 인스턴스를 받아 쓴다.Template Method는 “만들어진 객체가 어떻게 일할까?”에 대한 행위 흐름을 부모가 고정하고, 변동 단계만 자식에게 맡긴다.둘을 조합하면 “공통 알고리즘 뼈대”는 Template Method로 잡고, 그 과정에서 필요한 “구체 객체”는 Factory Method로 생성하도록 설계할 수 있다. 예컨대 스프링 DispatcherServlet이 요청 흐름(Template) 안에서 View 객체를 뽑아낼 때 ViewResolver가 Factory..