SUP

만들고, 고치고, 배우는 것들을 짧은 글로 남길려고 합니다.

172026-08-28

제주도 - 下

제주도 마지막 날은 고기국수로 시작해 새별오름에서 소나기도 맞고 성박물관과 뜻밖의 피규어 전시까지 들르며 느슨하게 둘러봤습니다. 계획 없이 왔지만 사진도 많이 찍고 회로 마무리하니 의외로 알찬 여행이었습니다.

162026-08-25

제주도 - 上

여름 휴가로 간 제주도에서 계획 없이 걷다 유니클로에서 산 티셔츠가 동행자보다 더 흔히 보이고, 애월 숙소 근처 몽탄의 강한 훈연향 고기와 소금빵 같은 소박한 식사 풍경을 만났다. 관광지 돌하르방들과 바람결 같은 소소한 순간들이 더 기억에 남는, 꾸밈없는 하루였다.

152026-08-18

스노클링

올해 첫이자 마지막으로 포항 오도리 해수욕장 근처에서 스노클링을 해봤는데 파도 탓인지 한 시간 만에 지쳐 텐트로 들어갔습니다. 직접 잡은 뿔소라는 귀찮아 라면국물에 삶아 먹었지만 내장이 반 이상이라 실속은 별로였네요.

142026-08-07

Kafka 입문

작은 서비스에서 결제와 알림처럼 서로 알아야 할 것이 늘어나면 복잡해지므로 Kafka로 이벤트를 중앙에 남기고 각 서비스가 필요한 이벤트만 구독하게 하는 구조를 설명합니다. 핵심은 토픽·파티션·오프셋·컨슈머 그룹을 통해 병렬성과 순서, 재처리 지점을 관리하고, Kafka가 메시지 전달을 넘어 이벤트를 저장해 여러 서비스가 독립적으로 활용할 수 있게 해준다는 점입니다.

132026-07-27

이모저모

AI로만 작업하다 보니 편해졌지만 문득 "이러다 바보 되는 거 아냐?"라는 생각이 들어 기초부터 다시 짚어보기로 했다. 게시판 REST API를 직접 만들고 테스트·예외·권한·트랜잭션 등 Spring의 기본 흐름을 복습하면서, AI가 만든 코드를 제대로 판단하려면 결국 내 기본 원리가 더 단단해야 한다는 결론에 이르렀다.

122026-07-27

마이그레이션 - 完

레거시 Spring/eGov/iBatis 시스템을 Spring Boot 3.5·Java 17·Spring Security 6·MyBatis/JPA 구조로 옮기면서, 흩어진 eGov 설정과 결합된 로직 때문에 변경 시 영향 범위를 가늠하기 어려웠다는 문제가 중심이었습니다. Codex를 반복 분석과 병렬 세션에 도구로 활용해 단위별 이관을 빠르게 수행하고, 그만큼 확보한 시간을 비즈니스 로직 검증·권한·트랜잭션 경계 확인 등 판단이 필요한 영역에 투입해 더 안정적인 마이그레이션을 이뤘습니다.

112026-07-04

자전거 국토종주

대학생 때 자전거 타본 지 오래된 둘이 중고 자전거 한 대로 급작스럽게 3박4일 633km 국토종주에 도전해 아라서해갑문부터 이화령의 고생과 긴 밤, 개에게 쫓기고 서로의 자존심으로 완주를 이어간 이야기를 담았다. 정상의 성취감과 도착 직후의 허탈함, 사고 소식에 웃음이 나던 순간까지, 피곤하지만 돌아보면 묘한 보람이 남았던 여정이었다.

102026-06-25

가비아 ssl 인증서 갱신

가비아에서 받은 인증서 파일을 윈도우 환경의 nginx에 맞게 cert.pem, chain.pem, privkey.pem으로 정리하고 fullchain.pem을 만들어 교체하는 과정을 정리한 글입니다. 백업을 먼저 하고 nginx 설정 검사를 한 뒤(권한 문제로 reload 대신) 재시작해 브라우저와 스크립트로 새 인증서가 반영되었는지 확인한 것이 핵심입니다.

092026-06-08

좋은 설계란 무엇일까?

객체지향책을 다시 읽으면서 깨달은 건, 좋은 설계란 단순히 클래스를 예쁘게 나누는 게 아니라 변경이 생겼을 때 덜 흔들리는 구조를 만드는 일이라는 점이다. 그래서 이제는 데이터보다 먼저 객체들이 어떤 행동을 하고 어떤 책임을 질지, 메시지는 어떻게 오갈지를 고민해 변경이 퍼지는 방향을 좁히는 쪽으로 설계하려 한다.