분류 전체보기 607

[고급 알고리즘] Graph(Shortest Path): Bellman-Ford

1. Bellman-Ford가중 유향 그래프에서 최단 경로 문제를 푸는 알고리즘단일 출발점에서 모든 정점까지의 최단 거리를 구함✅ 음수 간선 허용✅ 음수 사이클 판별 가능 2. 동작 원리정점의 갯수 - 1 번 완화를 반복 수행함➡️ 최종적으로 출발지에서 모든 정점까지의 최단 거리를 구할 수 있음 초기화✅ 자기 자신으로 가는 최단 거리 = 0✅ 다른 정점으로 가는 최단 거리 = INF (도착 못함) 간선 완화최대 간선 수 = 정점의 갯수-1 (사이클이 일어나지 않는다는 가정)✅ 점점 최단거리가 갱신됨 음수 사이클 검사사이클을 한 바퀴 돌 때마다 전체 비용이 계속 줄어드는 사이클✅ 사이클을 많이 돌수록 총 가중치는 무한히 작아짐✅ 즉, 최단경로가 없다 볼 수 있음➡️ 모든 간선에 대해서 간선의 도착지로 가는..

Algorithm 2025.12.22

[Spring][Validation] 3. Spring Bean Validation

Spring은 Bean Validation API를 완전하게 지원 1. LocalValidatorFactoryBeanSpring ↔️ Bean Validation 제공자를 연결해주는 브리지/어댑터 빈✅ Binding: Spring 바인딩 모델 연동 (Errors, BindingResult)✅ i18n: Spring MessageSource 연동✅ 커스텀 검증기 주입: 빈 등록을 통해 추가 가능✅ 제공자 감지: 클래스패스의 기본 Bean Validation 제공자 1개를 자동으로 감지 및 부트스트랩✅ 인터페이스: jakarta.validation.Validator, org.springframework.validation.Validator 설정) LocalValidatorFactoryBean더보기@Conf..

Spring/Spring 2025.10.13

[OpenTelemetry] 1. What is OpenTelemetry?

1. Observability Framework & Toolkit코드에 계측을 심어서 Trace, Metric, Log를 뽑아낼 수 있게 해주는 표준 도구 모음✅ 애플리케이션이 Telemetry 데이터를 생성, 수집, 내보내기 하도록 도와줌✅ 저장소와 시각화는 다른 툴이 담당함 2. 특징OTLP 프로토콜 (Telemetry 데이터 형식 정의)Semantic Convention (공통 데이터의 표준 네이밍 규칙)오픈소스 (CNCF 주도)벤더 독립적: 유연성 + 독립성 출처OpenTelemetry - What is OpenTelemetry?

카테고리 없음 2025.09.19

[Spring Cloud Config] 1-2. Spring Cloud Config Server: Composite Environment Repositories

1. Composite Environment Repositories여러 소스에서 설정을 동시에 가져오기composite 프로필을 사용하여 여러 환경 레포지토리를 한 번에 묶어 쓸 수 있음vault가 포함될 경우, config server에 대한 모든 요청에 vault 토큰을 보내야 함 (X-Config-Token 헤더)기본적으로 일부 레포지토리 실패 시 전체 composite 요청이 실패함 (failOnCompositeError 옵션으로 무시 가능) 예시더보기spring: profiles: active: composite cloud: config: server: composite: - type: svn uri: file:///path..

카테고리 없음 2025.09.02

[Vault] Auth methods

0. OverviewVault에서 인증을 담당하는 컴포넌트✅ 사용자를 인증하고, 해당 사용자에게 identity와 policy 부여✅ 실제 인증 과정을 외부 인증 프로바이더에 위임할 수 있음 (AWS, Github 등) Enabling/Disabling auth methods명령어/API로 활성화 가능✅ 모든 auth method는 auth/ prefix 아래에 마운트됨 (auth type별로 경로가 생성됨)✅ auth method가 꺼지면, 해당 방식으로 로그인했던 모든 사용자가 로그아웃됨 명령어) 활성화더보기더보기vault auth enable External auth method considerationsvault는 외부 인증 시스템에 로그인 시점과 토큰 갱신 시점마다 실시간으로 확인 요청을 보냄..

카테고리 없음 2025.09.02

[Spring Cloud Vault] 1. 설정

1. ConfigData API외부 설정을 가져오는 역할을 하는 API✅ Vault, Config Server 등✅ 어떤 설정 시스템을 가져올지, 순서를 어떻게 할지 지정 가능➡️ 유연성 높음 ConfigData Locations위치vault://vault:/// (컨텍스트 지정 가능)vault:///?prefix= (prefix 지정 가능) 기본 경로/secret/${spring.application.name}/${profile} 예시) application.yml더보기spring.config.import: vault://first/context/path, vault://other/path, vault://spring.config.import: vault://my/path?prefix=foo., vau..

카테고리 없음 2025.08.31

[Spring Cloud Vault] 0. Overview

0. 소개Spring Vault 위에서 동작하는 클라이언트 사이드 지원 도구✅ 모든 환경에서 애플리케이션이 필요로하는 외부 비밀 속성을 중앙에서 관리할 수 있음➡️ 다양한 외부 서비스에 대한 접속 자격 증명을 애플리케이션에 제공함 타입정적 비밀: 고정 값으로 자격 증명하는 방식의 secret (사용자 이름/비밀번호 등)동적 비밀: 필요할 떄마다 생성되는 임시 자격 증명 1. Server 설치2. Client 셋팅의존성) gradle더보기implementation 'org.springframework.cloud:spring-cloud-starter-vault-config' application.yml더보기spring.cloud.vault: host: localhost # Vault ..

카테고리 없음 2025.08.31

[Vault] Secret Engines

1. Overview데이터를 저장, 생성, 암복호화하는 컴포넌트 Path & RoutingVault 내 특정 경로에 마운트됨클라이언트 요청이 들어오면, Vault 라우터가 경로 접두어를 보고 해당 엔진으로 라우팅함 Lifecycle동작요약주요 영향enable엔진을 특정 경로에 활성화엔진 인스턴스 생성✅ 경로 대소문자 구분➡️ 해당 경로로 요청 라우팅 시작disable해당 엔진 비활성화엔진 사용 불가✅ 저장 데이터 제거move엔진의 마운트 경로 변경기존 경로에서 발급된 모든 리스 무효화✅ 설정 데이터는 유지tune엔진의 전역 설정예: TTL 등⚠️ 엔진의 경로가 충돌되어서는 안됨 (서로 접두어 관계가 되면 안됨) 예시) 명령어더보기vault secrets enable -path= vault secrets ..

카테고리 없음 2025.08.30

[Vault] 1. About Vault

1. What is Vault?중앙 집중화된 secret 관리 및 접근 제어를 제공하는 도구✅ 모듈형 설계✅ 플러그인 생태계➡️ 기존 시스템과 손쉽게 통합 가능 PluginVault의 기능 단위 블록✅ "데이터가 어떻게 처리되고, 클라이언트가 어떻게 접근하는지" 제어함✅ 내장 플로그인은 기본 포함되어 별도 등록없이 "enable" 해서 사용함✅ 외부 플러그인은 별도 배치 및 등록이 필요함 Who can access data in Vault?Vault는 저장되는 데이터에 대한 접근을 엄격히 제한함✅ 데이터는 저장 시 자동으로 암호화됨✅ 접근은 인증과 인가 과정을 반드시 거쳐야 함✅ 모든 인증/인가 시도를 감사 로그로 기록함 2. How Vault worksCore Workflow인증: 토큰, LDAP 프로..

카테고리 없음 2025.08.29

[Spring Cloud Netflix] 0. Overview

Netflix OSS를 Spring Boot 애플리케이션에서 바로 쓸 수 있도록 해주는 자동 설정 패키지✅ Netflix OSS: 오픈소스로 공개된 Netflix 인프라 라이브러리들 (Eureka, Ribbon, Hystrix, Zuul 등) 1. Service Discovery서비스 레지스트리 및 디스커버리 기능 제공✅ 클라이언트는 http://'서비스 이름' 형식으로 접근 가능 Eureka서비스 디스커버리를 제공하는 Netflix OSS 컴포넌트구분Eureka ServerEureka Client역할서비스 등록소(Registry)서비스 등록자 + 소비자주요 기능- 서비스 메타데이터(IP, Port, 이름 등) 보관- 서비스 상태 모니터링- 클러스터링(HA) 지원- 자기 자신을 Eureka Server에..

카테고리 없음 2025.08.28