웹프로그램이야기(99)
-
로그인
로그인 처리는 사용자가 로그인 시 JWT를 이용하여서 토큰을 발급받은 후 Local Storage에 서버로부터 발급받은 AccessToken과 사용자 정보를 저장하게 된다. 저장된 정보는 로그인 후 페이지 접근 시 Request Header에 AccessToken을 전송하여서 사용자 인증을 처리하게 된다. 서버 쪽 프로세스는 아래 글을 참고하여주시기 바랍니다. https://jydlove.tistory.com/63?category=1031676 로그인 프로세스 사용자 로그인에 대한 로직을 살펴보도록 하겠습니다. 아래 시퀀스 다이어그램을 통해서 전체적인 로직을 확인 해보도록 하겠습니다. JwtFilter 로그인시 발급된 토큰 및 쿠키 정보가 없기 때문에 jydlove.tistory.com 변경된 서버 프로..
2021.12.11 -
Vue3 프로젝트 설정
프로젝트를 시작하기에 앞서서 vue cli를 이용하여 프로젝트 설정을 하는 방법을 알아 보도로 하겠습니다. 프로젝트 설정 전에 node.js 는 설치가 되어 있어야 합니다. IDE 툴은 Viusal Studio를 사용합니다. 프로젝트 설정 1. cmd 실행 후 아래와 같이 명령어를 입력합니다. 2. 아래 그림과 같이 Manually select features를 선택합니다. 3. 아래 그림과 같이 (*) 표시된 메뉴를 선택합니다. 4. 아래와 같이 3.x 를 선택합니다. 5. 아래 그림과 같이 마지막에 Use history mode for router? 이 부분에 n을 입력합니다. 6. 아래 그림과 같이 In package.jso n 을 선택합니다. 7. 아래 그림과 같이 마지막 질문에 n 을 입력합니다..
2021.12.07 -
Vue3 프로젝트 개요
앞선 Spring Boot Jwt with JPA and Redis 예제에서는 서버만 구현하였고 Postman을 이용하여 테스트를 진행하였다. 이번에는 Vue3로 화면 구현 후 테스트를 진행 하였 습니다. 이번 Vue3 프로젝트에서 다룰 내용은 아래와 같습니다. 주요 화면 로그인, 사용자 등록, 프로필 사용자 권한에 따른 페이지 이동 처리 Local Storage를 이용한 토큰 관리 Axios Interceptor 를 이용한 AccessToken 갱신 처리 주요 화면 403의 경우는 사용자 별로 권한을 가지고 있는데 관리자 권한이 없는 일반 사용자가 관리자 화면에 접근하는 경우 위의 페이지로 이동하게 된다. Vue 3 관련 사이트 https://www.youtube.com/watch?v=YrxBCBibV..
2021.12.06 -
Swagger2 프로젝트 설정
프로젝트를 하다 보면 가장 귀찮은 일은 문서 작업일 것이다. API 개발 완료 후 FrontEnd 개발자에게 API 설명을 위해서는 IN/OUT 값을 정의한 명세서를 작성해야 할 것이다. 그리고 API가 변경될 때마다 현행화 해야 하는 일도 만만치 않은 작업일 것이다. 만약에 API 명세서를 현행화 하지 않는 다면 프로그램은 에러가 발생할 것이다. Swagger를 사용하는 가장 큰 이유는 위에서 설명하였지만 별도의 문서 작업 없이 Documentation 작업이 가능하며 Postman을 대체해서 테스트도 가능하다는 점입니다. 어떤 분들은 단점으로 실제 코드보다는 주석의 양이 많아져서 가독성이 떨어진다 하지만 나중에 프로그램을 인수받는 입장에서는 코드도 중요하지만 코드에 대한 주석이 더 중요할 수 도 있을..
2021.08.29 -
RateLimiter 예제
소개 아래 글은 https://resilience4j.readme.io/docs/ratelimiter 사이트의 Introduction 원문입니다. Rate limiting is an imperative technique to prepare your API for scale and establish high availability and reliability of your service. But also, this technique comes with a whole bunch of different options of how to handle a detected limits surplus, or what type of requests you want to limit. You can simply declin..
2021.08.22 -
Bulkhead 예제
소개 Resilience4j는 동시 수행의 제한을 두기 위해 두 가지 bulkhead pattern을 제공합니다. SemaphoreBulkhead FixedThreadPoolBulkhead SemaphoreBulkhead 동시 요청 수를 제한을 두고 요청 수에 도달한 이후 요청에 대해서는 BulkheadFullException이 발생한다. FixedThreadPoolBulkhead 시스템 자원과 별도로 thread pool을 설정하고 설정된 thread pool은 서비스를 제공하기 위한 용도로만 사용한다. 그리고 thread pool과 별도로 waiting queue를 설정할 수 있다. 만약 thread pool과 waiting queue 가 full 인 경우 BulkheadFullException이 발..
2021.08.15