내가 생각하는 AI 페어 프로그래밍
Articles
아티클
현업 개발자들이 실전에서 쓴 기술과 성장의 기록.
[FairBid] 1인 개발자의 QA 생존기: '자율형 AI 에이전트'로 검증 사각지대 해소하기
전통적인 규칙 기반 테스트가 놓치는 빈틈을 잡기 위해 자율성을 가진 12명의 페르소나 에이전트를 투입하여 개발자의 상상력이 닿지 않는 시스템의 사각지대를 집요하게 탐색했습니다. 이 과정에서 세 차례의 반복 시뮬레이션을 통해 오버플로우 공격과 UX 보안 공백 등 실질적인 결함 16건을 발견하며 1인 개발 환경에서도 공학적이고 정교한 검증이 가능함을 확인했습니다. 결국 AI는 단순한 기능 구현의 도구를 넘어 설계자의 논리적 편향을 깨고 시스템의 완성도를 함께 책임지는 가장 든든한 동료라는 사실을 배울 수 있었던 실험이었습니다.
Grit Original[Troubleshooting] 동시 접속 30만(CCU) 속에서 살아남기
외부 서비스 장애 전파 차단 전략 > "외부 서비스의 장애가 내 서비스의 죽음을 의미해선 안 된다."
Agents에는 더 많은 프롬프트가 아니라 제어 흐름이 필요하다
안정적인 에이전트는 정교한 프롬프트가 아니라 소프트웨어에 인코딩된 결정적 제어 흐름이 필요하다. 'MANDATORY', 'DO NOT SKIP' 강제 표현은 한계. 자연어에서 런타임으로 로직 이전, 명시적 상태 전이+검증 체크포인트, 작은 결정적 단위로 분해 후 LLM은 구성요소로.
API 기반 크롤링?
API 기반 크롤링?
여기서 핵심은 **“크롤링 = 인터넷에서 데이터 수집”**인데, 방법이 두 가지가 있습니다. 1) API 기반 수집 (= 합법적이고 안정적) 카카오, 네이버 같은 포털은 **“API”**라는 공식 통로를 제공합니다. 이 API는 단순히 HTML을 긁는 게 아니라 **JSON 형식의 데이터(가게 이름, 주소, 전화번호, 좌표 등)**를 정리해서 줍니다. 이걸 사용하려면 카카오 개발자센터에서 API Key를 발급받아야 합니다. → 왜? 누가 얼마나 호출했는지 추적하고, 트래픽을 제한하기 위해서예요. 즉, 장점: 구조화된 데이터, 법적 ...
LIS(최장증가 부분 수열)
기술 에세이LIS(최장증가 부분 수열)
예외 케이스 스스로 생각할 수 있어야 함. dp[i] 정의: i까지의 수열 중 가장 길게 증가하는 부분 (i를 포함한다)-->포함하든 안하든 답은 상관 없는데 주로 포함하는걸로 <점화식> dp[i] = 1 dp[i] = max(dp[j] + 1) (j < i && arr[j] < arr[i]) dp : O(n^2) dp[] 배열의 최댓값을 구하면 됨 1~i까지 중 0~i-1까지 중 이분탐색 : O(nlogn), 오름차순 정렬된 상태에서 가능한 이분탐색 -> 새로운 수열 b[] 선언. b[len]: 길이가 len인 lis의 마지막 값...
사례를 통한 멱등성의 중요성
사례를 통한 멱등성의 중요성
1. 멱등성이란?멱등성(Idempotency)이란 동일한 요청이 여러 번 수행되더라도 결과는 한 번만 발생하는 성질을 의미한다.HTTP 관점에서 보면 GET이나 PUT은 멱등성을 가지는 메서드로 분류되지만, POST는 기본적으로 멱등하지 않다. 이 정의 자체는 비교적 잘 알려져 있다.그렇다면 실제 서비스, 특히 결제와 같이 금전이 오가는 영역에서는 멱등성이 어떻게 활용될까? 이제 이 개념이 실무에서 어떤 의미를 가지는지 살펴보자. 2. 실무에서의 멱등성실제 결제 시스템에서 발생할 수 있는 상황을 하나 가정해보자. 1. 사용자가 결제 요청을 보냈다. (주문번호 :15834)2. 서버 응답이 지연되어 타임아웃이 발생했다.3. 사용자는 결제가 실패한 것으로 생각하고 다시 요청을 보냈다.4. 이후 결제 성공 응..
React 및 Next.js에서 다수의 보안 취약점 공개, 즉시 패치 권고
React 팀과 Vercel이 RSC와 Next.js 12건 취약점(High 6/Moderate 4/Low 2) 동시 공개. DoS, 미들웨어 우회, SSRF, XSS, 캐시 포이즈닝 포함. 패치: React 19.0.6/19.1.7/19.2.6, Next.js 15.5.16/16.2.5+. 일부는 WAF로 차단 불가.
[JAVA] PriorityQueue - 우선순위 큐
기술 에세이[JAVA] PriorityQueue - 우선순위 큐
기존에 큐에 대해서 다룬적이 있었는데, 이번 주차 알고리즘은 '그래프'! 였다! 그래프 이론에 대해 공부하다가 우선순위 큐에 대해 알아야할 것 같아서 따로 빠르게 정리해보고자 한다! 01. PriorityQueue란? 일반적인 큐의 구조 FIFO(First In First Out)를 가짐 대신, 들어온 순서대로 나가는 것이 아닌 우선순위를 먼저 결정하고 높은 데이터가 먼저 나가는 자료구조 * 우선순위큐에 저장할 객체는 Comparable Interface를 구현해야한다 ->이때 comparaTo method를 오바라이드하여 구현해줘...
Grit OriginalAI가 다 해주는데 신입인 저는 뭘 해야 하죠? — 8개월차 후배가 물었다
"AI가 있는데 제가 꼭 필요한가요?" 8개월차 후배가 물었다. SI 3년차인 내가 했던 고민과 똑같았다. 코드를 잘 짜는 것보다 중요해진 건 "질문하는 능력"이었다. 커피챗에서 나눈 이야기, 그리고 끝나고 내가 배운 것을 정리했다.
Grit Original당신은 코딩을 하고 있습니까, 서비스 개발을 하고 있습니까?
Redis 기반 한정판 운동화 쇼핑몰 설계를 통해 바라본 개발 관점의 변화. 기능 구현 중심 개발에서 서비스 설계로 확장된 경험을 정리했습니다.
Backoffice AI Agent 구축기 — RAG+MCP 기반 플레이스AI 특화 지식 검색 시스템
기술 에세이Backoffice AI Agent 구축기 — RAG+MCP 기반 플레이스AI 특화 지식 검색 시스템
네이버 플레이스가 RAG+MCP 3계층 아키텍처로 사내 문서 검색을 해결한 구축기. Milvus+OpenSearch 이원화, Dense+BM25+RRF 하이브리드 검색, LLM-as-a-Judge 20개 실험. 결과: 응답 만족도 2배, 토큰 66% 감소, 툴 호출 49% 감소.
스스로를 주니어라고 부르는 3년차 개발자에게
스스로를 주니어라고 부르는 3년차 개발자에게
멘토링을 200명 넘게 하면서 이 말을 정말 많이 들었습니다. 3년차인데 아직 스스로를 주니어라고 부르는 사람들. 차이는 연차가 아닙니다.
Grit OriginalSOLID를 외웠지만, 면접관은 왜 필요하냐고 물었다.
"왜 필요한데요?" 면접에서 "SOLID 원칙 아시나요?"라는 질문에 5개 원칙을 말했다. Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, Dependency Inversion. 면접관이 고개를 끄덕이며 후속 질문을 한다. "그래서, 왜 필요한데요?" 이 순간 침묵이 흐른다면, 이력서에 적힌 "SOLID"는 오히려 마이너스가 된다. 외운 사람과 이해한 사람의 차이가 드러나는 지점이기 때문이다. 나는 이 질문 앞에서 멈춘 적이 있다. 이 글...
아키텍처의 본질
Toprank — SEO·광고 관리용 Claude Code 플러그인
Google Search Console, Google Ads, Meta Ads 데이터를 Claude Code 안에서 분석·운영하는 오픈소스 플러그인 (MIT). 16+ 스킬을 SEO·광고 카테고리로 묶고, 커넥터 없을 때도 graceful degradation으로 동작하는 unconstrained tool design. Claude Desktop·Cursor 등 MCP 클라이언트 호환.
[FairBid] Claude, GPT, Gemini... 서비스에 가장 잘 맞는 모델을 찾는 과정
[FairBid] Claude, GPT, Gemini... 서비스에 가장 잘 맞는 모델을 찾는 과정
FairBid의 AI 가격 추천에 가장 잘 맞는 모델을 찾기 위해 Claude, GPT-5.1, Gemini를 정확도·지연시간·이미지 거부율·가격 편향 방향까지 다각도로 비교했습니다. 그 결과 안정성과 정확도를 모두 잡은 Claude를 가격 산정에, 품질이 대등하면서 한도가 넉넉한 Gemini를 설명문 생성에 배치하는 역할 분할 구조로 정착했습니다. 다만 측정 과정에서 골든 데이터셋의 주관성과 LLM-Judge의 비결정성 같은 한계를 마주하며 '진짜 측정'은 어떻게 가능할지에 대한 숙제를 남겼습니다.
서울시 25개 전체 구 카페정보를 최대한 많이 수집하는 전략?
서울시 25개 전체 구 카페정보를 최대한 많이 수집하는 전략?
지금처럼 “강남구 하나만”은 간단히 API 돌리면 되지만, 서울시 25개 구 전체를 실서비스 수준으로 커버하려면 조금 전략적으로 접근해야 합니다. 카카오 API의 구조적 한계 한 번 요청으로 size ≤ 15 page ≤ 45 즉, 최대 15 × 45 = 675개 **정렬 기준 변경(accuracy vs distance)**은 결과 순서만 바뀌고 총량 제한은 그대로 즉, 구 단위 좌표 1개만 주면 많은 카페가 누락될 수밖에 없습니다. ✅ 실서비스처럼 최대한 많이 모으는 전략 1. 좌표 분할 (Grid Search / 격자 검색) 각...
이분탐색(나무 자르기, 랜선 자르기)
이분탐색(나무 자르기, 랜선 자르기)
[나무 자르기] 주어진 나무 길이 정렬 후 절단기 높이 기준으로 이분탐색한다고 생각하기. 시작값: 0 종료값: 나무 길이의 최댓값 최적화 문제가 아니라 결정 문제라고 생각하는 것이 핵심!그러고 나서 최댓값은 end(종료값을 출력하면 자동으로 최댓값 출력) sum<W 말고 sum>=일 때 부분 처리 좀 더 최적화할 순 없나? [랜선 자르기] 자료형. 범위 주의!!

화상면접 4번 뚫고 입사한 시니어 개발자, 노트북 받자마자 25분 만에 멀웨어 깔았다
미국 법무부가 북한 IT 인력 침투를 도운 미국 시민권자 2명에게 실형을 선고한 사건 정리. KVM 스위치로 중국에서 원격 근무, 미국인 80명 신원 도용, 기업 100곳 피해, 약 500만 달러 유출. ITAR 통제 데이터까지 유출된 사례도 있었다.
20 / 262개의 아티클




