전체 글29 에이전트 시대의 AI 시스템 설계 한빛미디어 서평단 활동을 위해서 책을 협찬받아 작성된 서평입니다들어가며 회의에서 AI 얘기가 나올 때마다, 내가 보탤 수 있는 말은 늘 머리 속을 맴돌기만 할뿐, 구조화된 답변은 입밖으로 잘 나오지 못했다. 늘, '그건 환각때문에 .. ', '그건 하네스를 사용해서..' 등과 같은 어디선가 들은 이야기뿐이었다. 그 내용은 틀린 말은 아니었다고 생각한다. 하지만 내용을 뒷받침해줄 그 다음이 없었다. 그래서 말하고자 하는 바가 어떤 종류의 문제이고, 어떤 결을 가진 해법이 있고, 그걸 쓰면 무엇을 내주게 되는지, 거기서부터는 생각이 진행되지 못한 채로 입을 다물 수 밖에 없었다. 이상한 일이었다. 나는 업무를 하며 프롬프트를 자주, 아니 매일 사용한다. 컨텍스트 윈도우를 요리조리 채워 넣을 줄도 알고, .. 2026. 5. 31. 맛있는 디자인 일러스트레이터 CC 2026 한빛미디어 서평단 활동을 위해서 책을 협찬받아 작성된 서평입니다 클릭이 빗나갔다 신청 마감 직전, 다른 책을 누른 줄 알았다. 정신을 차렸을 땐 이미 일러스트레이터 책이 도착해 있었다. 평소 디자인 도구를 직접 다룰 일이 거의 없는 사람으로서, 일러스트레이터에 대한 인상은 "펜 도구가 무서운 그 프로그램" 정도였다. 솔직히 처음 든 생각은 "이걸 어쩌지" 였다. 그래도 책장을 덮어 두지는 않았다. 책상에 놓고 며칠 노려보다가, 머릿속에서 세 개의 질문을 만들었다.이 책에서 얻은 것이 Google이 발표한 DESIGN.md 작성에 적용될 수 있을까?디자이너와 협업할 때, 내 시야가 한 뼘이라도 넓어질까?개발 외 분야의 책 한 권을 통째로 읽고 나면, 내 생각의 폭이 정말 넓어질까? 세 질문 중 하나라.. 2026. 4. 28. 루퍼스 3기 수료 후기 — 개발은 취향이다 기조: 개발은 취향이다. 10주가 지났다. 10주 전의 나에게 "넌 왜 개발을 그렇게 하니"라고 물었다면, 나는 한참을 머뭇거리다 회사 사정이나 일정, 비용 같은 단어로 얼버무렸을 것 같다. 10주 뒤의 나는, 그 질문을 반긴다. 답이 명쾌해서가 아니라, 답을 만들어 낼 언어가 생겼기 때문이다. 이 글은 그 10주에 대한 기록이다. 목차루퍼스를 신청하게 된 계기루퍼스를 시작하며 마음 먹은 사항루퍼스를 겪으며루퍼스를 수료하고 난 나의 마음가짐이런 분들께 루퍼스를 추천한다마무리 1. 루퍼스를 신청하게 된 계기 루퍼스를 신청하게 된 계기는, 사실 정말 단순했다.더 이상 개발 실력에 대해 핑계를 대고 싶지 않았다. 이런 마음을 품게 된 건 올해 초 성과 평가의 피드백에서 시작되었다. 2025년의 내 .. 2026. 4. 26. 매주 한 편씩 쓰다 보니 10주가 지나 있었습니다 TL;DR — 10주 동안 매주 한 편씩 블로그를 썼습니다. 토요일 저녁마다 "정상이 어디에요?" 라고 스스로에게 물었고, 돌아오는 답은 언제나 "아 5분만 더 가면 돼" 였습니다. 그 5분이 열 번 쌓여 10주가 되었고, 저는 끝내 포기하지 않았습니다. 이 글은 그 열두 편의 흔적이 만든 열한 번째 저를 돌아보는 총괄 회고이자, 마지막 라운드(Spring Batch + Materialized View + 기간별 Ranking API) 에서 내린 결정을 기록한 인덱스입니다.프롤로그 — 글을 쓰기 시작한 2주차의 저처음부터 매주 블로그를 쓸 생각은 아니었습니다. 1주차에는 Ktlint·EditorConfig·Git Hook 같은 도구를 세팅하고, 팀 동료의 질문 ("Kotlin 에 ESLint 같은 거 있.. 2026. 4. 17. "0.3ms의 세계로 들어가도 되는 걸까" — INFP 백엔드 개발자의 Redis ZSET 랭킹 파이프라인 구축기 TL;DR: ORDER BY score DESC의 300ms가 불안해서 Redis ZSET의 0.3ms 세계로 넘어갔다. Kafka 이벤트 파이프라인으로 가중치 기반 점수를 실시간 누적하고, 자정 콜드 스타트는 전일 점수 10%를 이월하는 Carry-Over 배치로 완화했다. 핵심 판단은 "핵심 기능과 부수 기능의 분리", "YAGNI 기반 가중치 관리 수준 결정", "EMA 구조의 감쇠 비율 선택"이었다. 참고: 본문에 등장하는 "사제문답"은 Claude와의 기술 대화를 무협 세계관으로 각색한 것입니다. 말투에 놀라지 마시길... 주문 이벤트를 Kafka에 태우고, Redis ZSET에 가중치 기반 점수를 쌓고, 랭킹 API를 만들고, 통합 테스트를 짜고, 마지막으로 콜드 스타트를 완화하는 배치 잡까.. 2026. 4. 10. 주문 대기열 시스템 설계: Redis Sorted Set의 내부 구조가 실시간 순번 조회를 가능하게 하는 원리 TL;DR — 트래픽 폭증 시 하류 시스템을 보호하면서 유저에게 공정한 순서를 보장하기 위해 Redis Sorted Set 기반의 주문 대기열을 구현했다. 처음에는 "Redis가 빠르니까"라는 이유만으로 충분하다고 생각했지만, 순번 조회(ZRANK)가 왜 O(log N)인지를 제대로 설명하지 못하는 자신을 발견했다. 그래서 Sorted Set의 내부 구현체인 스킵 리스트(Skip List)와 스팬(Span) 메커니즘까지 파고들었고, 그 과정에서 얻은 이해를 이 글에 정리한다. 1. 트래픽 제어의 필요성: Back-pressure 평소 초당 100건이던 주문 요청이 블랙 프라이데이 시작 직후 초당 10,000건으로 폭증하는 상황을 가정해 보았다. 이 트래픽이 주문 API로 직접 유입되면 어떤 일이 벌어질.. 2026. 4. 3. 이전 1 2 3 4 5 다음