안녕하세요.
|
백엔드 개발자 김정현입니다.

Conductor에서 Supersets로 정착한 이유

최근 내 개발 환경에서 가장 크게 바뀐 부분은 AI Agent를 사용하는 위치다. 이전에는 IDE 안에서 터미널을 열고, 그 안에서 Codex나 Claude Code를 실행하며 작업을 진행했다. 코드를 확인하는 화면, 명령을 실행하는 화면, AI Agent와 대화하는 화면이 모두 하나의 IDE 안에 있었다. 처음에는 이 방식이 자연스러웠다. 내가 보고 있는 파일을 기준으로 바로 명령을 실행할 수 있고, 결과도 곧바로 확인할 수 있었기 때문이다. 하지만 AI Agent에게 맡기는 작업의 단위가 커지고, 동시에 여러 방향을 실험하는 일이 늘어나면서 이 방식은 점점 답답해졌다. 한 작업을 맡기는 동안 다른 시도를 병렬로 진행하기 어렵다. AI Agent가 제안하는 여러 변경을 동시에 검토하기 번거롭다. AI Agent가 만든 변경을 내가 직접 읽고 판단하는 흐름이 IDE 작업과 섞인다. 그래서 최근에는 작업 방식을 조금 바꿨다. 코드 확인과 최종 판단은 IDE에서 진…

AI
5 min0 2026.06.21
Conductor에서 Supersets로 정착한 이유

Map에 드디어 생긴 getOrInsert: “없으면 넣고, 있으면 꺼내기”

Map을 쓰다 보면 “키가 없으면 기본값을 넣고, 그 값을 바로 사용한다”는 패턴을 끝없이 반복하게 된다. 이 패턴은 간단하지만 코드가 지저분해지고, 팀마다 구현 방식이 달라지면서 가독성이 더 떨어진다. Map.prototype.getOrInsert() / getOrInsertComputed() 는 이 반복을 표준 API로 정리한다. 이 기능은 ECMAScript 2026 스펙에 포함될 예정이며, 이제 출시를 앞둔 시점이다. 오래 기다렸던 만큼 사용법과 주의점, 그리고 안전하게 도입하는 요령을 정리해두려 한다. “없으면 넣고 꺼내기”는 사소한 개선처럼 보이지만, 서비스 코드에서는 가장 자주 등장하는 반복 중 하나다. 대부분의 코드베이스에서 Map을 쓰는 이유는 명확하다. “키 → 값” 관계를 빠르게 조회하고 싶기 때문이다. 문제는 값이 없는 경우다. 예를 들어, 그룹핑(카테고리별로 리스트 만들기)을 구현하…

JavaScript
4 min0 2026.02.15
Map에 드디어 생긴 getOrInsert: “없으면 넣고, 있으면 꺼내기”

이벤트 소싱을 적용하기 전에 반드시 고민해봤어야 할 것들

우리 서비스의 주문 도메인에는 조금 특이한 특징이 하나 있다. 일반적인 상품 주문과 달리 SNS 마케팅 주문은 하나의 주문이 여러 개의 실행 단위로 쪼개진다. 예를 들어 “좋아요” 주문이 들어오면 시스템 내부에서는 다음과 같은 일들이 순차적으로 발생한다. 주문이 생성된다 결제 및 포인트 차감이 이루어진다 주문 상태가 “진행중”으로 변경된다 좋아요 작업이 여러 번에 나뉘어 실행된다 각 실행 결과가 개별 로그로 기록된다 모든 작업이 끝나면 주문 상태가 “완료”로 변경된다 이 과정에서 우리는 주문 하나를 처리하기 위해 수백, 많게는 수천 건의 실행 로그를 쌓고 있었다. 또한, 이 로그들은 단순한 디버깅 용도가 아니었다. 운영에서는 이 로그를 기준으로 주문 진행 상황을 판단했고 CS 대응에서도 “어디까지 실행되었는지” 를 설명하는 근거로 사용되고 있었다. 이 지점에서 이런 생각이 들기 시작했다. 이미 우리는 “무엇이 언제 일어났는지”를 이벤트처럼 기록하고 있지 않은가?…

Backend
4 min0 2026.01.06
이벤트 소싱을 적용하기 전에 반드시 고민해봤어야 할 것들

AI 시대에 다시 떠올리게 된 "장인 정신"이라는 기준

AI를 실무에서 자연스럽게 사용하게 된 이후 개발자의 일은 분명 빠르게 변하고 있다. 코드 작성부터 구조 제안까지 이제는 AI의 도움을 받는 것이 전혀 낯설지 않다. 그런데 아이러니하게도 AI를 많이 사용할수록 얼마전에 읽었던 『소프트웨어 장인』이라는 책의 문장들이 자꾸만 떠올랐다. 처음 읽었을 때는 다소 이상적이고 교과서처럼 느껴졌던 내용들이 지금의 환경에서는 오히려 현실적인 기준처럼 다가왔다. 이 글은 이 책을 읽으며 느낀 솔직한 독서 경험과 함께 AI 시대를 살아가는 개발자로서 내가 다시 정의하게 된 “장인 정신”에 대한 기록이다. 일단 이 책은 이 책은 소프트웨어 엔지니어로서 묘하게 자부심(?)을 심어주는 책이었다. 하지만 읽는 내내 마냥 기분이 좋았던 것은 아니고 부끄러움과 즐거움이 동시에 찾아왔다. 책에서 다루는 여러 안티 패턴들이 낯설기보다는 오히려 익숙하게 느껴졌기 때문이다. “이건 나도…

Book
2 min0 2026.01.04
AI 시대에 다시 떠올리게 된 "장인 정신"이라는 기준