전체 글

전체 글

    [AWS] Endpoint does not contain a valid host name: null

    [AWS] Endpoint does not contain a valid host name: null

    문제 상황 S3를 이용하기 위해서 연동을 하던 중, 처음 보는 에러를 마주쳤습니다. S3 연동은 많이 해봐서 바로 될 줄 알았는데, 아예 처음 보는 에러였습니다. java.lang.IllegalArgumentException: Endpoint does not contain a valid host name: null at com.amazonaws.services.s3.internal.S3RequestEndpointResolver.resolveRequestEndpoint(S3RequestEndpointResolver.java:115) at com.amazonaws.services.s3.internal.S3RequestEndpointResolver.resolveRequestEndpoint(S3RequestEn..

    [SpringBoot x JPA] List 초기화에서 Builder 패턴 사용 시 NullPointerException

    [SpringBoot x JPA] List 초기화에서 Builder 패턴 사용 시 NullPointerException

    문제 상황 평소와 같이 1:N의 관계인 Entity를 생성하고 1에 해당하는 클래스에서 @OneToMany(mappedBy = "family")를 했습니다. 그리고 해당 List를 new ArrayList()로 미리 초기화를 해줬습니다. (Null 방지) 그리고 service 레이어에서 insertNewMember 메서드를 실행시켰는데, 바로 NullPointerException 발생.. 해당 List가 Null 상태인 것을 발견했습니다. @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) @AllArgsConstructor @Builder public class Family extends BaseTimeEntity { @Id @Gene..

    [SpringBoot] response.sendRedirect(url)가 동작하지 않는 경우

    [SpringBoot] response.sendRedirect(url)가 동작하지 않는 경우

    현재 상황 - 인증, 인가 관련 예외 처리를 진행하던 중, AuthenticationEntryPoint에서 응답을 주기 위해서 redirect를 하고 있었다. - 흐름은 AuthenticationEntryPoint -> sendRedirect("/exception/**") -> ExceptionController에서 throw new CustomException -> ControllerAdvice에서 해당 exception에 대한 예외 처리 - 그러나 해당 response가 Controller까지 도달하지 못하고 계속 요청이 동작하지 않는다. - 프로젝트에는 스프링 시큐리티가 적용되어 있다. 문제 Could not get response Error: Exceeded maxRedirects. Probabl..

    [SpringBoot] Custom Exception 에러 처리 및 리팩토링 (Custom Exception)

    [SpringBoot] Custom Exception 에러 처리 및 리팩토링 (Custom Exception)

    현재 상황 현재 유지 보수하고 있는 웨일던 프로젝트는 스프링 부트 경험이 없던 내가 첫 프로젝트로 진행했던 터라, 크고 작은 버그가 많다. 개발할 때 인지했지만 개발 기간이 부족해서 이슈로만 등록해두고 일단 진행했었다. (CMC라는 it 동아리에서 진행했던 터라 기간 내에 완성해야 했다) 따라서 과거에 내가 시간이 없다는 핑계로 뿌려뒀던 코드들을 하나씩 고치고 있다. 이번 리팩토링 내용은 서버의 예외 처리 및 로그에 관한 내용이다. 대단하거나 어려운 내용은 없지만 삽질했던 경험을 공유하고자 한다. 문제 현재 프로젝트 내에서 예외처리는 Custom Exception을 만들어서 인자로 enum Type의 ExceptionStatus를 넣어주고 있다. 따라서, 기본 구조는 Controller로 요청이 들어온 ..

    [SpringBoot] Error - Parameter 0 of constructor in ~ required a bean of type 'java.lang.String' that could not be found.

    상황 - FCM 기능을 추가하기 위해서 해당 클래스와 메서드를 구현하던 중, 필요한 변수를 설정 중 - 해당 변수들을 코드 단에 application.yml에서 @Value 어노테이션을 이용해서 주입해주려 했으나 서버를 실행시키면 에러가 발생 에러 *************************** APPLICATION FAILED TO START *************************** Description: Parameter 0 of constructor in ~ required a bean of type 'java.lang.String' that could not be found. Action: Consider defining a bean of type 'java.lang.String' in..

    [baekjoon 16434] 드래곤 앤 던전 (이분탐색 + 구현) (C++)

    https://www.acmicpc.net/problem/16434 16434번: 드래곤 앤 던전 첫 번째 줄에 방의 개수 N (1 ≤ N ≤ 123,456) 과 용사의 초기 공격력 HATK (1 ≤ HATK ≤ 1,000,000) 가 주어집니다. i+1번째 줄엔 i번째 방의 정보를 나타내는 세개의 정수 ti, ai, hi (ti ∈ {1, 2}, 1 www.acmicpc.net 용사가 던전을 지나가면서, 몬스터를 만나면 몬스터와 대결을 하고 체력 포션을 먹으면 회복이 되는 구현 문제이다. 이 과정을 진행할 수 있는 최소한의 hp를 구하는 문제다. 우선, 문제를 읽어보니 step의 n은 10만이었고, 체력의 MAX는 주어지지 않았다. 이 과정에서, 어떻게 최솟값을 구할지를 생각했다. x를 정해두고 매 단..

    [baekjoon 13905] 세부 (이분탐색 + BFS) (C++)

    https://www.acmicpc.net/problem/13905 13905번: 세부 첫 번째 줄에는 섬에 존재하는 집의 수 N(2≤N≤100,000)와 다리의 수 M(1≤M≤300,000)이 주어진다. 두 번째 줄에는 숭이의 출발 위치(s)와 혜빈이의 위치(e)가 주어진다. (1≤s, e≤N, s≠e). 다음 M개의 줄 www.acmicpc.net 경로가 주어지고, 시작점 - 도착점까지 가는 경로의 가중치의 최솟값이 가장 큰 값을 구하는 문제이다. 예시 경로의 가중치가 4 - 2 - 4이면 이 경로의 최솟값은 2이다. 갈 수 있는 모든 경로 중 이 최솟값이 가장 큰 경우는? 처음엔 DFS + 백트래킹으로 모든 경로를 가면서, 최솟값을 저장했다. 하지만 시간 초과가 나왔다. 따라서 모든 경로를 가면서 ..