Jwhy's Blogitory
close
프로필 배경
프로필 로고

Jwhy's Blogitory

  • 분류 전체보기 (114)
    • Book Study (49)
      • [Java] 이펙티브 자바 (19)
      • [Kotlin] 코틀린 코루틴 (6)
      • [Kotlin] 코틀린 인 액션 (4)
      • [Kotlin] 객체에서 함수로 (4)
      • [Web] 웹을 지탱하는 기술 (9)
      • [Web] HTTP2 IN ACTION (5)
      • [Spring] 토비의 스프링 3.1 (0)
      • [Theory] 출.스.마 (1)
      • [CS] 누구나 자료구조와 알고리즘 (1)
    • Devlog (6)
      • Kotlin (1)
      • Project (2)
      • Java (0)
      • Git (3)
    • Kotlin (13)
      • 이론 (1)
      • 기능 정리 (1)
      • [Inflearn] 코틀린 입문 (11)
    • Spring (27)
      • 이론 (1)
      • 프로젝트 (1)
      • 트러블 슈팅 (13)
      • 기능 정리 (11)
      • 리뷰 (1)
    • Java (2)
      • 이론 (2)
    • PS (13)
      • 그래프 (2)
      • 이론 (1)
      • 정렬 (2)
      • 컬렉션 (0)
      • 백트래킹 (6)
      • DFS (1)
      • DP (1)
    • DevOps (4)
      • AWS (4)
  • 홈
  • 태그
  • 방명록

[Spring] - Surrogate 깨짐 이슈

🛠️ 개발 환경Kotlin: 2.2.0Spring Boot: 3.5.3💬 상황 설명회사에서는 WebFlux 기반의 서버를 사용하고 있어서, 컨트롤러 호출 전 Netty의 고수준에서 요청 데이터를 받아 내부 객체 형태로 변환한다. 이 과정에서 요청 본문을 UTF-8로 인코딩한 ByteArray로 저장한 뒤, 이를 문자열로 디코딩하여 누적(concatenate)하는 방식으로 처리한다. 대량의 데이터가 요청될 경우, Netty가 기본적으로 8KB(8192바이트) 단위로 청크로 나누어 수신하는데, 이때, 8KB 경계에서 UTF-8 멀티바이트 문자가 중간에 잘리면, 디코딩 과정에서 유효하지 않은 시퀀스로 간주되어 � (U+FFFD)로 표시된다. 이를 서로게이트 페어가 깨졌다고 표현한다. 예를 들어, 8KB(8..

  • format_list_bulleted Spring/트러블 슈팅
  • · 2025. 7. 17.
  • textsms
[Spring] - springdoc-openapi 구조 미노출 이슈

[Spring] - springdoc-openapi 구조 미노출 이슈

🛠️ 개발 환경kotlin : 2.1.10Spring Boot : 3.3.10💬 상황 설명우선 현재 사용 중인 springdoc의 버전은 다음과 같다.implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:2.2.0")코틀린 + 스프링 부트를 기반으로 API를 개발하면서, 다음과 같은 형태로 API의 request/response 클래스를 설계했다.object ApiPostProductBacklog { const val PATH = "/api/v1/product-backlog" data class Request( val title: String, val description: String, ..

  • format_list_bulleted Spring/트러블 슈팅
  • · 2025. 5. 20.
  • textsms
[Spring] - 벌크 조회를 이용한 성능 최적화

[Spring] - 벌크 조회를 이용한 성능 최적화

🛠️ 개발 환경kotlin : 2.1.0Spring Boot : 3.3.0💬 상황 설명현재 재직 중인 회사는 여러 도메인 엔티티를 하나로 묶어 관리하는 에그리게이트(Aggregate) 단위로 모듈이 나누어져있고, 각 에그리게이트 내부에 있는 엔티티 기반의 API를 개발한다. 한 페이지에서 여러 엔티티에 대한 정보가 필요할 경우, 프론트에서 각 API를 호출하여, 데이터를 뿌려준다. 하지만, 특정 뷰에서는 A 데이터를 기반으로 B 데이터를 합친 결과를 보여준다. 예를 들어, C에 대한 리스트를 보여주기 위해서는 A를 먼저 조회하고, A가 속한 B를 찾은 뒤, 결과를 합쳐서 C를 보여주는 것이다. B는 여러 개의 A를 가질 수 있기 때문에, 정규화에 의해 AB라는 중간 테이블을 두어 관리를 하고 있다. ..

  • format_list_bulleted Spring/트러블 슈팅
  • · 2025. 1. 29.
  • textsms

[Spring] - NoSuthMethod

🛠️ 개발 환경kotlin : 2.1.0Spring Boot : 3.3.0💬 상황 설명회사 프로젝트에서 서비스 로직을 개발하던 중, 서버를 실행하니 다음과 같은 에러 메시지가 발생했다.java.lang.NoSuchMethodError: 'java.lang.Object server.temperature.TemperatureService.findTemperature(int, kotlin.coroutines.Continuation)'@Serviceclass TemperatureService( ...) { suspend fun findTemperature( temperatureCatRowid: Int ): Flow = ...}에러 메시지에 보이는 것과 같이 NoSuchMehtod..

  • format_list_bulleted Spring/트러블 슈팅
  • · 2025. 1. 17.
  • textsms
[Spring] - SSLHandshakeException

[Spring] - SSLHandshakeException

🛠️ 개발 환경 및 테스트 환경OS : Window / Mackotlin : 2.0.21Spring Boot : 3.3.0💬 상황 설명회사 프로젝트는 로컬 스프링 서버에서도 SSL 인증서를 사용해 https로 통신을 하며, 프론트는 노드 서버로 동작하여 백엔드 서버와 다른 포트로 동작한다. 그 때문인지 서버에 통신을 할 때, 다음과 같은 에러가 발생했다.2024-10-18T09:53:10.185+09:00 WARN 10384 --- [App] [ctor-http-nio-2] .s.ApplicationProtocolNegotiationHandler : [id: 0x8fa98143, L:/[0:0:0:0:0:0:0:1]:8080 - R:/[0:0:0:0:0:0:0:1]:56868] Failed to se..

  • format_list_bulleted Spring/트러블 슈팅
  • · 2024. 10. 22.
  • textsms

[Spring] - 타임리프 경로 에러

🛠️ 개발 환경 및 테스트 환경OS : Window / Mackotlin : 1.7.10Spring Boot : 2.7.0💬 상황 설명회사의 개발 환경은 윈도우이고, 재택 근무를 할 때의 개발환경은 맥 환경이다. 회사의 프로젝트를 맥에서 실행했을 때, 다음과 같은 에러를 마주쳤다.[THYMELEAF][http-nio-8080-exec-1] Exception processing template "error": Error resolving template [error], template might not exist or might not be accessible by any of the configured Template ResolversServlet.service() for servlet [dispat..

  • format_list_bulleted Spring/트러블 슈팅
  • · 2024. 8. 21.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (114)
    • Book Study (49)
      • [Java] 이펙티브 자바 (19)
      • [Kotlin] 코틀린 코루틴 (6)
      • [Kotlin] 코틀린 인 액션 (4)
      • [Kotlin] 객체에서 함수로 (4)
      • [Web] 웹을 지탱하는 기술 (9)
      • [Web] HTTP2 IN ACTION (5)
      • [Spring] 토비의 스프링 3.1 (0)
      • [Theory] 출.스.마 (1)
      • [CS] 누구나 자료구조와 알고리즘 (1)
    • Devlog (6)
      • Kotlin (1)
      • Project (2)
      • Java (0)
      • Git (3)
    • Kotlin (13)
      • 이론 (1)
      • 기능 정리 (1)
      • [Inflearn] 코틀린 입문 (11)
    • Spring (27)
      • 이론 (1)
      • 프로젝트 (1)
      • 트러블 슈팅 (13)
      • 기능 정리 (11)
      • 리뷰 (1)
    • Java (2)
      • 이론 (2)
    • PS (13)
      • 그래프 (2)
      • 이론 (1)
      • 정렬 (2)
      • 컬렉션 (0)
      • 백트래킹 (6)
      • DFS (1)
      • DP (1)
    • DevOps (4)
      • AWS (4)
최근 글
인기 글
최근 댓글
태그
  • #자바
  • #제네릭
  • #백준
  • #백트래킹
  • #kotlin
  • #이펙티브자바
  • #스프링 배포
  • #java
  • #코틀린
  • #이펙티브 자바
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바