Go로 PostgreSQL 프록시 만들기 (55) - QA 6차: 파서 우회와 분류 사각지대
앞쪽 주석(/*x*/ BEGIN)이 트랜잭션/세션 상태기를 통째로 우회하고, MERGE·COPY·CALL이 reader로 빠지며, 주석/리터럴 안의 키워드가 false positive를 내는 5건의 파서·라우터 버그를 수정한다.
이 페이지는 블로그의 전체 글을 학습, 트렌드, 프로젝트 관점으로 빠르게 훑기 위한 허브입니다. 글 수가 늘어나면 최신 글만 따라가서는 맥락이 끊기기 쉬워서, 어떤 독자가 어떤 순서로 읽으면 좋은지 한눈에 잡을 수 있게 구조를 정리해 두는 편이 더 낫다고 생각했습니다.
특히 이 블로그는 단순 뉴스 요약보다, 실무 의사결정에 바로 연결되는 기준을 남기는 데 초점을 두고 있습니다. 그래서 같은 주제라도 “개념 설명”, “운영 관점 해석”, “프로젝트 구현 경험”이 섞여 있습니다. 아카이브를 볼 때는 최신순보다도, 지금 내게 필요한 읽기 목적이 무엇인지 먼저 정하고 들어오는 편이 효율적입니다.
최근 개발 트렌드 글부터 2, 3편 읽는 방식이 가장 빠릅니다. 단순히 새 기술 이름을 외우기보다,
를 같이 보는 데 초점을 맞추면 좋습니다.
바로 들어가기 좋은 글:
학습용 글은 용어 설명에서 끝나지 않고, 실제 시스템 설계나 장애 대응에 연결되는 예시를 같이 넣는 편입니다. 그래서 익숙한 주제라도 “왜 이 개념이 운영에서 중요해지는지”를 다시 정리할 때 읽기 좋습니다.
추천 진입 순서:
이 순서로 보면 읽은 내용이 머릿속에 더 오래 남습니다.
프로젝트 글은 결과만 나열하기보다, 중간에 부딪힌 문제와 설계가 바뀐 이유를 같이 남겨 두는 쪽을 선호합니다. 그래서 완성된 정답보다는 생각이 바뀌는 과정을 보고 싶은 분에게 더 잘 맞습니다.
대표 시리즈:
이 흐름은 “AI가 코드를 더 빨리 쓴다”를 넘어서, 팀이 어떻게 안전하게 더 많이 처리할 것인가를 고민할 때 특히 유용합니다.
이렇게 보면 개념이 추상적으로만 남지 않고, 실제 설계 기준으로 연결됩니다.
프로젝트 글은 앞뒤 문맥이 이어지는 경우가 많아서, 검색으로 한 편만 읽기보다 관련 글을 연속해서 보는 편이 훨씬 낫습니다. 특히 PGMUX, Simple Queue Service 같은 시리즈는 문제 발견 → 설계 수정 → 운영 관점 재정리 순서로 보면 흐름이 잘 보입니다.
최근 AI 운영 글은 서로 따로 읽어도 되지만, 아래 순서로 보면 입력, 실행, 검증 통제가 한 흐름으로 이어집니다.
이 순서는 “에이전트를 어떻게 더 똑똑하게 만들까"보다, 팀이 어떻게 더 안전하게 운영 품질을 유지할까에 초점을 맞출 때 특히 유용합니다.
필요한 주제가 정해져 있다면 상단 검색과 태그 필터를 먼저 쓰는 게 가장 빠르고, 방향을 아직 못 정했다면 위의 추천 읽기 흐름 중 하나를 골라 따라가면 됩니다.
앞쪽 주석(/*x*/ BEGIN)이 트랜잭션/세션 상태기를 통째로 우회하고, MERGE·COPY·CALL이 reader로 빠지며, 주석/리터럴 안의 키워드가 false positive를 내는 5건의 파서·라우터 버그를 수정한다.
v1.0.0 릴리즈 직전, 전체 코드베이스를 엣지케이스까지 훑어 CopyBoth 고루틴 race, 캐시 인덱스 정합성 파손, Synthesizer 메모리 고갈 등 14건을 수정한다.
7차 QA를 마치고 릴리즈 체크리스트를 점검한다. CHANGELOG.md를 작성하고, README와 코드 간 9곳의 불일치를 해소한다.
Audit log, OpenTelemetry span, slog, webhook 등 모든 외부 노출 경로에서 SQL 리터럴을 자동 마스킹하는 SQL Redaction 모듈을 구현한다.
AI 기능을 제품에 붙인 팀들이 LLM Gateway와 Prompt Cache를 표준 레이어로 두는 이유를 비용·지연·운영 기준으로 정리합니다.
Glassworm 유니코드 공급망 공격이 수백 개 저장소를 다시 덮쳤고, LLM 코딩은 생산성과 피로 사이에서 갈림길에 섰다. 코드 리뷰 무용론, LLM 아키텍처 갤러리, Go 1.26 인라이너, 49MB 웹 페이지 감사까지—시니어 관점에서 도입 기준과 리스크를 짚는다.
Admin API를 통해 런타임 유지보수 모드를 활성화하여 신규 연결/쿼리를 거부하고, 진행 중인 트랜잭션은 안전하게 drain하는 기능을 구현한다.
Admin API를 통해 런타임 read-only 모드를 활성화하여 모든 쓰기 쿼리를 프록시 레벨에서 즉시 거부하고, 읽기 서비스는 유지하는 기능을 구현한다.
릴리스 전 하위호환 부채를 청산한다. top-level writer/readers와 databases 맵의 이중 설정 구조를 databases 단일 포맷으로 통합하고, 합성 shim과 분기 로직을 제거한다.
Transaction pooling 환경에서 LISTEN, 세션 SET, DECLARE CURSOR 같은 세션 의존 기능을 감지하고, block/warn/pin 모드로 제어하는 Session Compatibility Guard를 구현한다.