-
[Spring] Spring Security + JWT 로그인 구현하기 - 1Spring 2023. 6. 14. 20:19
📝 지난 포스팅 ➡︎ JWT(Json Web Token) 란? [Spring] JWT(Json Web Token)란? | 구조, 암호화 방법, 장단점 JWT (Json Web Token) : JWT(Json Web Token)란, JSON 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 Web 토큰이다. JWT는 필요한 정보를 자체적으로 지니는 Self-Contained 방식으로 정보를 안정성 있 suddiyo.tistory.com 🔎 Session vs Token 사용자 인증 방식은 일반적으로 세션 기반 방식과 토큰 기반 방식(JWT)으로 나뉜다. 두 방식은 어느 것이 더 뛰어나다고 하긴 애매하고, 각 방식의 장단점과 요구사항을 분석하여 상황에 맞게 결정하는 것이 좋다. (두 방식의 차..
-
[Spring] JWT(Json Web Token)란? | 구조, 암호화 방법, 장단점Spring 2023. 6. 14. 18:04
JWT (Json Web Token) : JWT(Json Web Token)란, JSON 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 Web 토큰이다. JWT는 필요한 정보를 자체적으로 지니는 Self-Contained 방식으로 정보를 안정성 있게 전달한다. * RFC 7519 🔎 JWT의 구조 JWT는 Header, Payload, Signature 세 가지로 구성된다. JSON으로 포맷된 각 부분은 Base64로 인코딩되어 표현되며, 각각의 구성 요소는 . 로 구분한다. * Base64는 암호화 된 문자열을 반환하는 게 X 1️⃣ Header(헤더) 토큰의 헤더는 alg와 typ로 구성된다. { "alg": "HS256", "typ": "JWT" } alg: 해싱 알고리즘. 서명(..
-
[C++] 백준 13458번 | 시험 감독Problem Solving/Baekjoon 2023. 6. 13. 21:17
시험 감독 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net ✍🏻 풀이 간단한 수학 문제 🤩 이 문제에서 주의해야 할 포인트는 두 가지가 있다. 첫 번째는 총감독관만으로 충분한 경우에 부감독관을 계산하지 않는 것이다. if (A[i] > N; for (int i = 0; i > tmp; A.push_back(tmp); } cin >> B >> C; ll result = N; // 각 시험장마다 배치된 총감독관 f..
-
[C++] 백준 3190번 | 뱀Problem Solving/Baekjoon 2023. 6. 13. 20:41
뱀 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net ✍🏻 풀이 복잡하게 생각할수록 더 복잡한 문제 🤯 처음에 뱀의 몸통 칸 하나 하나를 다 옮겨야한다고 생각해서 풀이가 많이 어려워졌었는데 문제를 다시 읽어보며 차근차근 따라가보니 아주아주 간단한 구현 문제였다 풀이를 설명할 것도 없이 문제에 너무 친절하게 다 나와있었다.. deque 자료구조를 이용해서 새롭게 전진하는 머리는 push_front() 메서드를 사용하였고, 전진함으로써 삭제되는 꼬리는 pop_back() 메서드를 사용해주었다. 재밌었음 ! ✅ Accept..
-
[C++] 백준 12100 | 2048(Easy)Problem Solving/Baekjoon 2023. 6. 11. 17:13
2048(Easy) 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net ✍🏻 풀이 2048 게임 👾 5번 안에 만들 수 있는 최대 숫자를 구해내는 문제였다. 아는 게임이라 문제 꼼꼼히 안 읽고 덤볐다가 6%에서 끙끙댔다... 🥹 정신 차리고 반례를 찾아 다녔는데 알고보니 어처구니 없는 실수를 했었다. 나는 DFS를 사용하여 탐색을 진행했다! DFS를 돌리다가 깊이가 5가 되면 최댓값을 구하고 전 단계로 돌아가게 하였다. ⭐️ 블록을 이동시킬 때마다 보드의 모양이 바뀌기 때문에, 전 단..
-
[Spring] 테스트 코드에서의 @Transactional 사용Spring 2023. 5. 30. 22:48
@Transactional 사이드 프로젝트를 진행하며 테스트 코드를 짜던 중 테스트 코드에서 @Transactional를 사용하는 과정에서 문제가 생겨 글을 작성하게 되었다. ❗️ 문제 ScheduleServiceTest.java (일부) @SpringBootTest @Transactional(readOnly = true) class ScheduleServiceTest { @Autowired DatabaseCleanUp databaseCleanUp; @Autowired ScheduleService scheduleService; @BeforeEach @Transactional void beforeEach() { SignUpDto signUpDto1 = SignUpDto.builder() .username(..
-
[Spring] 네이버 도서 검색 API 활용하기Spring 2023. 4. 22. 04:48
네이버 도서 검색 API 활용하기 본 포스팅에서는 네이버 도서 검색 API를 활용하여 client 측에 도서 데이터를 전달하는 서비스를 구현할 것이다. client 측은 thymeleaf template, server 측은 springboot를 사용하였다. 네이버 개발자센터에 애플리케이션 등록 요청 URL 생성 HttpURLConnection으로 데이터 요청하기 응답 데이터 읽어오기 JSON 파싱하기 DTO 구현 Controller 구현 template 구현 javascript 구현 1️⃣ 네이버 개발자센터에 애플리케이션 등록 NAVER Developers 네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버..
-
[Java] 기본형과 참조형의 차이점Java 2023. 4. 14. 04:00
🔎 기본형 기본형 변수 안에는 직접 값들을 넣을 수 있다. Stack 영역에 저장 🔎 참조형 참조형 변수 안에는 값들을 저장하고 있는 객체를 가리치는 주소를 가지고 있다. Heap 영역에 저장 📋 참고 자료 [JAVA]기본형과 참조형 데이터 타입의 모든 기본적으로 JAVA는 기본형 타입과 참조형 타입 2종류가 존재합니다. 기본형 타입 그리고, 기본형 타입을 다시 4타입으로 나눌 수 있습니다. 정수형 타입 : byte(1byte), short(2byte), int(4byte), long(8byte) 실 beingdesigner.tistory.com