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

Jwhy's Blogitory

  • 분류 전체보기 (110)
    • 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 (4)
      • Kotlin (1)
      • Project (0)
      • 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 (2)
      • AWS (2)
  • 홈
  • 태그
  • 방명록

[Chapter1] - 자료 구조가 중요한 까닭

코드 품질과 효율성프로그래밍을 처음 배울 땐 "돌아가기만 하면 성공"이었다면, 시간이 흐르면서 코드의 품질, 특히 효율성이 핵심이 된다.예시: 2부터 100까지의 짝수 출력var i = 0while (i++ var i = 2while (i → 같은 기능이지만 연산 횟수가 다르다. 성능 향상을 위해선 불필요한 연산을 줄이는 것이 핵심이다.자료구조자료구조(Data Structure)란, 데이터를 조직하고 저장하는 방식을 의미하며, 코드 성능에 직접적인 영향을 준다. 속도 비교 시, 실행 시간보단 연산 단계 수 기준이 더 명확한데 이를, 시간 복잡도(Big-O)로 표현한다.코틀린의 배열 종류코틀린에서 기본 타입의 배열을 생성하는 방법은 2가지가 존재한다.val a = IntArray(3) { it + 1 } ..

  • format_list_bulleted Book Study/[CS] 누구나 자료구조와 알고리즘
  • · 2025. 7. 20.
  • textsms

[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

[Git] 스크립트 적용

Mac OS를 기준으로 작성된 글입니다. Window 환경과는 약간의 차이가 있을 수 있습니다. 회사에서 멀티 모듈 프로젝트로 작업하다보면, 많은 불편함이 있다. GUI를 사용하면 편하겠지만, CLI를 더 선호하기 때문에, 불편함을 감수하고 cd로 이곳저곳을 돌아다니면서 고생을 했다. 하지만 alias를 사용하면 이런 귀찮은 일을 쉽게 해결할 수 있다.스크립트 보관 폴더 생성스크립트를 보관할 전용 폴더를 생성한다.mkdir ~/git-scripts | cd ~/git-scripts스크립트 파일 생성원하는 동작을 수행하는 JavaScript 파일을 생성한다. 이런 스크립트는 지피티가 잘 짜주기 때문에 원하는 스크립트를 지피티에게 요청하면 바로 나올 것이다. 아래 스크립트는 현재 디렉터리와 하위 디렉터리 중..

  • format_list_bulleted Devlog/Git
  • · 2025. 5. 8.
  • textsms

[Chapter1] 스크럼 기초

출근했더니 스크럼 마스터가 된 건에 관하여를 공부하며 정리한 글입니다.틀린 부분은 지적해주시면 감사드리겠습니다 😀스크럼사이드 프로젝트를 하면서 ‘스크럼’이라는 단어를 자주 들어봤지만, 제대로 이해한 적은 없었다. 그렇다면 스크럼은 정확히 무엇일까? 스크럼은 애자일 원칙을 따르는 소프트웨어 개발 프레임워크이다. 복잡하고 변화가 빠른 문제를 해결하기 위해, 소규모 팀이 짧은 주기로 결과를 점진적으로 만들어 나가는 체계라고 볼 수 있다. 즉, 우리가 웹 개발을 할 때 다양한 프레임워크 중 스프링(Spring)을 사용하는 것처럼, 애자일을 실천하는 다양한 방법 중 하나가 스크럼이다.스크럼을 구성하는 핵심3가지 역할프로덕트 오너 (Product Owner)제품에 대한 비전과 방향을 명확히 한다.프로덕트 백로그(..

  • format_list_bulleted Book Study/[Theory] 출.스.마
  • · 2025. 4. 27.
  • textsms

[Chapter5] HTTP2 푸시의 구현

HTTP/2 IN ACTION을 공부하며 정리한 글입니다.틀린 부분은 지적해주시면 감사드리겠습니다 😀HTTP2 서버 푸시기존 HTTP/1.1은 단일 요청-응답 프로토콜이므로, 요청과 응답의 반복(Round Trip)으로 왕복 지연이 발생하게 된다. 하지만, HTTP/2의 경우 서버 푸시를 이용해서, 이를 방지할 수 있다. 서버 푸시란, 클라이언트가 A에 대해 요청을 하고, 서버가 A에 대한 응답과 또 다른 응답을 클라이언트에게 푸시하는 것을 의미한다. 즉, 1요청 -> n응답의 구조가 되는 것이다.왜 필요할까?브라우저는 첫 페이지를 다운로드한 다음, 추가 리소스가 참조된 것을 보고 리소스를 서버에 요청하게 된다. 이미지는 초기 페인트 시간(Initial paint time)을 지연시키지 않지만, 어떤..

  • format_list_bulleted Book Study/[Web] HTTP2 IN ACTION
  • · 2025. 4. 23.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 19
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (110)
    • 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 (4)
      • Kotlin (1)
      • Project (0)
      • 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 (2)
      • AWS (2)
최근 글
인기 글
최근 댓글
태그
  • #이펙티브 자바
  • #이펙티브자바
  • #java
  • #백준
  • #백트래킹
  • #자바
  • #제네릭
  • #코루틴
  • #kotlin
  • #코틀린
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바