정상인 상황 SSH로 서버에 직접 접속해서 Spring Boot 3.3.2 버전을 jar로 빌드하는 것은 정상SSH로 서버에 직접 접속해서 배포 쉘 스크립트 실행하는 것도 정상(스프링 기동 죽이기 → 프로젝트 빌드 → 스프링 백그라운드로 기동) 문제 상황 GitHub Action을 이용해서 파이프 라인을 구성하고 배포를 진행하는데 빌드가 안되어서 무한 로딩, 서버에 접근도 못하는 현상 발생GitHub Action을 이용해서 배포 쉘 스크립트를 실행 시켰지만 빌드가 무한 로딩이 되며, 서버에 접근도 못하는 현상 발생 문제 해결 방법 스왑 메모리! 1. 스왑 파일 만들기# 1sudo dd if=/dev/zero of=/swapfile bs=1M count=2048# 2sudo dd if=/de..
환경별 설정 중요성 애플리케이션을 개발 할 때 로컬 환경, 개발(테스트) 환경, 운영 환경 마다 다른 설정이 필요하게 됩니다.예를 들어, 로컬 환경 및 개발(테스트) 환경은 로컬 DB, 개발 DB를 사용해야하지만 운영 환경에는 사용자들이 사용하고 보는 운영 DB를 사용해야하기 때문입니다. 이렇게 환경별로 설정하여 관리하면 유지보수가 좋아지고 오류를 줄일 수 있을 것입니다. " 그럼 코드를 공통적으로 사용하는데 설정 값들을 서버 실행할 때 마다 다르게 할 수 있나? 그럼 어떻게 설정하지? " 라는 대답을 아래로 쭉 작성하려고 합니다. 설정하는 방법 환경별 설정 세팅하는 방법에는 2가지가 있습니다. application.yml : 기본 설정 파일안에서 분리하여 작성하기application-{profil..
0. 들어가기 전 프리티어는 완전한 무료가 아니며, 잘못 설정하면 과금이 발생할 수 도 있습니다.최대한 과금이 나올 요소들을 체크를 안하며 어떻게 생성하는지 초보자도 따라 할 수 있게 만들게 되었습니다. 저는 독자들이 EC2 인스턴스를 생성했다고 가정하에 작성하였습니다. 그래서 독자들의 EC2의 가용영역을 꼭 알아와야 합니다.꼭 알아와야합니다!! 꼭 입니다. Tip) aws EC2 인스턴스 페이지 → 해당 EC2 인스턴스 클릭 → 네트워킹 탭 → 가용 영역 확인 1. 서울 리전에서 DB 생성 하기 오른쪽 위에 서울 리전으로 변경하고 데이터 베이스 생성을 클릭합니다. 2. 데이터 베이스 엔진 선택 저는 PostgreSQL을 사용할 것이기 때문에 PostgrSQL로 선택하였습니다.여러 DB 인스..
0. 들어가기 전 aws를 한 번도 사용하지 않은 사람에게 편안한 가이드를 만들기 위해 작성하였습니다 ^ _ ^프리티어는 완전히 무료가 아닌 과금이 청구 될 수 있는데요.그런 것을 안나오도록 최소한의 설정으로 보여드릴 것이며 배포 연습을 하시면 됩니다! 인스턴스 생성보안그룹 설정순으로 설명하겠습니다. 1. 리전 설정 및 인스턴스 시작 처음에 접속하면 미국 동부(버지니아 북부)로 잡혀 있습니다.아시아 태평양(서울)로 지역을 변경해 주시면 됩니다. 인스턴스 시작해보겠습니다! 2. 애플리케이션 및 OS 이미지 서버는 우분투, 로키 등 리눅스 계열로 두는게 무난하므로 우분투로 생성하겠습니다.Image는 프리티어 사용가능 한 것에 제일 최신 버전으로 하였습니다. 3. 인스턴스 유형 딱 하나밖에 없는 ..
개발 환경 Spring Boot 3.3.4JAVA 17Swagger OpenAPI 3라이브러리 springdoc-openapi-starter-webmvc-ui:2.6.0 의존성 추가 공식문서에서 버전 확인하기https://springdoc.org/ OpenAPI 3 Library for spring-bootLibrary for OpenAPI 3 with spring boot projects. Is based on swagger-ui, to display the OpenAPI description.Generates automatically the OpenAPI file.springdoc.org Gradledependencies { // swagger implementation 'org.springd..
들어가기 전 설명 현재 구현한 코드들은 GitHub 에 있습니다. 글을 보다가 헷갈리시면 소스코드로 참고해주시기 바랍니다. 개발 환경 JAVA17Spring Boot 3.1.8Spring Security 6.1.6Spring JPA 3.1.8Mac OSJAVA JWT 4.4.0Redis 7.4.0IntelliJ 2024.01.04v 작업 순서 JWT accessToken 인증 필터 구현JWT 인증필터 검증refreshToken도 추가로 발급하며 Redis에 저장refreshToken로 accessToken 재발급 (API 개발)로그아웃추가적 구상 1. JWT accessToken AuthenticationFilter 구현 추상 클래스인 OncePerRequestFilter는 하나의 ..
들어가기 전 설명 현재 구현한 코드들은 GitHub 에 있습니다. 글을 보다가 헷갈리시면 소스코드로 참고해 주시기 바랍니다. 개발 환경 JAVA17Spring Boot 3.1.8Spring Security 6.1.6Spring JPA 3.1.8Mac OSJAVA JWT 4.4.0IntelliJ 2024.01.04v 작업 순서 로그인 인증 필터 (AuthenticationFilter) 구현실제 인증 로직 (AuthenticationProvider) 구현 UserDetailsService DB 로직 구현SecurityConfig 설정JWT 모듈인 JwtHelper 제작인증 성공 시 실행하는 핸들러 (AuthenticationSuccessHandler) 구현인증 실패 시 실행하는 핸들러 (Aut..
들어가기 전 설명 현재 구현한 코드들은 GitHub 에 있습니다. 글을 보다가 헷갈리시면 소스코드로 참고해주시기 바랍니다. 개발 환경 JAVA17Spring Boot 3.1.8Spring Security 6.1.6Spring JPA 3.1.8Mac OSJAVA JWT 4.4.0IntelliJ 2024.01.04v 작업 순서와 프로젝트 구조 작업 순서Security Config 설정DB 연결Entity와 Model회원가입 비즈니스 로직예외처리결과 프로젝트 구조security│├── api│ └── UserController│├── config│ ├── SecurityConfig│ └── WebConfig│├── domain│ ├── User│ └── UserRole│├── ..
이해 목적 실무에서 사용하다가 요구사항으로 인한 변경, 갑자기 터지는 이슈를 내부 구조를 알아야 대응하기 쉬워집니다.그래서 옵셔널 한 이 시큐리티를 깊게를 할 필요는 없지만 내부 구조 정도는 알아야 한다고 생각합니다.이 글을 외우지 말고 간단한 이해만 시켜보도록 하겠습니다. 아키텍처 크게 본 구조 공식문서에 있는 그대로 설명할 것입니다. https://docs.spring.io/spring-security/reference/servlet/architecture.html#servlet-exceptiontranslationfilter Architecture :: Spring SecurityThe Security Filters are inserted into the FilterChainProxy w..
프록시 패턴이란? 대상 원본 객체를 대리(대신) 처리하게 함으로써 로직의 흐름을 제어하는 구조패턴입니다.이 프록시를 통해서 크게 2가지인 접근 제어 (권한에 따른 접근 차단, 캐싱, 지연 로딩) , 부가 기능 추가 일을 할 수 있습니다. 프록시 패턴 vs 데코레이션 패턴 두 패턴 모두 둘 다 프록시를 사용한다는 공통점이 있지만 이 둘의 의도(intent)에 따라서 구분됩니다.이번 배울 프록시 패턴은 접근 제어가 목적이며 데코레이터 새로운 기능, 부가 기능 추가가 목적입니다. 프록시 패턴의 구성요소 프록시 패턴은 다음과 같은 구성요소로 이루어져 있습니다. 실제 주체 (Real Subject) : 원본 대상 객체주체 (Subject) : Proxy와 RealSubject를 하나로 묶는 인터페이스프..
- Total
- Today
- Yesterday
- 개발환경
- 개발
- Cors
- 코딩테스트
- 네트워크
- aws
- Spring Security
- Front
- DBeaver
- java
- 데이터 베이스
- 오라클
- git
- 프로세스
- 프론트
- 템플릿
- Fetch
- 비동기
- spring
- Mac
- 개발자
- JavaScript
- 자바스크립트
- 디자인패턴
- AJAX
- 개발블로그
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |