본문 바로가기

전체 글101

[spring/Error] failed to configure a datasource: 'url' 에러 springboot 프로젝트를 실행하다가 failed to configure a datasource: 'url' 에러를 만나 곤혹을 치렀다. 여러 방면으로 알아본 결과 원인으로는 두 가지가 있었다. 먼저, resources/application.properties 에 datasource를 정의하지 않았다 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:8080/db spring.datasource.username= spring.datasource.password= 하지만 나의 경우에는 다 추가를 했음에도 불구하고 에러가 발생했고, 두 번째에서 원인을 찾을 수 있었다.. 2021. 1. 19.
[Spring/Error] @Slf4j 로그와 cannot resolve symbol log 에러 Lombok의 @Slf4j 어노테이션을 추가하면 로그를 간단하게 남길 수 있습니다. Maven - mvnrepository.com/artifact/org.projectlombok/lombok Gradle - projectlombok.org/setup/gradle AWS의 S3 스토리지에서 파일을 삭제할 때, 로그를 남기는 코드입니다. @Slf4j @RequiredArgsConstructor @Component public class S3Uploader { ''' 코드 생략 ''' private void removeNewFile(File targetFile) { if(targetFile.delete()) { log.info("파일이 삭제되었습니다."); } else { log.info("파일이 삭제되지 못.. 2021. 1. 19.
[Spring/Error] Failed to connect to service endpoint 에러 spring-cloud-aws 프로젝트를 로컬에서 실행할 때, 애플리케이션 실행에는 문제가 없지만 아래와 같이 경고(?)가 우리를 불편하게 합니다. 해결방법 [ application.yaml ] - gradle logging: level: com: amazonaws: util: EC2MetadataUtils: error [ application.properties ] - maven logging.level.com.amazonaws.util.EC2MetadataUtils: error 원인 EC2 가 아닌 로컬 환경에서 실행 시 SdkClientException이 발생하고 warning 메시지가 출력됩니다. 따라서 EC2 환경에서 실행하면 문제가 되지 않지만, 로컬에서 경고 메시지를 보고 싶지 않다면 해결방.. 2021. 1. 19.
[프로그래머스] L3 순위 (Java) [프로그래머스] L3 순위 [풀이] 이 문제를 스스로 풀지 못했다면 백준 2458번 키순서로 다시 풀어보시는 걸 추천드립니다. 본 문제는 플로이드 워샬 문제이다. - 입력 - n=5 result = [[4, 3], [4, 2], [3, 2], [1, 2], [2, 5]] [ 초기화 방법 n x n 크기인 2차원 배열 4는 3을 이긴다 → map[4][3] = 1 3은 4에게 진다 → map[3][4] = -1 초기화한 2차원 배열을 경유지 k를 이용해서 아래 조건을 확인하며 배열을 확인한다. 'i가 k에게 이기고 k가 j에게 이길 때, i는 j에게 이긴다' => map[i][k] == 1 && map[k][j] == 1, map[i][j] = 1 'i가 k에게 지고 k가 j에게 질 때, i는 j에게 진다.. 2021. 1. 7.
[백준/BOJ] 팰린드롬 만들기 (Java) [백준/BOJ] 팰린드롬 만들기 [풀이] 주어진 문자열의 뒤에 문자를 추가해서 팰린드롬이 될 때, 만들어진 문자열의 최소 길이를 구하는 문제입니다. 주어진 예제 입력의 경우 "abab" 뒤에 'a'를 추가하면 "ababa"로 팰린드롬이 만들어짐을 확인할 수 있습니다. s = "ABDCEC"가 주어진다면 우선 s가 팰린드롬인지 확인한 후 s가 팰린드롬이 아니라면 아래 과정을 따른다. 1) s의 첫 글자를 반대편에 이어 붙인 후 팰린드롬을 확인한다 => 실패 2) s의 두 문자를 반대편에 역순으로 이어 붙인다 => 실패 위 과정을 문자열 s에 대해 반복하면 팰린드롬 문자가 만들어지는 경우를 찾을 수 있고 이때 문자열의 길이를 출력하면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1.. 2021. 1. 4.
[프로그래머스] L3 가장 먼 노드 (Java) [프로그래머스] L3 가장 먼 노드 [풀이] [ 메모리 ] n의 크기가 2만이기 때문에 인접 행렬로 표현한다면 20000 X 20000 = 400000000 = 약 400MB가 될 것이다. (int[1000][1000] = 1000x1000x4byte = 4MB) [ 시간 ] 인접행렬을 사용할 경우 연결된 노드를 확인하는 과정에서 이중 for문을 사용해야 한다. 이때 20000 x 20000 = 400000000 = 4억 = 약 4초가 걸린다 for(int from=0; from 2021. 1. 4.