LLM 파이프라인 리팩터링 — 토큰 새는 곳 찾기
영어 기술 원문을 읽고 한국어 소개 카드로 바꾸는 파이프라인이 있습니다. 벤더 178곳의 피드를 긁어와 쓸 만한 걸 고르고, 카드로 쓰고, 서빙까지 자동으로 갑니다. 결과물은 이렇게 생겼습니다.

AI 과도기, 대학 조별과제는 어디로 가야 할까
이번 3학년 1학기, 저는 학교와 회사를 병행했습니다. 학교에선 조별과제를 했고, 회사에선 AI로 서비스를 만들었습니다. 그런데 같은 학기에 양쪽에서 "협업"이라는 단어를 쓰는데, 그게 완전히 다른 걸 가리키고 있었습니다.
"예쁘게"를 코드로 옮기는 법
운영 중인 서비스의 인스타그램에 올릴 카드뉴스를 매번 손으로 만드는 게 번거로워서 AI로 자동화하고 싶었습니다.

ML 프로젝트인데, ML을 안 넣기로 했습니다
한 학기 팀 프로젝트로 "잔솔"이라는 Android 앱을 만들었습니다. 공부 세션 중에 유튜브나 인스타를 열면 0.2초 안에 잔소리 팝업이 뜨고, 닫고 공부로 돌아가면 캐릭터가 코인을 받고, 무시하면 체력이 깎입니다.

운영 DB 옮기기: 되돌릴 수 없는 버튼 누르기
코드였으면 그냥 누르고 푸시했을 겁니다. 잘못 배포해도 롤백하면 되고, 버그는 핫픽스로 덮으면 됩니다. 우리가 하는 일은 대부분 되돌릴 수 있어서 "일단 하고 깨지면 고친다"가 먹힙니다. 하지만 이 명령어는 다릅니다. 누르면 인스턴스가 영영 사라집니다.
인간관계를 자동화 해보자
카톡 답장은 항상 어렵습니다. 사회성을 기르는 것과 외주를 맡기는 것 중 뭐가 빠를지 고민하다 후자로 기울었습니다. 그래서 에이전트 하나를 제 카톡 앞에 앉혀봤습니다.
극도로 발전된 명세(프롬프트)는 코드와 구별되지 않는다
Karpathy가 "가장 핫한 새 프로그래밍 언어는 영어"라고 했을 때 많은 사람이 고개를 끄덕였습니다. 저도 그랬습니다. 그런데 직접 자연어로 에이전트를 제어하는 문서를 쓰고, 그게 깨지는 걸 반복해서 겪고 나니 생각이 조금 달라졌습니다. 영어가 프로그래밍 언어가 된 게 아니라, 프로그래밍 언어처럼 써야만 동작하는 게 아닐까 싶습니다.
본질적 복잡성과 우연적 복잡성 — 스프링에서 FP는 어디까지 밀어넣을 수 있는가
코틀린과 스프링으로 주문 서비스를 만들면 대체로 이런 모양이 나옵니다.

트랜잭션의 경계는 어떻게 정해야할까: Outbox pattern으로 경계 줄이기
리워드 적립 API(POST /rewards/earn)는 주문 완료 시 우리 서비스 DB에 기록하고, 로그를 남긴 뒤 파트너사에 API로 동기화하는 흐름입니다.

바이브 코딩 시대, 왜 다시 SQL인가?
AI가 생성한 JPA 코드를 리뷰하다가, "이 쿼리는 언제 나가지?"라는 생각을 여러 번 했습니다.

반년 동안 창업하며 배운 것들
스포츠라는 단어는 프로 리그, 중계, 연봉 옆에만 붙어 있습니다. 저희 기준은 달랐습니다. 관객이 있고 경쟁이 있으면 스포츠다. 가위바위보라도.
배포 후에야 알게 되는 gRPC 스키마 불일치, Kubernetes에서 자동으로 잡기
클라이언트가 갑자기 런타임 에러를 뱉습니다. 클라이언트 코드는 아무도 안 건드렸습니다. 수 시간을 뒤진 끝에 나오는 원인은 늘 비슷했습니다. 누군가 proto를 고쳐서 Kubernetes에 배포했는데, BSR(Buf Schema Registry)은 업데이트하지 않은 겁니다. 클라이언트는 BSR을 보고 개발했고, 서버는 다른 스키마로 떠 있었습니다.

익숙한 N+1 문제, 캐싱이 가져온 26배의 속도 차이
스포츠 SNS 플랫폼을 운영하던 중, 앱을 쓰다가 피드 조회가 너무 느리다는 걸 발견했습니다. Caffeine 캐시를 도입해 평균 응답 시간을 800ms에서 38ms로 줄였습니다.

이 카테고리에는 아직 글이 없어요.