본문 바로가기

전체 글22

[Spring] Spring Cloud Load Balancer 설정 오류 해결 과정 사용 환경 intellij, Spring boot 3.2.1, java 17, gradle 8.5 문제 상황 강의를 보면서 로드밸런서 설정을 하는데, 코드 상에서 잘못된게 없었지만, 로드밸런싱을 통한 API 호출이 되지 않는 문제가 있었습니다. 처음에는 주소 매핑 문제인줄 알고, 오타를 열심히 찾아봤는데, 문제가 될 것은 없었습니다. 그렇다면 주소가 올바르게 맵핑되었다고 생각했는데도, Whitelabel Error 는 왜 발생한 것일까요? 문제 해결 과정 우선, 로드밸런싱을 통해 user-service 프로젝트의 API를 호출해야 되는데, user-service, gateway 프로젝트 어느 하나에서도 로그가 찍히지 않았습니다. 해당 문제가 발생한 원인은 로드밸런싱이 제대로 동작하고 있지 않아서 발생하는.. 2024. 1. 19.
[JAVA] BOJ2293 동전 1 알고리즘 분류 다이나믹 프로그래밍 문제 풀이 방법 동전들의 가치를 저장하는 num 배열을 입력받습니다. dp[i][j] 배열은 인덱스 i번째 동전까지 사용했을 때, 가치 j를 만들 수 있는 경우의 수라고 정의했습니다. 동전들을 num 배열에 저정합니다. 첫 번째 동전만 사용할 경우, j(가치) % num[i] == 0일 때, 해당 동전으로 가치를 만들 수 있는 것이므로 arr[i][j]의 값을 1로 만들어주었습니다. e.g. 가치가 14이고, 첫 번째 동전이 7일 경우 dp[0][7]과 dp[i][14]의 값만 1이고, 나머지 값은 0의 값을 가짐 동전을 두 개 이상 사용하는 경우는 dp배열은 다음과 같습니다. dp[i][j] = dp[i - 1][j] + dp[i][j - arr[i]] 이 때, j -.. 2024. 1. 15.
[Spring] Slf4j 사용 시, cannot find symbol variable log 에러 사용 환경 intellij, Spring boot 3.2.1, java 17, gradle 8.5 발생 오류 로그 사용을 위해 Slf4j어노테이션을 사용했는데, 다음과 같은 오류가 발생했습니다. build.gradle에 depencency 설정도 잘 되어 있었고, intellij에서 Lombok 플러그인도 잘 설치된 상태입니다. depencency에 다음 코드 두 줄을 추가하니 해결되었습니다. annotationProcessor 'org.projectlombok:lombok:1.18.26' testImplementation 'org.springframework.boot:spring-boot-starter-test' 이 때 lombok 버전은 자신이 사용하는 버전과 같은 버전으로 해야 정상적으로 빌드됩니다.. 2024. 1. 4.
[Spring] 검색 조건이 까다로울 때, 어떻게 해야 좋을까? 몇 달 전 진행한 프로젝트에서 사용자가 설정한 조건에 맞는 게시글을 가지고 와야되는 기능이 있었습니다. 예전에 구현했던 기능이지만, 생각난 김에 한 번 정리해보겠습니다. 본격적으로 들어가기에 앞서,,,이 글은 그냥 기록용입니다 !!! 정답이 아닙니다 ,,!! 단순히 보이는 기능이지만, 검색 조건은 다음과 같았습니다. [키워드 검색] 사용자가 입력한 키워드에 맞는 게시글이 나올 것 (키워드 입력이 없을 경우, 모든 게시글이 나올 것)[좋아요 여부] 자신이 좋아요를 누른 게시글만 나올 것[작성 여부] 자신이 작성한 게시글만 나올 것[페이지네이션] 사용자가 원하는 페이지에 대한 게시글이 나올 것[정렬] 작성 날짜, 좋아요, 조회수에 따른 게시글을 정렬할 것 저는 params의 인자로 keyword, like,.. 2023. 12. 31.
[JAVA] BOJ1753 최단경로 알고리즘 분류 그래프 이론 데이크스트라 최단 경로 문제 풀이 방법 Node 클래스를 만든 후, 다익스트라 알고리즘을 사용했다. 우선순위 큐에 (끝 점, 가중치)의 값을 가진 노드를 추가하며, 최단 경로로 갔을 때의 값을 배열 d에 저장했다. 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.PriorityQueue; import java.util.StringTokenizer; /* 최단경로 */ public class BOJ1753 { static class Node implements Comparable { .. 2023. 12. 18.
[JAVA] BOJ11049 행렬 곱셈 순서 알고리즘 분류 다이나믹 프로그래밍 문제 풀이 방법 점화식의 특성에 따라, N이 주어졌을 때, N-1개 까지의 개수는 구할 수 있다고 가정 D[i][j]: i부터 j까지 행렬의 연산 횟수 D[1][N] = D[1][j] + D[j + 1][N] + a, a = (j번째 행렬의 행의 개수) * (j + 1번째 행렬의 행의 개수) * (j + 1번째 행렬의 열의 개수) 코드 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class BOJ11049 { /* 행렬 곱셈 순서 */ static class Matrix { int r.. 2023. 12. 14.