전체보기
-
Loki는 로그 집계 시스템Grafana Labs에서 만들었고, Prometheus 스타일의 로그 시스템이다.🔥 특징메트릭 지향이 아니라 로그 지향기존 로그 수집 시스템(ELK Stack: Elasticsearch, Logstash, Kibana)과 비교하면 리소스 사용량이 적음인덱스 최소화 → 메타데이터(label)만 인덱싱하고, 실제 로그 내용은 그대로 저장Prometheus와 비슷한 라벨링 시스템 사용 → Prometheus 메트릭과 연계해서 사용하면 강력함주로 Grafana에서 시각화하고 쿼리할 때 사용🔧 아키텍처 구성Promtail → 로그를 수집해서 Loki에 전송하는 에이전트Loki → 로그 저장소 + 인덱싱 서버Grafana → Loki에서 수집된 로그를 조회하고 시각화🚀 장점설치, ..
Loki란 2025. 4. 3. -
Spring Eureka는 Spring Cloud의 구성 요소 중 하나로, 서비스 디스커버리 기능을 제공합니다. 즉, 마이크로서비스 아키텍처에서 서비스들이 서로를 동적으로 인식하고 통신할 수 있도록 도와줍니다. Eureka는 Netflix의 Eureka 서버를 기반으로 하며, 이를 사용하면 마이크로서비스 간의 통신을 효율적으로 관리할 수 있습니다.1. Eureka의 역할Eureka는 두 가지 주요 역할을 합니다:Eureka 서버 (Service Registry): 클라이언트 서비스가 자신을 등록하고, 다른 서비스의 정보를 검색할 수 있는 중앙 저장소 역할을 합니다.Eureka 클라이언트 (Service Discovery): 서비스가 Eureka 서버에 자신을 등록하고, 다른 서비스에 대한 정보를 찾기 위..
Spring Cloud Eureka란? 2025. 3. 18. -
API에서 인증(Authorization) 방식을 사용할 때, Authorization 헤더에는 인증 방식 + 토큰 값이 들어갑니다.그중에서 Bearer Token 방식은 OAuth 2.0 표준에서 사용하는 인증 방식으로,클라이언트가 서버에 요청을 보낼 때 "나는 이 토큰을 가진 사용자입니다"라고 증명하는 역할을 합니다.✅ Bearer의 의미Bearer는 영어로 "소지자" (Bearer) 라는 뜻입니다.즉, "이 토큰을 소지한 사람은 인증된 사용자로 간주된다"는 의미입니다.📌 사용 방식 (예시)Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... Authorization 헤더에 Bearer + (한 칸 띄우고) 토큰 값을 포함해야 합니다. ✅ 왜..
Authorization 헤더에서 Bearer를 붙이는 이유 2025. 3. 7. -
✅ application.properties vs application.ymlSpring Boot에서는 애플리케이션 설정을 application.properties 또는 application.yml 파일에 저장할 수 있습니다.두 방식은 동일한 기능을 제공하지만, 문법과 가독성이 다릅니다.1. application.properties (속성 파일)키=값 형식으로 설정단순하고 직관적이지만, 계층 구조 표현이 어렵다.📍 예제 (application.properties)server.port=8080spring.datasource.url=jdbc:mysql://localhost:3306/mydbspring.datasource.username=rootspring.datasource.password=1234spri..
Spring Boot의 애플리케이션 설정파일 2025. 3. 7. -
폼 로그인 방식 중 구글 로그인을 위한 예제입니다.지난 소셜 로그인 글과 이어집니다. ※ 테스트 환경Spring BootJDK 1.8GradleThymeleaf1. 구글 설정1. Google Cloud 접속2. 프로젝트 생성새 프로젝트를 생성합니다. 3. OAuth 클라이언트 ID 생성1) 메뉴의 API 및 서비스에서 사용자 인증 정보를 클릭2) 사용자 인증 정보 만들기 - OAuth 클라이언트 ID를 클릭 3) 동의 화면 구성 클릭 4) 시작하기 5) 앱 정보 입력 후 만들기 4. 동의화면 만들기1) OAuth 클라이언트 만들기 클릭 2) 애플리케이션 유형 선택 후 리디렉션 URI 입력 2. 로그인 구현카카오 로그인과 동일하게 클라이언트 ID, 보안키를 통해 서버로 인증 코드를 요청하고, 응답받은 ..
[Spring Boot]구글 로그인 구현 2025. 3. 5. -
✅ 1. RestTemplate (Spring Boot 2.4 이하 권장)RestTemplate은 간단한 HTTP 요청을 처리할 수 있는 클래스로, exchange(), getForObject(), postForEntity() 등을 제공함.⚠ Spring Boot 2.4 이상에서는 사용이 비권장(deprecated)되었으며, WebClient 사용이 권장됨.📝 예제 코드 (GET 요청)import org.springframework.http.ResponseEntity;import org.springframework.web.client.RestTemplate;public class RestTemplateExample { public static void main(String[] args) { ..
Spring 환경에서 API 호출하기 2025. 3. 5. -
📌 Vue.js란?Vue.js(뷰.js)는 "진입 장벽이 낮고, 점진적으로 적용할 수 있는 프론트엔드 프레임워크" 입니다.주로 싱글 페이지 애플리케이션(SPA) 개발에 사용되며, HTML, CSS, JavaScript를 조합하여 동적인 웹 애플리케이션을 쉽게 만들 수 있도록 도와줍니다.🔹 Vue.js의 특징반응형(Reactivity) 데이터 바인딩Vue의 핵심 기능 중 하나는 반응형 시스템입니다.data 객체의 값이 변경되면, 이를 사용하는 DOM도 자동으로 업데이트됩니다.Vue가 Proxy 또는 Object.defineProperty를 활용하여 변경을 감지합니다.컴포넌트 기반 아키텍처Vue는 재사용 가능한 컴포넌트 기반 구조를 가집니다.각 컴포넌트는 template, script, style로 구성..
Vue.js란? 2025. 3. 4. -
📌 Dart 언어 개요Dart는 Google에서 개발한 프로그래밍 언어로, 주로 Flutter 프레임워크와 함께 사용됩니다.웹, 모바일, 데스크톱, 서버 애플리케이션 개발이 가능한 멀티플랫폼 언어입니다.✅ Dart의 주요 특징1. JIT & AOT 컴파일JIT (Just-In-Time) 컴파일 → 개발 중에는 빠른 실행 & Hot Reload 가능AOT (Ahead-Of-Time) 컴파일 → 앱 배포 시에는 빠른 실행 속도 제공📌 Hot Reload 덕분에 Flutter 앱 개발 시 UI 변경 사항을 즉시 반영할 수 있음. 2. 객체지향 & 다형성 지원클래스(Class) 및 상속(Inheritance) 지원Mixin, Abstract Class 등 다양한 객체지향 개념 활용 가능모든 데이터 타입이 객..
Dart란? 2025. 3. 3.