본문 바로가기
반응형

[SpringBoot]54

Exceeded limit on max bytes to buffer: 해결하기 AWS EC2 서버에서 크롤링을 진행하는 과정에서 문제가 발생하였다.API 호출에 대해 3번까지 retry를 걸었지만, 3번 모두 실패한 경우가 발생하였고특정 페이지 특정 데이터를 가져오려고 할 때에만 문제가 발생한다는 특이점을 얻었다. 처음 마주한 Exception은 아래와 같았다org.springframework.web.reactive.function.client.WebClientResponseException: 200 OK from GET 내 EC2 서버에서는 WebClient를 사용했고, 이 에러는 WebClient를 사용해서 데이터는 200 OK로 성공적으로 호출했으나데이터 변환 등의 과정에서 문제가 발생했다는 오류였다. 곧바로 내 로컬 서버에서도 돌려본 결과 마찬가지로 특정 페이지에 대해서만 .. 2024. 11. 5.
Spring Data JPA 에는 ON DUPLICATE KEY UPDATE 가 없다 ! 어떻게 해야할까 ! 이번에 새로운 서비스를 개발하다가 필요한 기능이 생겼다.이번 서비스는 일종의 크롤링과도 관련이 있다.  주기적으로 타 API를 호출하여 데이터를 가져와서1. 기존 데이터셋에 추가하거나2. 기존 데이터의 필드 중 변경사항이 있다면 업데이트해주어야 한다. 문제는, 타 API에서 하나의 데이터를 두 개로 관리해주고 있다.그래서 나는 이 데이터를 합쳐서 하나의 테이블로 관리해주어야 한다.  API 1은 기본 정보에 관한 것이다.{ userId: 1, name: "john", phone: "012-3456-789"}  API 2는 세부 정보에 관한 것이다.{ userId: 1, job: "Student", introduce: "Hello, my name is jonh", vi.. 2024. 8. 26.
Spring Kotlin - WebClient 인코딩 주의사항 ! WebClient를 이용하다 보면, API_KEY나 serviceKey 개념을 사용하실 경우도 있을 텐데요이 때, 주의하셔야 할 점이 있습니다. (물론 정..상 적인 api 명세라면 문제가 없을 겁니다) 올바른 API KEY를 전달했음에도 불구하고 WebClient 자체적으로 인코딩을 적용하기 때문에개발자가 넣은 API KEY가 변형되어 전달될 수 있기 때문입니다. 공감하시는 분들은 인증 Key를 잘 입력했는데도 불구하고, 올바르지 않은 키가 입력되었다는 경험을 하고 계실 겁니다.직접 로그를 찍어보시면, 전달했던 API KEY와 실제로 적용되고 있는 API KEY가 다르다는 것을 요청 url을 통해 확인할 수 있습니다. %3D -> %253D이런식으로 말이죠! WebClient의 기본적인 인코딩 방식은 .. 2024. 8. 18.
Spring Kotlin에 Ktlint 적용하기 Ktlint는 Kotlin 언어의 공식적인 컨벤션을 준수할 수 있도록 스타일을 검사해 주는 도구입니다.깔끔한 코드를 작성하는데 있어서의 약속이자 규약이기도 합니다. 꼭 지켜야 하는 것은 아니지만, 가독성을 고려하여 협업을 위해선 권장되는 방식입니다.우아한테크코스 6기를 진행하는 동안에도 현직자분들과 코드리뷰를 할 때 Ktlint를 적극적으로 활용하고 있습니다.개행이나 들여쓰기가 제각각 멋대로라면 코드 읽기가 불편하겠죠? 협업을 한다면 적극적으로 활용하시길 바랍니다!  build.gradle.kts에 다음 의존성을 추가합니다.plugins { id("org.jlleitschuh.gradle.ktlint") version "12.1.0"} 그러면 설정이 끝났습니다!  2가지 방법으로 사용합니다대표적으로.. 2024. 6. 19.
반응형