Tags

Java

글 79편

2026

  1. CI에서만 실패하던 테스트, ack보다 되감기가 먼저 도착했다

    네트워크로 가는 ack와 직접 호출한 되감기의 순서가 뒤바뀌던 테스트

  2. shutdownNow()가 버린 작업 때문에 끝나지 않던 future

    shutdownNow()가 대기 중인 작업을 버려서 future가 끝나지 않던 문제

  3. TableView에서 message 전체를 쓰고 싶을 때

    PIP-445로 Pulsar 5.0.0 TableView에 더한 createMapped와 TableViewMessageMapper의 사용법, mapper가 불리는 때와 실패 규칙, 리뷰에서 API 모양이 바뀐 과정

2025

  1. 파일을 한 번 더 열던 try-with-resources 블록

    BootZipCopyAction이 같은 파일을 한 번 더 열던 이유

  2. at+jwt는 통과하고 AT+JWT는 거부되던 이유

    JwtTypeValidator가 typ 값의 대소문자를 구분하던 문제

2023

  1. ReflectionTestUtils로 단위 테스트의 엔티티 ID 설정하기

    DB에 저장하지 않은 엔티티의 ID를 테스트 안에서 설정해 작성자 검증을 수행한 기록입니다.

  2. Facade로 답변 생성 로직의 의존성 분리하기

    회원과 질문 조회를 AnswerFacade로 옮긴 리팩터링과 남은 고민을 기록합니다.

  3. LeetCode 133: 방문한 노드를 기억하며 그래프 복사하기

    깊이 우선 탐색과 원본 노드에서 복제 노드로의 매핑을 사용한 Clone Graph 풀이입니다.

  4. LeetCode 208: 단어와 접두사를 구분하는 Trie 구현

    문자별 자식 노드와 단어 끝 표시로 Trie의 삽입 및 검색을 구현한 기록입니다.

  5. LeetCode 230: BST에서 k번째로 작은 값 찾기

    중위 순회로 방문 횟수를 세어 k번째 노드의 값을 저장하는 풀이입니다.

  6. LeetCode 530: BST 중위 순회로 가장 작은 차이 찾기

    이진 탐색 트리를 오름차순으로 방문하며 이웃한 값의 차이를 비교하는 풀이입니다.

  7. LeetCode 162: 이분 탐색으로 Peak Element 찾기

    중간 값과 오른쪽 값을 비교해 봉우리가 있는 구간을 좁히는 풀이입니다.

  8. LeetCode 1: HashMap으로 Two Sum의 두 인덱스 찾기

    앞서 본 값과 인덱스를 저장해 합이 target이 되는 두 원소를 찾는 풀이입니다.

  9. LeetCode 155: 이전 최솟값을 함께 저장하는 Min Stack

    스택에서 최솟값이 빠질 때 이전 최솟값을 복원하도록 구현한 기록입니다.

  10. LeetCode 125: 문자열을 뒤집어 팰린드롬 확인하기

    영문과 숫자만 남긴 문자열을 뒤집어 원래 문자열과 비교한 풀이입니다.

  11. LeetCode 80: 정렬된 배열의 중복을 두 개까지 남기기

    연속된 중복 횟수를 세어 같은 값을 최대 두 개만 남기는 풀이입니다.

  12. LeetCode 26: 정렬된 배열에서 중복을 하나씩만 남기기

    마지막으로 남긴 값과 현재 값을 비교해 중복을 제거하는 풀이입니다.

  13. LeetCode 27: 같은 배열 안에서 특정 값 제거하기

    남길 값만 배열 앞쪽으로 옮겨 유효한 길이를 반환하는 Remove Element 풀이입니다.

  14. LeetCode 88: 정렬된 배열을 뒤에서부터 합치기

    배열을 합친 뒤 정렬하는 풀이에서 뒤쪽부터 비교해 채우는 풀이로 바꾼 기록입니다.

  15. IntelliJ 빌드 중 TypeRepr ClassCastException을 만났을 때

    IntelliJ의 모듈 빌드 오류를 Rebuild Project로 해결했던 짧은 기록입니다.