푸른영혼의 별 | Tech Blog
Java Backend Engineer의 기술 블로그입니다.
Spring Boot, MSA, JPA, Kafka, Kubernetes 등 실무 경험을 공유합니다.
주요 프로젝트: Settlement MSA · ASAT · GitHub
Posts (총 649편 · 1 / 65 페이지)
-
바이브코딩에서 레이어드 vs 클린 — '안정도'를 숫자로 재고 레포 4개를 돌려봤다
“레이어드보다 클린이 유지보수가 낫다”는 말은 너무 자주 들려서 이제 아무 정보도 없다. 낫다는 건 뭘 기준으로 낫다는 건가. 재본 사람은 별로 없다.
-
prettymaps — 지도를 예쁘게 그리는 파이썬 라이브러리, 소스를 열어 봤다
누가 링크를 하나 던져 줬다. 열어 보니 github.com/marceloprates/prettymaps 였다.
-
디지털 트윈을 작게 세 개 만들어 봤다 — 지하철·노드 드레인·원장 리플레이
운영 대시보드는 “지금 어떻게 돌고 있나”에 답한다. 그런데 정작 사람이 밤에 궁금해하는 건 그 질문이 아니다.
-
StatefulSet 에 PVC 를 미리 만들어 붙이면 어디서 발목이 잡히는가
홈랩 k3s 클러스터에서 상태 저장 워크로드 네 개(Postgres 2대·Kafka 브로커·Elasticsearch)를 PVC 를 손으로 먼저 만들어 붙이는 방식으로 굴리고 있다. 멘토링 요청을 준비하면서 “이게 정석이 아닌 건 아는데, 나중에 어떤 식으로 발목을 잡느냐”를 스스로 정리해야 했고, 그 과정에서 문서로 알던 것과 클러스터에 실제로 떠 있는 것이 다르다는 걸 발견했다.
-
멘토에게 묻고 싶은 여섯 가지 — 2년 굴린 GitOps 리포에서 뽑아낸 것
쿠버네티스 강사님께 멘토링을 받을 기회가 생겼다. 준비하면서 GitOps 리포를 통째로 보여드릴까 했는데, 그 리포에는 노드 IP 표와 “어느 엔드포인트에 인증이 걸려 있고 어느 쪽이 무보호인지” 같은 문서가 섞여 있다. 남에게 보여주기 부끄러운 게 아니라 인터넷에 두면 안 되는 것들이다. 그래서 리포 대신, 거기서 뽑아낸 질문만 정리하기로 했다.
-
자바 · 파이썬 · 고 — 문법, 자료구조, 그리고 각자가 지불한 값
이 글의 방법
-
리포를 쪼개면 코드는 따라오고 검사는 남는다
쪼갠 뒤에 남는 것
-
리포에 있는 정본이 운영에서는 죽은 파일이었다 — subPath 그림자와 CI 사각지대
관리자 화면 하나가 안 열린다는 제보를 받았다. 주소창에 직접 넣거나 새로고침하면 401 이 떨어지는데, 앱 안에서 메뉴를 눌러 들어가면 멀쩡히 열린다. 프론트 코드에도, 백엔드 권한 설정에도 손댄 사람이 없었다.
-
비밀번호 금고를 직접 띄웠는데 두 달을 안 썼다 — Vaultwarden 사용법, 그리고 안 쓸 때의 사용법
6월에 자체 호스팅 비밀번호 관리자를 하나 띄웠다. 오늘 안을 들여다봤더니 데이터 디렉터리가 300KB 였고, SQLite 파일의 마지막 수정 시각이 띄운 날 그대로였다. 두 달 동안 비밀번호가 하나도 들어가지도 나가지도 않았다는 뜻이다.
-
자바 동시성 조언에는 유통기한이 있다 — 내가 이 블로그에 쓴 것부터 틀렸다
동시성 글은 오래 못 간다. 알고리즘 글은 10년 가도 맞는데, 동시성 조언은 JDK 한 번 올라가면 반이 죽는다. 조언이 런타임 구현에 붙어 있기 때문이다. 구현이 바뀌면 조언이 같이 바뀐다.