본문 바로가기

전체 글375

@ConfigurationProperties @ConfigurationProperties는 Spring Framework에서 외부 설정을 Java 객체에 매핑하기 위해 사용하는 어노테이션입니다. 이 어노테이션을 사용하면 프로퍼티 파일(application.properties, application.yml 등) 또는 환경 변수에서 값을 읽어와 자동으로 Java 객체에 매핑할 수 있습니다. 이를 통해 설정값을 객체지향적으로 다룰 수 있게 되어, 설정값의 변경이나 추가가 간편해집니다.1. @ConfigurationProperties 기본 개념@ConfigurationProperties는 주로 외부 설정을 객체에 바인딩하기 위해 사용됩니다. 이 어노테이션을 사용하면, 프로퍼티 파일(application.properties 또는 application.yml.. 2024. 12. 11.
리프레시 스코프(Refresh Scope) 리프레시 스코프(Refresh Scope)는 Spring Cloud에서 사용되는 개념으로, Spring Cloud Config와 관련이 있습니다. 주로 동적 속성 갱신에 사용되며, 애플리케이션이 실행 중에 외부 설정 값을 자동으로 갱신할 수 있도록 도와주는 기능입니다.1. Spring Cloud ConfigSpring Cloud Config는 분산 시스템에서 중앙 집중식 설정 관리를 지원하는 Spring 프로젝트입니다.애플리케이션의 설정 정보를 Git 또는 파일 시스템 등에 저장하고, 애플리케이션이 실행 중에도 이 설정을 동적으로 변경할 수 있습니다.2. 리프레시 스코프(Refresh Scope)리프레시 스코프는 설정 값을 변경했을 때, 애플리케이션 컨텍스트의 일부 빈을 동적으로 갱신할 수 있는 기능을 .. 2024. 12. 11.
Bootstrap Bootstrap은 웹 개발을 위한 오픈 소스 프론트엔드 프레임워크로, 주로 웹사이트나 웹 애플리케이션의 디자인을 빠르게 구축하기 위해 사용됩니다. HTML, CSS, JavaScript를 기반으로 하며, 특히 반응형 웹 디자인과 모바일 퍼스트 접근 방식을 제공합니다. 이 프레임워크는 웹 페이지가 다양한 화면 크기와 디바이스에 맞게 자동으로 조정되도록 돕습니다.주요 특징과 구성 요소반응형 디자인 (Responsive Design):Bootstrap은 반응형 디자인을 기본적으로 지원합니다. 이는 웹 페이지가 데스크탑, 태블릿, 스마트폰 등 다양한 화면 크기에 맞게 자동으로 적응하는 디자인을 의미합니다.그리드 시스템(Grid System)을 사용하여 화면 크기나 해상도에 관계없이 콘텐츠가 잘 보이도록 구성할.. 2024. 12. 11.
HashiCorp의 Vault (+raft) HashiCorp Vault는 시크릿 관리 시스템(secret management system)으로, 주로 애플리케이션, 시스템, 서비스에서 사용하는 민감한 정보(예: API 키, 비밀번호, 인증 토큰 등)를 안전하게 저장하고 관리하는 데 사용됩니다. 또한, Vault는 암호화, 인증, 액세스 제어 등의 기능을 제공하여, 민감한 정보를 보호하고 이를 관리하는 복잡한 작업을 간소화합니다.주요 기능과 특징시크릿 관리 (Secret Management):Vault는 데이터를 안전하게 저장하고 필요한 서비스나 애플리케이션에만 접근을 허용합니다. 이를 통해 민감한 정보를 안전하게 저장하고 조회할 수 있습니다.예를 들어, 비밀번호, API 키, 데이터베이스 자격 증명 등을 저장하고 필요할 때만 안전하게 사용할 수 .. 2024. 12. 11.
멀티스테이지 빌드(Multi-Stage Build) 멀티스테이지 빌드(Multi-Stage Build)는 Dockerfile에서 매우 중요한 기술로, 효율적이고 최적화된 이미지를 생성하는 데 중요한 역할을 합니다. 멀티스테이지 빌드를 사용하면 여러 단계에서 이미지를 빌드하고, 각 단계에서 필요한 아티팩트만 추출하여 최종 이미지를 생성할 수 있습니다. 이를 통해 이미지 크기를 최소화하고, 불필요한 파일이나 빌드 도구를 최종 이미지에 포함시키지 않게 할 수 있습니다.멀티스테이지 빌드란?멀티스테이지 빌드는 여러 개의 빌드 단계를 하나의 Dockerfile에서 사용할 수 있게 해주는 기능입니다. 각 빌드 단계는 독립적으로 진행되며, 중간 이미지를 사용하여 다음 단계로 넘기거나, 불필요한 파일을 제거한 최종 이미지만 생성할 수 있습니다.멀티스테이지 빌드 장점이미지.. 2024. 12. 10.
바인드 마운트(Bind Mount)와 볼륨(Volumes) 1. 바인드 마운트 (Bind Mount)바인드 마운트는 호스트 시스템의 특정 파일이나 디렉토리를 컨테이너에 연결하는 방식입니다. 바인드 마운트를 사용하면 호스트 시스템의 파일 시스템에 의존하게 됩니다.특징:호스트 시스템과의 직접적인 연결: 바인드 마운트는 호스트 시스템의 디렉토리나 파일을 컨테이너에 직접 연결합니다.호스트 파일 시스템 의존: 바인드 마운트는 호스트의 파일 시스템에 의존하기 때문에, 호스트 시스템에서 변경된 내용이 컨테이너에 실시간으로 반영됩니다.사용 예:호스트 시스템의 개발 환경 파일을 컨테이너에서 사용하거나, 컨테이너 내에서 생성된 로그 파일을 호스트에서 직접 관리하려는 경우 유용합니다.예시:docker run -v /host/directory:/container/directory m.. 2024. 12. 10.