본문 바로가기

분류 전체보기250

[트러블슈팅] OpenFeign과 Spring Cloud Gateway간의 순환 참조 오류 🐞 버그 설명OpenFeign과 Spring Cloud Gateway를 함께 사용했을 때 Bean 순환 참조가 오류가 발생했습니다. 로그를 보니 FeignClient와 Gateway Router 부분에서 해당 문제가 발생한 것 같습니다.(로그 참고)처음엔 그냥 의존성 주입 코드에 문제가 있는 줄 알았으나 코드상의 문제는 없었습니다. Gateway가 아닌 일반 서비스에서는 OpenFeign 사용에 문제가 없었으며 관련 설정에도 문제가 없었습니다.또한, OpenFeign과 설정에서 같은 user-service 키워드를 사용하기에 해당 부분을 수정하였음에도 해결되지 않았습니다.  AuthFeignClient 인터페이스@FeignClient(name = "auth-service")@Qualifier("Auth.. 2024. 6. 25.
[트러블슈팅] MySQL RDBMS의 Batch Insert 🐞 버그 설명MySQL은 기본적으로 Sequence를 지원하지 않는다. 따라서, INSERT를 배치 처리하여 성능 최적화를 하려 했었지만, 작동되지 않았다.(SELECT를 통해 한 번에 Batch로 읽어오는 것은 가능하다.)관련 출력2024-04-08T13:17:21.977+09:00 DEBUG 16587 --- [nio-8080-exec-2] org.hibernate.SQL : insert into dm_user (created_at, deleted, dm_id, updated_at, user_id, dm_user_id) values (?, ?, ?, ?, ?, default)2024-04-08T13:.. 2024. 6. 25.
[FitTrip] 캡스톤 프로젝트 진행 2024.03 ~ 2024.06 회고 대략 3 ~ 4개월동안 진행했던 캡스톤 프로젝트의 마무리 단계에 들어왔다. 시작하기에 앞서..3 ~ 4개월간 캡스톤 프로젝트, 정보처리기사 필기/실기, 학교 수업 등등 바쁜 시간을 보낸 것 같다.(물론, 이것이 블로그 포스팅 작업이 뜸해진 이유이지만, 어떻게서든 할라면 할 수 있었기에 변명이 될 수도 있다.)  FitTrip 프로젝트란?FitTrip은 많은 사용자들이 사용하는 디스코드에서 운동이라는 컨셉을 적용한 온라인 커뮤니티라고 생각하면 된다.백엔드 서비스는 총 6가지로 구성되어 있다.커뮤니티 서비스알림 서비스채팅 서비스상태관리 서비스유저 서비스시그널링 서비스이 밖의 MSA를 위한 연동 서비스는 2가지가 존재한다.서비스 디스커버리(Spring Cloud Eureka)API GATEWAY(Spring .. 2024. 6. 23.
[프로그래머스] 숫자 변환하기 - Java import java.util.*;class Solution { public int solution(int x, int y, int n) { int answer = 0; Queue q = new LinkedList(); q.add(new int[]{x, 0}); boolean[] visited = new boolean[y - x + 1]; while(!q.isEmpty()){ int[] curr = q.poll(); if(curr[0] == y){ return curr[1]; } .. 2024. 6. 22.
[프로그래머스] 도넛과 막대 그래프 - Java import java.util.*;class Solution { List> graph; int maxVertex; boolean[] visited; boolean[] check; int[] inDegree; int startVertex; public void init(int[][] edges){ maxVertex = 0; check = new boolean[1000000]; for(int[] edge : edges){ check[edge[0]] = true; check[edge[1]] = true; maxVertex = Math... 2024. 6. 8.
[프로그래머스] 혼자서 하는 틱택토 - Java class Solution { public int solution(String[] board) { String[][] board_Arr = new String[3][3]; for(int i = 0; i = 2){ return 0; } boolean check = false; boolean oWin = false; boolean xWin = false; for(int i = 0; i x){ return 0; } } } if(board.. 2024. 6. 7.