전체보기
-
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. -
RESTful이란?RESTful은 REST(Representational State Transfer) 아키텍처 스타일을 따르는 API를 의미합니다. REST는 HTTP 프로토콜을 기반으로 자원을 관리하는 방식이며, RESTful API는 이 원칙을 준수하여 설계된 API입니다.REST의 주요 원칙클라이언트-서버 구조클라이언트와 서버는 서로 독립적으로 동작하며, 클라이언트는 서버의 자원을 요청하고 서버는 이를 처리하여 응답합니다.무상태성 (Stateless)서버는 클라이언트의 상태를 저장하지 않습니다. 모든 요청은 필요한 정보를 포함해야 하며, 세션 정보를 서버가 유지하지 않습니다.캐시 가능 (Cacheable)HTTP 캐싱을 활용하여 성능을 개선할 수 있습니다.계층적 시스템 (Layered System)..
RESTful이란? 2025. 2. 28. -
📌 MongoDB란?MongoDB는 NoSQL 데이터베이스 중 하나로, JSON과 유사한 BSON(Binary JSON) 문서 형식을 사용하여 데이터를 저장하는 문서 지향(Document-Oriented) 데이터베이스입니다.관계형 데이터베이스(RDBMS)와 달리 스키마가 고정되어 있지 않으며, 데이터를 컬렉션(Collection)과 문서(Document) 단위로 관리하는 것이 특징입니다.🔹 MongoDB의 핵심 개념1. 문서(Document)MongoDB의 기본 저장 단위로, 키-값 쌍을 가지는 JSON과 유사한 구조를 가집니다.{ "_id": ObjectId("603d2f1d8b3c4a2f1c3a9e0c"), "name": "홍길동", "age": 30, "address": { "cit..
MongoDB란? 2025. 2. 27.