오늘 공부한 내용 스프링 시큐리티에서 OAuth2 로그인을 사용할 때, 프론트와 백을 나누어서, 백에서는 AccessToken을 가지고 회원가입과 로그인을 처리하는 코드를 드디어 작성했다. [이것이 취업을 위한 코딩 테스트다] 미로 탈출 다시 풀기 싱글톤 상태의 주의점을 깨달아버렸다. 💭느낀 점 & 배운 점 스프링 시큐리티 밤 새서 엄청 공부했다.진짜 나 대견하다 신동훈!!!! 혼자서 이것저것 커스텀해서 REST API 방식에서 AccessToken을 가지고 로그인과 회원가입을 진행하는 코드를 작성했다. 진짜 너무 좋았던게 WnC 대회 했을 때 부터인데 한 두달 됐나?? 그동안 진짜 할때마다 실패하고 너무 열받고 어려워서 포기하고 있었던 거를 드디어 성공했다. 물론 진짜 한숨도 안 자고 밤 새고 달려서 ..
스프링 시큐리티로 코드 작성하던 중에, 코드에 문제점이 있었다는 것을 발견했다. (정확히는 발견해주신 것) 문제가 되는 코드를 보자. @Service @RequiredArgsConstructor public class LoadUserService { private final RestTemplate restTemplate = new RestTemplate(); private SocialLoadStrategy socialLoadStrategy;//추상 클래스, 로그인을 진행하는 사이트레 따라 달라짐 public OAuth2UserDetails getOAuth2UserDetails(AccessTokenSocialTypeToken authentication) { SocialType socialType = aut..
처음 해당 코드 작성할 때, 정말 오랜 시간이 걸렸습니다 관련된 자료가 서버사이드 랜더링을 통해 회원가입을 진행하는 예시밖에 없었고, REST API를 사용하여 통신할 때 어떻게 처리해야 하는지에 대한 자료가 없어서 되게 고생 많이했었습니다. 저와 같은 사람이 많을까봐 이렇게 지금까지 했던 것들을 써보겠습니다. 동작 원리 프론트엔드는 리액트를 사용하고 (리액트가 아니어도 상관없습니다), 백엔드로는 스프링을 사용하여 로그인을 진행할 것입니다. 리액트는 하는법을 모르기에 넘어가고, 백엔드의 구성 코드만 작성하겠습니다. 우선 프론트에서 소셜 로그인 API를 사용하여 AccessToken을 받아오는 코드까지는 작성해 주어야 합니다. 프론트에서는 AccessToken을 발급받아 서버에 전달해주고, 서버에서는 해당..
오늘 공부한 내용 트랜잭션 전파에 대해서 공부하기 객체지향기술과 분산프로그래밍 특강 듣기 [Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)] 섹션 1,2 조금 듣기 [백기선님의 스프링 시큐리티] 시큐리티 아키텍처 파트 전부 듣기 💭느낀 점 & 배운 점 사실 어제 자기전에 카톡방에서 종현님이 트랜잭션 전파 관련해서 조금 흥미로운 주제를 하나 던져주셨는데, 중첩된 트랜잭션에서 예외가 발생하면 어떻게 처리하는가에 대한 내용이었다. 예전부터 중첩된 트랜잭션을 사용하면 어떻게 되는지 궁금했는데 덕분에 propagation 라는 속성에 대해서 알게되었고, 또한 스프링 트랜잭션 AOP의 예외처리 방법에 대해서도 알게되었다. 예외처리 관련된 부분은 후에 시간이 나면 포스팅 해야겠다. 특강 오늘은 ..
목표는 다음과 같았다. 회차 날짜 계획 1회차 2021/12/27 섹션 1,2,3 그러나 실제로는 진행한 결과는 다음과 같다. 섹션 2의 절반밖에 끝내지 못하였다. 무엇을 했나? 활동내용 - https://ttl-blog.tistory.com/245 [활동내용] 1회차 활동내용 다듬어 정리하지 않고, 공부하면서 작성한 내용입니다. 양해 바랍니다.. Spring Cloud Netflix Eureka Netfilx Eureka는 디스커버리 서비스의 역할을 하는데, 전화번호부 처럼 어떤 서버가 어느 위치에 있는 ttl-blog.tistory.com 요약하자면 디스커버리 서비스의 역할을 하는 Eureka 서버를 등록했다. 해당 서버에 등록되는 샘플 웹 서비스를 등록했다 샘플 서비스 서버로 라우팅 해주는 Spri..
다듬어 정리하지 않고, 공부하면서 작성한 내용입니다. 양해 바랍니다.. Spring Cloud Netflix Eureka Netfilx Eureka는 디스커버리 서비스의 역할을 하는데, 전화번호부 처럼 어떤 서버가 어느 위치에 있는지 등록하여 찾을 수 있다. 클라이언트가, 어떠한 요청을 API Gateway에 요청 정보를 전달하게 되면, 해당 요청 정보는 서비스 디스커버리에 전달이 되고, 서비스 디스커버리는 해당 요청이 필요로 하는 서비스를 알려주는 역할을 하는것이다. Eureka Discovery Service 등록하기 application.yml name : 마이크로 서비스의 고유한 ID (식별값)을 등록함 eureka 설정 register-with-eureka : EUREKA 디스커버리 서버에 해당..
목표 Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA) - 인프런 | 강의 Spring framework의 Spring Cloud 제품군을 이용하여 마이크로서비스 애플리케이션을 개발해 보는 과정입니다. Cloud Native Application으로써의 Spring Cloud를 어떻게 사용하는지, 구성을 어떻게 하는지에 대해 www.inflearn.com [Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)] 섹션 1,2,3 을 듣고 API Gateway Service와 E-commerce 애플리케이션에 대해 공부하기
예전부터 @Transaction이 중첩되서 사용되면 어떻게 될까..?? 라고 몇번 생각해 보았고, 그때 대충 살펴보고 말았었는데, 오늘 어쩌다가 이것 관련해서 조금 흥미로운 부분이 생겨서 (사실은 종현님이 언급해주신 거긴 하지만) 정리해보려 한다. 사실 이 글은 이후 다룰 (중첩된) 트랜잭션에서의 예외처리에 대해 글을 서술할 때 알고있어야 할 내용이기에 간단하게만 다루고 다음 게시물로 넘어가겠다. 여기서는 @Transactional의 propagation 속성에 대해서 알아보자. Propagation(전파) 속성 스프링의 Propagation의 속성은 다음과 같다. REQUIRED(TransactionDefinition.PROPAGATION_REQUIRED), SUPPORTS(TransactionDefi..