코딩만 잘한다고 좋은 개발자가 되는 것은 아닙니다. 디버깅, 테스트, 성능 최적화, 협업 문화까지 실전에서 쓰이는 용어를 알아야 합니다. 시리즈 마지막 4편에서는 실전 개발 용어와 AI 시대의 새로운 용어를 정리합니다.
📚 개발 용어 총정리 시리즈
- 1편: 프로그래밍 기초 용어
- 2편: 웹 개발 용어
- 3편: 서버·인프라·DevOps 용어
- 4편: 실전 & AI 시대 용어 ← 현재 글
디버깅과 에러 처리
디버깅(Debugging): 코드에서 버그(오류)를 찾아 수정하는 과정입니다. 개발 시간의 상당 부분을 차지합니다.
스택 트레이스(Stack Trace): 에러가 발생했을 때 호출 경로를 보여주는 정보입니다. 에러의 원인 파일과 줄 번호를 알 수 있어 디버깅의 핵심 단서입니다.
브레이크포인트(Breakpoint): 코드 실행을 특정 지점에서 멈추게 하는 디버깅 도구입니다. 변수 값을 확인하고 단계별로 실행할 수 있습니다.
로깅(Logging): console.log()처럼 실행 중 정보를 기록하는 것입니다. 프로덕션에서는 구조화된 로깅(JSON 형태)을 사용합니다.
에러 핸들링(Error Handling): 예상치 못한 오류가 발생했을 때 앱이 죽지 않도록 처리하는 것입니다. try/catch, Error Boundary 등을 사용합니다.
예외(Exception): 프로그램 실행 중 발생하는 비정상적인 상황입니다. 네트워크 끊김, 파일 없음, 권한 부족 등이 있습니다.
테스트
단위 테스트(Unit Test): 함수나 컴포넌트 하나를 독립적으로 테스트하는 것입니다. Jest, Vitest 등으로 작성합니다.
통합 테스트(Integration Test): 여러 모듈이 함께 동작하는 것을 테스트합니다. API와 데이터베이스가 제대로 연동되는지 확인합니다.
E2E 테스트(End-to-End Test): 사용자 관점에서 전체 플로우를 테스트합니다. Playwright, Cypress 등으로 "로그인 → 글 작성 → 발행" 같은 시나리오를 자동화합니다.
TDD (Test-Driven Development): 테스트를 먼저 작성하고, 테스트를 통과하는 코드를 나중에 작성하는 개발 방식입니다.
커버리지(Coverage): 테스트가 전체 코드 중 얼마나 많은 부분을 검증하는지의 비율입니다. 80% 이상이면 일반적으로 양호합니다.
모킹(Mocking): 테스트에서 외부 의존성(API, DB)을 가짜 데이터로 대체하는 것입니다. 테스트를 빠르고 독립적으로 실행할 수 있게 합니다.
성능 최적화
레이지 로딩(Lazy Loading): 필요한 시점에 리소스를 로드하는 기법입니다. 이미지나 컴포넌트를 화면에 보일 때 로드해서 초기 로딩 속도를 높입니다.
코드 스플리팅(Code Splitting): JavaScript 번들을 여러 조각으로 나눠서 필요한 것만 로드하는 기법입니다.
캐싱(Caching): 자주 사용하는 데이터를 임시 저장해서 재요청을 줄이는 것입니다. 브라우저 캐시, Redis, CDN 캐시 등이 있습니다.
디바운스(Debounce): 연속된 이벤트 중 마지막 것만 실행하는 기법입니다. 검색창 자동완성에서 타이핑이 멈춘 후 요청을 보내는 것이 예시입니다.
쓰로틀(Throttle): 일정 시간 간격으로 이벤트를 제한하는 기법입니다. 스크롤 이벤트에서 1초에 한 번만 처리하는 것이 예시입니다.
메모이제이션(Memoization): 함수의 결과를 캐시해서 같은 입력에 대해 재계산하지 않는 것입니다. React의 useMemo, React.memo가 대표적입니다.
개발 문화와 협업
Git: 코드의 변경 이력을 관리하는 버전 관리 시스템입니다. 거의 모든 개발팀이 사용합니다.
PR (Pull Request): 내 코드를 메인 브랜치에 합치기 전에 리뷰를 요청하는 과정입니다.
코드 리뷰(Code Review): 다른 개발자가 내 코드를 검토하는 과정입니다. 버그 발견, 품질 향상, 지식 공유의 역할을 합니다.
애자일(Agile): 짧은 주기로 개발하고 피드백을 반영하는 개발 방법론입니다. 스프린트, 스크럼, 칸반 등의 세부 방법론이 있습니다.
리팩토링(Refactoring): 기능은 그대로 유지하면서 코드의 구조와 가독성을 개선하는 작업입니다.
기술 부채(Tech Debt): 빠른 개발을 위해 타협한 코드가 나중에 문제를 일으키는 것을 말합니다. 부채처럼 이자가 쌍여 나중에 더 큰 비용이 됩니다.
MVP (Minimum Viable Product): 핵심 기능만 구현한 최소 제품입니다. 빠르게 시장에 내놓고 피드백을 받기 위한 전략입니다.
AI 시대의 새로운 용어
LLM (Large Language Model): GPT, Claude 같은 대형 언어 모델입니다. 텍스트를 이해하고 생성하는 AI의 핵심 기술입니다.
프롬프트(Prompt): AI에게 주는 지시문입니다. 프롬프트를 어떻게 작성하느냐에 따라 AI의 출력 품질이 달라집니다.
AI Agent: 스스로 계획하고 도구를 사용해 작업을 수행하는 AI입니다. Claude Code가 대표적인 코딩 에이전트입니다.
MCP (Model Context Protocol): AI 모델이 외부 도구와 데이터에 접근하기 위한 프로토콜입니다. AI가 파일을 읽거나 API를 호출할 수 있게 해주는 다리 역할을 합니다.
RAG (Retrieval-Augmented Generation): AI가 답변할 때 외부 문서를 검색해서 참고하는 기법입니다. 할루시네이션을 줄이고 정확도를 높입니다.
할루시네이션(Hallucination): AI가 사실이 아닌 내용을 마치 사실인 것처럼 생성하는 현상입니다. AI 도구를 사용할 때 항상 검증이 필요한 이유입니다.
AX (AI Transformation): AI를 비즈니스 전반에 내재화하는 전환을 의미합니다. DX(디지털 전환)의 다음 단계입니다.
바이브코딩(Vibe Coding): AI에게 자연어로 지시해서 코드를 작성하는 새로운 개발 방식입니다. "느낌(vibe)을 전달하면 AI가 코드로 구현한다"는 의미입니다.
시리즈를 마치며
4편에 걸쳐 개발 용어를 정리했습니다. 프로그래밍 기초부터 웹 개발, 서버 인프라, 그리고 AI 시대의 최신 용어까지 — 이 시리즈가 개발 여정의 나침반이 되기를 바랍니다.
개발 용어는 끊임없이 새로 생기고 변합니다. 모든 용어를 외울 필요는 없지만, 핵심 개념을 이해하고 있으면 새로운 기술을 배울 때 훨씬 수월합니다.
이 시리즈를 북마크해두고, 모르는 용어가 나올 때마다 돌아와서 확인해보세요.