AI 코드 리뷰 봇 구축기 | Bedrock과 GitLab CI로 구현하는 자동화
안녕하세요, 오늘은 최근 사내 개발 프로세스 혁신을 위해 구축한 AI 코드 리뷰 자동화 봇 ‘dspCRBot’의 제작기를 공유하고자 합니다. 단순히 AI를 도입한 것을 넘어, 사내망(VPC) 보안 제약과 타임아웃 문제를 어떻게 기술적으로 해결했는지, 그리고 AI 리뷰의 신뢰도를 어떻게 객관적으로 검증했는지에 대한 과정을 담았습니다. Slack 알...
안녕하세요, 오늘은 최근 사내 개발 프로세스 혁신을 위해 구축한 AI 코드 리뷰 자동화 봇 ‘dspCRBot’의 제작기를 공유하고자 합니다. 단순히 AI를 도입한 것을 넘어, 사내망(VPC) 보안 제약과 타임아웃 문제를 어떻게 기술적으로 해결했는지, 그리고 AI 리뷰의 신뢰도를 어떻게 객관적으로 검증했는지에 대한 과정을 담았습니다. Slack 알...
📌 이 글은 TDD 시리즈 중 4편입니다. 1편: Vitest 전환과 커버리지 기반 품질 관리 2편: 주간 커버리지 대시보드로 시각화하기 3편: 커버리지 측정 및 자동화 시스템 구축 (GitLab + Vitest) 안녕하세요, 최근 사내 Tech 부문에서 진행한 ‘Vitest로 안정적인 프론트엔드 개발하기’ 발표 내용을 블로그 글로 정리하여 공...
📌 이 글은 TDD 시리즈 중 3편입니다. 1편: Vitest 전환과 커버리지 기반 품질 관리 2편: 주간 커버리지 대시보드로 시각화하기 4편: Tech 발표, Vitest로 안정적인 프론트엔드 개발하기 1. 도입 배경 프론트엔드 프로젝트에서 테스트 자동화 및 커버리지 관리 필요성 증가 MR(Merge Request) 시점에 자동으로...
📌 이 글은 TDD 시리즈 중 2편입니다. 1편: Vitest 전환과 커버리지 기반 품질 관리 3편: 커버리지 측정 및 자동화 시스템 구축 (GitLab + Vitest) 4편: Tech 발표, Vitest로 안정적인 프론트엔드 개발하기 1. 개요 사내 BigBro UI는 Next.js + TypeScript 기반의 프론트엔드 모니터링 시스템...
📌 이 글은 TDD 시리즈 중 1편입니다. 2편: 주간 커버리지 대시보드로 시각화하기 3편: 커버리지 측정 및 자동화 시스템 구축 (GitLab + Vitest) 4편: Tech 발표, Vitest로 안정적인 프론트엔드 개발하기 1. 문제 상황 또는 동기 (Motivation) 기존에는 테스트 코드의 필요성을 크게 느끼지 못했으나, 실제 ...
📌 이 글은 LTS 업그레이드 중 2편입니다. 1편: nvm 순차 전환과 Sass 로더 호환성 정리 1. 들어가며 최근 프로젝트 환경을 Node.js LTS 16 → 22로 업그레이드했습니다. 일부 서비스는 vite를 사용하고 있어 큰 문제가 없었지만, webpack@4 기반 서비스에서는 예상치 못한 이슈들이 발생했습니다. 이번 글에서는 실...
1. 개요 Playwright MCP(Model Context Protocol)를 활용한 E2E 테스트 작성 및 실행 여행서비스(국내숙소)의 주요 시나리오를 모바일 환경에서 테스트 Cursor와 Playwright MCP를 연동하여 자연어 기반 테스트 시나리오 작성 및 자동화 2. 테스트 작성 규칙 및 절차 2.1 테스트 작성 ...
📌 이 글은 GitLab CI × Slack Webhook 중 4편입니다. 1편: Freeze-Free MR Pipeline 설계 2편: Freeze-Window 차단·MR 알림·외부 Include 자동화 3편: 사용자별 프로필 이모지 맞춤 적용 1. 주요 기능 요약 Slack Incoming Webhook (mr_machine job) ...
📌 이 글은 MSW 시리즈 중 3편입니다. 1편: MSW란? 2편: Mock API Schema 자동 생성하기 부제: MSW를 어떻게 해야 편하게 쓸 수 있을까 MSW 기능을 구현했다고 해도, 실질적으로 쓰기 편해야 팀원들이 활용할 수 있습니다. 그래서 이번 글에서는 현재 프로젝트에서 사용 중인 modulesPlugin 패턴을 참고해, Vue...
📌 이 글은 MSW 시리즈 중 2편입니다. 1편: MSW란? 3편: Plugin 방식으로 제공하기 1. 배경 (Motivation) MSW를 활용해 모의 데이터를 만들 때는 실제 API 형식과 동일한 데이터 구조가 필요합니다. 하지만 이 과정을 사람이 직접 정의하다 보면 휴먼 에러 가능성과 반복 작업의 피로도가 큽니다. 👉 그래서 Swagge...