전체 글
-
Cursor + SpringBoot 개발설정4 + JWTTool/VSCode&Cursor 2024. 12. 13. 15:38
SpringSecurity를 설정하면서 인증은 JWT을 사용하며 accessToken을 발급 받고 refreshToken으로 재발급 받는 부분을 작업해보자. 개발 환경 설정의존성 추가JWTSpring SecurityJPAH2// JWTimplementation 'io.jsonwebtoken:jjwt-api:0.11.5'runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.5'runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.11.5'// Securityimplementation 'org.springframework.boot:spring-boot-starter-security'// JPAimplementation 'org.springframework.b..
-
JWT란?Tool/VSCode&Cursor 2024. 12. 13. 15:12
오랜만에 SpringBoot에서 JWT를 다시 설정하면서 용어 등 원리등을 정리해두자. 대부분이 GPT내용이긴 하지만 정리하면서 머리속에 넣자! JWT란?JWT는 JSON Web Token의 약자로, JSON 형식의 데이터를 사용하여 양측 간에 정보를 안전하게 전달하기 위한 토큰보통 인증 및 권한 부여와 같은 작업에 많이 사용 JWT구성JWT는 .으로 구분된 3개의 파트로 구성된다.header.payload.signatureex) eyJhbGUzI1NiJ9.eyJzdWIiOiJfQ.nYAjp4ZHK8 1. header (헤더)JWT의 타입과 서명 알고리즘 정보를 포함예시 (Base64로 인코딩되기 전){ "alg": "HS256", // HMAC SHA256 서명 알고리즘 "typ": "JWT" ..
-
Cursor + SpringBoot 개발설정3 + openapiTool/VSCode&Cursor 2024. 12. 13. 11:46
Springdoc이 Springfox보다 공식 문서도 잘되어 있고 꾸준히 업데이트 된다고 하여 이번에는 Springdoc로 설정하자. 개발환경 설정의존성 추가build.gradle (lombok 및 springdoc-openapi 추가)...dependencies { ... implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.3.0' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok'}... openAPI Config 파일 추가OpenApiConfigpackage com.test.spring_boot_demo.conf..
-
Cursor + SpringBoot 개발설정2Tool/VSCode&Cursor 2024. 12. 11. 13:48
지난 포스팅에 이어서 이번에는 VsCode에서 SpringBoot 프로젝트를 생성해서 실행 해 보도록 하겠다. Springboot + Gradle 프로젝트 생성Window : Ctrl + Shift + PMac : Command(⌘) + Shift(⇧) + PSpring Initializr: Create a Gradle Project...Gradle 프로젝트 생성 선택 Spring Initializr: Specify Spring boot versionSpring boot 버전 선택 Spring Initializr: Specify project language프로젝트 언어 선택 Spring Initializr: Input Group IdGroup ID는 프로젝트의 고유 식별자를 정의하기 위해 사용하며 주로..
-
Cursor + SpringBoot 개발설정1Tool/VSCode&Cursor 2024. 12. 11. 12:05
2021년 초에 설정하는 방식을 포스팅했는데 간마에 설정하려고 보다보니 많이 바뀐것 같아서 변경된 부분만 따로 정리해두자!현재는 Cursor에서 설정을 진행중이고 간단한 설정은 2021년 포스팅을 참조하면 될듯하다. 1. 테스트 프로젝트 생성프로젝트 생성Window : Ctrl + Shift + PMac : Command(⌘) + Shift(⇧) + P No build tools 프로젝트 폴더를 생성할 폴더 선택 프로젝트 폴더 이름 선택 새로생성된 프로젝트가 Cursor에서 열린다. 2. 프로젝트에 JDK 설정하기설치되어 있는 모든 JDK 확인하기$ /usr/libexec/java_home -VMatching Java Virtual Machines (2): 17.0.10 (arm64) "Amazon..
-
docker-compose 개발 환경 만들기Server/Container 기술 2024. 12. 9. 17:37
nginx + next.js(next-ts-app) + mariaDB + springboot(backend) 구성으로 설정해 보려고 한다. 1. 종류 및 설치방법1.1. Docker Desktop란?Docker Desktop은 Docker 컨테이너 기반의 애플리케이션을 로컬 개발 환경에서 쉽게 실행하고 관리할 수 있도록 제공되는 GUI 기반의 도구이다. Docker의 주요 기능을 그래픽 사용자 인터페이스(GUI)와 명령줄 인터페이스(CLI)로 모두 사용할 수 있어, 초보자부터 숙련된 개발자까지 편리하게 Docker를 사용할 수 있다.비상업적 용도는 무료, 상업적 용도로는 유료로 전환되어 필자는 현재 Rancher 및 Colima를 사용하고 있다. 1.2. Rancher란?Rancher는 여러 Kubern..
-
docker-compose란?Server/Container 기술 2024. 12. 9. 17:08
오랜만에 docker-compose로 환경을 구성하면서 정리해 두려고 한다. 주요기능1. 멀티 컨테이너 애플리케이션 관리여러 개의 Docker 컨테이너를 하나의 구성 파일로 정의하고 실행 가능하다.웹 애플리케이션, 데이터베이스, 캐시서버 등 단일 명령으로 실행 가능하다.2. 의존성 관리컨테이너 간의 의존성을 정의하고 자동으로 순서를 조정할 수 있다.예: 데이터베이스 컨테이너가 준비될 때까지 웹 컨테이너 대기한다.3. 간편한 실행단일 명령으로 모든 컨테이너를 시작, 중지, 재시작 가능하다.4. 환경 파일 지원.env 파일을 사용하여 환경 변수를 정의하고 재사용이 가능하다.5. 네트워크와 볼륨 관리네트워크 : 컨테이너 간 통신을 위한 네트워크를 자동 생성 및 관리 할 수 있다.볼륨 : 컨테이너의 데이터를 호..