전체 글 433

PostgreSQL: Advisory Lock + SKIP LOCKED 데이터 베이스 단에서 JOB Queue 만들기

FOR UPDATE SKIP LOCKED만으로는 "동시에 N개 이상 실행 금지" 같은 글로벌 제약을 못 건다. pg_advisory_xact_lock을 조합하면 외부 큐(Redis, SQS) 없이 PostgreSQL만으로 정교한 job queue를 만들 수 있다. 이게 무슨말이냐면 이 스택을 알고 있는사람은 DB 배치 queue만든다고 redis같은 외부의존성을 추가하지 않고 postgreSQL에 내장 기능으로 해결을 본다는 말이된다. 예를들면 ERP에서 월말 정산, 대량 PDF 생성, 테넌트별 배치 처리처럼 "여러 워커가 경쟁하되 같은 작업을 중복 실행하면 안 되는" 시나리오. 이미 PostgreSQL 쓰고 있으니 인프라 추가 없이 해결 가능하게 된다. -- 워커가 다음 작업을 가져오는 쿼리SELEC..

DB 2026.07.21

GPT는 어떻게 사람과 대화할 수 있게 됐을까? AI잘쓰고 싶은사람은 여기여기 모여라~ (이 이야기만 이해하면 LLM 트렌스포머 아키텍처의 큰 틀을 이해할 수 있게됨!)

개요이 이야기는 제가 llm들의 동작원리를 공부하고, 지금 GPT, CALDUE등의 AI 모델의 근간이 되는 트렌스포머 아키텍처에 대해서 공부하다가 행렬곱이 어쩌니.. QKV를 계산하고 이걸 어쩌고 저쩌고... 그게 뭔데 씹덕아! 관련 지식이 없으면 아예 알아들을 수 도 없는 내용들을 조금의 개발 관련 용어만 알면(사실 이정도도 공부를 좀 한 상태 여야 하긴 할 것 같네요... 워낙 방대한 내용들이라...) 누구나 알아듣기 좋게 쉽게 풀어보면 어떨까? 하는 마음에 한번 제가 이해하고 공부했던 내용들을 엄청나게 압축하고 함축해서 이야기로 풀어내 봤습니다. 요즘 LLM이 만든 글이 판치는 세상에 이런 수제글은 흔치 않습니다 허허허 그들이 저보다 잘 쓰겠지만 저 만큼 재밌게 쓰진 않을거라 생각합니다. 이야기 ..

AI 2026.07.09

Claude Code와 함께 날먹하려고 했다가 걍 체해서 골골되는 개발자 이야기

난 개발자다. 최근 이직을 했다. 당연히 개발팀에 소속돼 있다. 근데 개발팀에 나 혼자다. 나 혼자서 PM, 디자인,FE,BE 다 해야한다. 이전 회사에서도 공중제비를 돌며 일했기 때문에 나름 익숙한 환경이기도 하고, 프로덕트가 커지면 혼자 못하고, 초기 개발단계까지만 혼자 하는거다 나중엔 혼자 못한다고 쇼부를 봤다. 째뜬 먹고살기 문제로 입사한지 2달째 입사할때 했던 딜중 하나가 “혼자 처음부터 끝까지 다 해야하니 AI 툴 팍팍 밀어주세요” 였고, 잘 관철돼서 Claude를 max20요금제로 진짜 쫙쫙 써보고 있다. 어쩔땐 조금 모자란 적도 있었다. 대부분의 경우 max20 요금제로 하면 좀 남았다만 초기엔 좀 모자라서 쿨타임 다 될때까지 기다린 적도 몇 번 있다.정말 센세이션하고 좋았던점은 다음과 같..

카테고리 없음 2026.05.22

"스타트업 설계는 처음인데요" 책의 저자 강대명 엔지니어님의 세미나 후기

운 좋게 좋은 기회로 "스타트업 서비스 설계는 처음인데요"책의 저자이신 강대명 엔지니어님의 세미나를 들을 기회가 생겨 감사하게도 이렇게 배울 기회를 얻었습니다.이 책을 읽어본 스타트업에 4년간 근무했던 백엔드 엔지니어의 입장에서는 너무나 공감가는 내용이고 뼈에 새겨졌던 내용들이 너무 많이 있었다. 이 세미나를 듣고, 이 책을 읽으며 가장 많이 했던 생각은 조금만 더 빨리 이 책을 만났더라면,,, 이라는 후회와 회고의 책이었다.그렇기에 앞으로는 같은 실수를 하지 않기 위해서 다시 마음을 다지며 이 책과 세미나의 대략 적인 내용을 정리하고자 블로그 포스팅을 하게 됐습니다. 책에 더 자세하고 기술적인 내용들과 이 글과 다른 새로운 해석이 생길 수 있으니 꼭 책을 읽어보는것을 추천드립니다. (광고는 아니예요! ..

카테고리 없음 2026.03.19

서울 AX& 하이어 오토메이션 코리아 2025 Fall 컨퍼런스 후기 (부산 촌놈 공부하러 서울 상경)

선수지식AI AgentAI 에이전트는 그냥 “디지털 직원”이라고 생각하면 된다.AXAX는 거창한 개념이라기보다 LLM 같은 코어 모델 위에 실제 서비스/업무에 붙는 응용 레이어 정도라고 보면 된다.RAG는 새로운 AI가 아니라, 검색으로 필요한 문서를 끌고 와서 LLM에게 함께 제공하는 방식이라 “검색 보강” 정도로 이해하면 좋을것 같다.거버넌스거버넌스 = 의사결정 구조 + 규칙/제도 + 역할/책임 + 감시·견제·평가 시스템 컨퍼런스 한 줄 요약 AI Agent, 다들 만든다고는 하는데… 생각보다 일을 잘 못한다.그래서 기업들은 “뒤처지면 안 돼!” 하면서 돈은 많이 썼는데, 정작 ROI는 애매한 상태. 하루 종일 발표 들으면서 느낀 공통된 메시지는 딱 이거였다. 모델 자체는 이미 충분히 좋다.지금 출시..

카테고리 없음 2025.11.14

데이터 베이스 개념적 설계의 중요성 (Feat. 스타트업에서 흔히 하는 크나큰 실수)

설계가 왜 중요한가?하나의 애플리케이션을 사람에 비유하게 됐을때 에플리케이션 코드가 근육, 피부조직 등의 요소를이루어 그들을 유기적으로 옮기게 한다고 하면 데이터베이스의 설계는 그 근육이 붙어있는 뼈대로 비유할 수 있다. 즉 한번 고착화 되면 굉장히 바꾸는것이 어렵고 품이 많이들면서 리스크까지 크게 떠 안아야 한다는 뜻이다.그렇기 때문에 설계를 하는 사람 혹은 추후 배우게 될 개념적설계에 참여하는 비즈니스 참가자들은 데이터베이스설계에 목을 메어 신중을 가해야한다.잘못된 설계?강의에서는 잘못된 설계에 대해서 자세히 설명하였다. 하지만 이는 너무 기본적인 내용이니 좀 더 깊게 잘못된 설계란 무엇인가? 에 대한 의문점을 가져야한다.예를들어 영상에서와 같은 데이터에서 데이터계선을 위해 최소한의 정규화 단계라고 ..

DB 2025.10.11

RDB 모델링 설계시 추상화의 중요성과 거시적 관점이 왜 중요해 졌을까?(프로젝트 모델링 회고)

추상화?추상화는 구체적인 무언가에 대해 본질적으로 그것을 묶는 그룹에 이름이라고 나는 생각하며 설계를 바라본다. 좀 더 흔히 하는 비유를 들자면 사자, 치타, 표범 같은 동물을 추상화시키면 고양잇과 동물이 되고 그 고양잇과 동물을 추상화시키면 포유류가 될 수 있다. 이처럼 세상 모든 것들을 RDB로 포함할 때는 사자, 치다, 표범처럼 구체화시켜 표현해 낼 수 있지만 워터폴 한 설계중심의 예전 서비스 들과는 달리 최근의 사용자들이 요구하는 것은 다양하며 시시때때로 변화한다. 그렇기 때문에 사용자들에게 이쁨 받기 위해 애플리케이션은 항상 유연하게 변모해야 하며 그렇게 하기 위해서는 추상화라는 개념 없이는 "유연한 요구사항에 항상 대응할 수 있는 설계"를 절대 할 수 없다고 생각한다.예를 들어 나의 이번 마이..

DB 2025.09.20

DB 데이터 날라가서 복구 한 썰 풉니다... feat 트랜젝션 로그

사건의 발단급한 개발 및 운영배포는 언제나 화를 불러 일으킨다... 우리 팀은 피해갈 수 있을 줄 알았다... 하지만 개발신께선 그딴건 허용하지 않았다...사건의 발단은 이렇다.pm님 께서 운영계획에 필요하니 특정 기능을 금주 화요일까지 배포해야한다는 오더가 들어왔다. 그렇게 FE와 BE가 나눠져 PM, BE, FE로 구성된 우리팀은 빠르게 개발에 착수 했다. 아주 간단한 기능이였다. 기존에 쓰던 Form에서 몇가지 항목이 변경됐고 그에따라 DB스키마와 DTO가 일부 변경됐다. 아주 간단 한 작업 입니다 만은... 너무 급하게 작업을 했을까...영세한 우리 프로덕트는 따로 스테이징 서버가 없었기도 했고 고객사와 시범운영을 했기 때문에 비용 운영적인 부분은 최소화하기 위해 ec2로만 구성하고 고객사에서 접..

DB 2025.07.25

ADK(Agent Development Kit) 스터디 2주차 (5) ADK Session에 대해서 (에이전트 끼리 맥락 기억 및 관리)

ADK에서 Session 이란?에이전트끼리 맥락을 기억하게 하는데 ADK에서 이런 개별 대화 스래드를 추적하고 관리하기 위해 설계된 객체Session 객체사용자가 에이전트와 상호작용을 시작하면 SessionService는 Session객체를 생성한다. 이 객체는 하나의 특정 채팅 스레드와 관련된 모든 것을 담는 컨테이너 역할을 함.Session 객체의 주요 속성은 다음과 같습니다:식별 정보 (id, app_name, user_id): 대화를 고유하게 식별하는 레이블입니다.id: 이 특정 대화 스레드의 고유 식별자app_name: 이 대화가 속한 에이전트 애플리케이션의 이름user_id: 대화를 특정 사용자와 연결 (중요)대화 기록 (events): 해당 스레드 내에서 발생한 모든 상호작용(Event 객체..

AI 2025.07.18