푸른영혼의 별 | Tech Blog
Java Backend Engineer의 기술 블로그입니다.
Spring Boot, MSA, JPA, Kafka, Kubernetes 등 실무 경험을 공유합니다.
주요 프로젝트: Settlement MSA · ASAT · GitHub
Posts (총 640편 · 1 / 64 페이지)
-
자바 동시성 조언에는 유통기한이 있다 — 내가 이 블로그에 쓴 것부터 틀렸다
동시성 글은 오래 못 간다. 알고리즘 글은 10년 가도 맞는데, 동시성 조언은 JDK 한 번 올라가면 반이 죽는다. 조언이 런타임 구현에 붙어 있기 때문이다. 구현이 바뀌면 조언이 같이 바뀐다.
-
무선인증 서버는 무엇을 하는 프로그램인가 — 802.1X·EAP·RADIUS 와 그 옆의 자바 스택
채용 공고에 이런 줄이 붙어 있었다.
-
클린 아키텍처는 묶음 상품이다 — 한 코드베이스에서 얻는 것과 치르는 값을 따로 매겨봤다
아키텍처 정리를 단계로 쪼개 놓고 Phase 1까지 끝낸 뒤, 다음 질문을 받았다.
-
도메인 하나 옮기다 만난 301·302 와 CORS — curl 은 200 인데 브라우저는 403 이었다
오늘 서비스 하나의 공개 도메인을
eln.lemuel.co.kr에서asat.lemuel.co.kr로 옮겼다. 옮기는 것 자체는 십 분이면 끝나는 일이었고, 실제로도 그랬다. 문제는 그 다음에 두 번 걸려 넘어졌다는 것이다. -
500 은 목격자가 있고 404 는 없다 — 바이브 코딩 에러를 Playwright 로 볼 것인가, 직접 볼 것인가
에이전트에게 시켜서 만든 화면이 500 을 뱉는다. 혹은 404 를 뱉는다. 여기서 손이 갈라진다. 하나는 Playwright 테스트를 하나 짜서 재현시키는 것, 다른 하나는 브라우저를 열고 직접 보는 것. 어느 쪽이 나은가 — 이게 오늘 받은 질문이다.
-
0개 실행도 0 실패다 — 바이브 코딩 MVP 와 하네스의 완료기준
“다 됐어요” 는 두 사람 입에서 나올 때 같은 뜻이 아니다.
-
Netty 는 NIO 를 예쁘게 감싼 게 아니다 — 나타나기 전과 후
Netty 를 “NIO 를 쓰기 편하게 감싼 라이브러리” 라고 설명하는 글이 많다. 틀린 말은 아닌데, 그 설명으로는 왜 하필 Netty 여야 했는지가 안 나온다. 편의성이 이유였다면 대체재가 수십 개 나왔어야 하는데 그러지 않았다.
-
Chain of Responsibility — 무엇을 없앴고, 무엇을 옮겼나
디자인 패턴 글은 대개 “이렇게 쓰면 됩니다” 로 시작한다. 그러면 왜 이게 생겼는지가 빠진다. 패턴은 하늘에서 떨어진 게 아니라 누군가 같은 고통을 반복해서 겪다가 이름을 붙인 것이다.
-
inter-asat 의 JND 계단법을 문헌과 대조하고, 두 구현을 맞물려 돌려봤다
inter-asat 은 이명(tinnitus) 청각 훈련 앱이다. 그 안에 JND(Just Noticeable Difference, 최소 가지 차이) 측정이 들어 있다. “이 사람이 두 소리의 차이를 알아채는 최소 크기는 얼마인가” 를 재는 절차다.
-
inter-asat 핵심 코틀린 코드 투어 — 223개 .kt, 그리고 끝까지 남은 Java 1개
inter-asat 은 이명·청각재활 대상자의 주파수 JND / 공간 JND 를 적응형 계단법(adaptive staircase)으로 측정하는 연구용 소프트웨어다. 이 글은 그 계단법이 심리음향학적으로 무엇인지를 설명하는 글이 아니라, 그 규칙이 코틀린 코드로 어떻게 굳어졌는지 를 보는 글이다.