spring(14)
-
99클럽 29일차 TIL: OAuth
#1. 오늘의 학습 키워드OAuth에 대해인증에는 여러 방법이 있고 저번에는 JWT 에 관한 포스트 글을 작성하였다.https://second-brain.tistory.com/46제일 익숙했던 방식이고, 실제로 사용 중이던 방식이 JWT 인증 방식이었다.다른 인증 방식에 대해서도 알아보자.이번엔 OAuth 에 대해 알아봅시다.#2. 공부한 내용1. OAuth- 사용자들이 특정 서비스를 입력할 때 직접 비밀번호를 입력하지 않고, 연동되는 외부 웹 / 앱의인증 정보를 통해 해당 서비스를 이용하는 방식의 접근 위임을 위한 개방형 표준.실생활에서 인터넷을 조금만 하더라도 흔히 접할 수 있는 방식의 인증 절차다.ex) 프로그래머스 사이트카카오 로그인네이버 로그인구글 로그인등등..1) 구성 요소Resource Ow..
2024.05.02 -
99클럽 28일차 TIL: JWT
#1. 오늘의 학습 키워드Spring에서의 JWT에 대해현재 사용자 관리 백엔드 측 개발을 맡고 있다.사용자 관리라 함은 해당 서비스를 사용할 수 있는 유저들의 인증, 권한 정보들에 대한 관리이다.따라서 사용자 별 ID, PW 관리 및 특정 메뉴에 대한 권한 관리 등에 대한 로직을 개발 중에 있다.그 중 비밀번호 재설정(찾기) 기능을 개발하다가 인증에 대해 공부하고 싶어졌다.해당 기능은 이메일로 인증코드를 전송하여, 사용자가 인증코드를 입력하여 일치하는 확인하는 로직 등으로 이뤄져 있는데, 이 때 로그인 후 클라이언트 측에서 획득한 토큰 정보 없이 이루어져야 한다.로그인 절차 없이 수행 되어야하는 기능이기 때문.그래서 토큰과 인증 절차에 대해 알아보고 싶어졌다.#2. 공부한 내용1. JWT- Json W..
2024.05.01 -
99클럽 23일차 TIL: Thread (Java, Spring)
#1. 오늘의 학습 키워드자바 스프링에서의 쓰레드에 대해JS → 자바로 넘어오면서, 언어에 차이는 멀티쓰레드 유무라고 알고 있었다.JS싱글 쓰레드자바멀티 쓰레드이에 대해서 디테일하게 알아보자#2. 공부한 내용1. Process- 운영체제(os)에서 할당하는 작업의 단위- 실행 중인 프로그램프로세스는 디스크 → 메모리 → CPU 의 할당을 받는 작업의 단위컴퓨터에서 실행 중인 프로그램으로 봐도 무방하다프로세스 끼리는 별도의 메모리 영역을 갖는다.2. Thread- 프로세스의 실행 최소 단위한 프로세스 내의 여러 쓰레드가 작업을 나누어서 실행을 한다.같은 프로세스 내 쓰레드 끼리는 자원 공유가 가능하다.공유되는 자원은 코드, 데이터, 파일 등이다.구조쓰레드 ID쓰레드의 식별자프로세스도 PID 가 있듯이 쓰레..
2024.04.26 -
99클럽 21일차 TIL: Validation Group
#1. 오늘의 학습 키워드자바 스프링 부트에서 Validation을 특정 Group에 대해서만 걸어주고 싶을 때자바 스프링 부트에서 개발을 진행할 때, 만약 같은 DTO로 여러 API 를 대응했을 때, validation 의 규칙을 다르게 해야하면 어떻게 해야될까전에 Loki 서버로 에러 로그를 전송해주는 LokiUtil 컴포넌트를 개발하였다.해당 메서드로 프론트의 로그도 같이 전송해주려 API 를 개발하였는데,이때 API는 아래의 두 종류가 되고, 두 API는 기본적으로 로그 형식은 같기에, DTO는 하나를 공유하고 있다프론트의 에러 로그 전송 API프론트의 화면 방문 추적 로그 전송 API#2. 공부한 내용@NotBlank해당 어노테이션은 Dto의 속성에 공백..
2024.04.24 -
99클럽 19일차 TIL: WebSocket
#1. 오늘의 학습 키워드 자바 Spring 에서의 WebSocket 에 대해서 저번 post 에서 HTTP 2 방식으로 통신을 하여 양방향 통신을 지원하는 gRPC 에 대해서 알아보았다. 또한 채팅 등 실시간 서비스에 적합한 Spring Webflux 에 대해서 알아보았다. 이 두 가지의 특징을 살펴보면, 익숙한 또 다른 기술이 떠오른다 WebSocket #2. 공부한 내용 WebSocket 웹 소켓 웹 소캣은 서버와 클라이언트 사이의 인터액티브 통신 세션을 설정하여 언제든 양방향 통신 및 데이터 전송을 가능하케 하는 기술이다 보통 채팅, 증권 거래, sns 등 서비스에서 많이 쓰이고 있다. 채팅 서비스를 구현 할 때 기존 rest API 방식을 사용하게 되면, 클라이언트에서 매번 서버로 HTTP 통신..
2024.04.22 -
99클럽 18일차 TIL: gRPC
#1. 오늘의 학습 키워드 자바 Spring Boot에서의 gRPC 에 대해서 MSA 구조에서 service 간 통신에서 REST API 를 쓸 수도 있지만 gRPC 를 쓸 수도 있다. Spring Boot 에서 이미 gRPC 를 지원해주는 라이브러리가 존재하기 때문. 일반적으로 REST API 는 단일 request 단일 response 이기 때문에, 여러 response 반환을 원할 경우, 그만큼의 request 를 보내야 해서 네트워크 통신 비용이 많이 소모된다. 그래서 gRPC 가 성능적인 관점에서 REST API 를 사용하다 좋은 대체제로 대두된다. #2. 공부한 내용 gRPC google, Remote Procedure Calls 구글에서 개발한 원격 프로세저 호출을 위한 시스템. REST 처..
2024.04.21