FCM 푸시 알림, SQS + Lambda로 리팩토링
·
Spring
기존 FCM 서비스 로직 흐름알림 생성 요청: 스케줄러나 특정 이벤트에 의해 FCM 푸시 알림을 전송할 필요가 있을 때, FcmService에서 푸시 알림 전송 로직이 호출됩니다.FCM 메시지 생성: FcmService에서 FCM 푸시 알림을 전송하기 위해 메시지를 생성합니다. 이 메시지는 FirebaseMessaging 객체를 통해 전송됩니다.멀티캐스트 전송: FcmService는 여러 개의 FCM 토큰을 한 번에 전송할 수 있는 multiSendMessage 메서드를 사용하여 배치로 푸시 알림을 전송합니다. 이 과정에서 Firebase Admin SDK가 사용되며, FCM 서버와 직접 통신하여 푸시 알림을 전송합니다.결과 처리: 전송된 푸시 알림에 대한 결과를 받아 성공 여부를 확인합니다. 기존 코드..
정적 팩토리 메서드 패턴의 중요성
·
Spring
정적 팩토리 메서드 패턴은 개발자가 구성한 Static Method를 통해 간접적으로 생성자를 호출하는 객체를 생성하는 디자인 패턴이다. 우리는 지금까지 객체를 인스턴스화 할때 직접적으로 생성자(Constructor)를 호출하여 생성하였는데, 별도의 객체 생성의 역할을 하는 클래스 메서드를 통해 간접적으로 객체 생성을 유도하는 것이다. 이 패턴은 다양한 이점이 있어 많이 사용되는데, 그 특징과 장점은 다음과 같다. 특징 정적 메서드 사용: 객체 생성을 위해 정적 메서드를 사용합니다. 이 메서드는 일반적으로 new 키워드를 사용하여 객체를 생성하는 생성자와 달리 클래스 자체의 메서드로 호출됩니다.명명 가능: 메서드 이름을 통해 객체 생성의 의도를 명확하게 할 수 있습니다. 예를 들어, from 또는 of ..
Error creating bean with name 'jpaAuditingHandler' 에러 해결
·
Spring
스프링부트 테스트관련 코드에서 테스트코드를 실행했더니 Error creating bean with name 'jpaAuditingHandler' 이와 같은 오류가 발생했다. Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jpaAuditingHandler': Cannot resolve reference to bean 'jpaMappingContext' while setting constructor argument at app//org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReferenc..
멀티모듈 서비스 레이어 분리
·
Spring
멀티모듈의 패키지 구성요소에 따라서 서비스 레이어를 분리해서 서비스 계층의 책임을 재분배하는 리팩토링을 거칠려고한다. 그 전에는 필요한 의존성만 가져와서 써야하는데 계층의 책임이 맞지 않게 가져다 사용해서 여러 문제가 발생했다.. 우선 CustomOAuth2UserService 부터 변경해보자. 기존 코드는 package sellyourunhappiness.core.user.application; import static sellyourunhappiness.core.user.domain.enums.SocialType.*; import java.util.Collections; import java.util.Map; import org.springframework.security.core.authority...
ApplicationTests > contextLoads() FAILED 에러 해결
·
Spring
SellyourunhappinessApiApplicationTests > contextLoads() FAILED java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:180 Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException at ConstructorResolver.java:802 Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException at ConstructorResolver.java:802 Caused by: org.springframework.beans..
[TIL]23.11.12(일)
·
TIL
벌써 크래프톤 정글을 수료한 지 3개월이 지났다.. 시간이 너무 빠르다.. 9월부터 약 2개월정도 코딩 테스트 준비하고 자기소개서 쓰고 프로젝트하느라 블로그 글 쓸 시간이 없었네요.. 아직 취업준비ing이긴하지만 좀 더 부족한 포트폴리오, 경험 등을 채우기 위해 프로젝트를 진행하고 있고 IT동아리도 지원해보고 있다. 나태하게 아무것도 안하기엔 시간이 너무 빠르게 지나가서 뭐라도 하면서 보람 있게 지내봐야지.. 원래 목표는 이번 하반기 취업이 목표였지만 그렇게 쉽지만은 않기에 빠르면 좋지만 내년 상반기에는 취업한다는 생각으로 열심히 살아야지..
[프로그래머스] N으로 표현 [Python]
·
알고리즘/프로그래머스
문제 코드 def solution(N, number): if N == number: return 1 answer = -1 arr = [set() for _ in range(8)] for i in range(len(arr)): arr[i].add(int(str(N)*(i+1))) for i in range(1,8): for j in range(i): for op1 in arr[j]: for op2 in arr[i-j-1]: arr[i].add(op1+op2) arr[i].add(op1-op2) arr[i].add(op1*op2) if op2 != 0: arr[i].add(op1//op2) if number in arr[i]: answer = i+1 break return answer 풀이방법 이 문제는 동..
[TIL]23.09.08(금) - 구름톤 챌린지 마무리
·
TIL
8월 14일부터 시작된 구름톤 1일 1 알고리즘 챌린지가 오늘로 마무리를 했다. 하루에 한 문제라서 보기에는 쉬워 보이지만 꾸준히 해야 하는 점에서 은근 힘이 든다는 점.. 그리고 뒤로 갈수록 난이도가 조금씩 상승해서 푸는데 시간이 쫌 걸렸네요. 그래도 블록을 쌓아가면서 성취감도 느끼고 알고리즘 실력도 성장하는 것 같아서 재미가 있었어요. 블로그에 구름톤 챌린지 관련 문제를 작성하면 추후에 네이버페이 포인트도 줘서 일석이조입니다. 물론 나는 1주 차 때 몰라서 작성을 못썼지만.. ㅎㅎ 크래프톤 정글을 수료하고 벌써 3주차가 넘어가네요 시간이 참 빠르지만 9월에 공채도 많고 협력사 관련 채용프로세스도 있어서 할 게 너무 많아서 9월도 금방 지나갈 것 같다. 그래도 빨리 취업하기 위해 이것저것 도움이 되는 ..
yunchan^.^
'분류 전체보기' 카테고리의 글 목록