개발 용어사전 — 꼭 알아야 할 30개
입사 첫 주, 스프린트 기획 회의에 들어갔더니 선배들이 "이번 스프린트에서는 멱등성을 보장하도록 API를 리팩토링하고 CI/CD 파이프라인에 카나리 배포를 태웁시다"라고 이야기합니다. 외계어처럼 들리는 이 단어들, 실무에서 매일 쓰이는 핵심 개발 용어 30가지를 분야별로 명쾌하게 정리했습니다.
1. 아키텍처 및 프로그래밍 기초 (1~8)
1. CI/CD (Continuous Integration / Continuous Deployment)
코드 변경 사항을 자동으로 빌드·테스트하여 통합(CI)하고, 프로덕션 서버에 자동으로 안전하게 배포(CD)하는 파이프라인 자동화 기술.
2. 멱등성 (Idempotency)
동일한 연산을 몇 번을 연속해서 수행하더라도 결과가 항상 달라지지 않는 성질. 예: GET, PUT, DELETE는 멱등하지만, POST(중복 결제 위험)는 멱등하지 않음.
3. 기술 부채 (Technical Debt)
빠른 출시를 위해 임시방편(스파게티 코드, 하드코딩)으로 짠 코드가 훗날 기능 추가와 유지보수를 어렵게 만드는 이자 비용.
4. 리팩토링 (Refactoring)
외부로 드러나는 동작(기능)은 그대로 유지하면서 내부 코드의 가독성, 유지보수성, 성능을 개선하는 작업.
5. 레거시 코드 (Legacy Code)
과거에 작성되어 현재까지 쓰이고 있으나 테스트 코드가 없거나, 문서화가 부실하고 수정하기 두려운 오래된 코드.
6. ORM (Object-Relational Mapping)
SQL 쿼리를 직접 작성하지 않고 객체지향 언어의 클래스/객체로 데이터베이스 데이터를 조작할 수 있게 돕는 도구 (Prisma, JPA, TypeORM).
7. 마이크로서비스 (MSA, Microservices Architecture)
하나의 거대한 서비스(Monolithic)를 도메인별(회원, 주문, 결제) 독립된 작은 서비스 단위로 쪼개어 API로 통신하는 아키텍처.
8. 비동기 논블로킹 (Async Non-Blocking)
작업을 요청한 뒤 결과가 올 때까지 기다리지 않고 제어권을 즉시 반환받아 다음 작업을 처리하는 방식 (Node.js의 핵심 철학).
2. 웹 네트워크 & 통신 (9~16)
9. CORS (Cross-Origin Resource Sharing)
브라우저 보안을 위해 서로 다른 출처(도메인, 포트, 프로토콜) 간의 리소스 요청을 제한하거나 허용하는 웹 표준 정책.
10. DNS (Domain Name System)
사람이 읽기 쉬운 도메인 이름(example.com)을 컴퓨터가 이해하는 IP 주소(192.0.2.1)로 변환해 주는 인터넷 전화번호부.
11. 로드 밸런서 (Load Balancer)
트래픽이 폭주할 때 여러 대의 백엔드 서버로 네트워크 트래픽을 골고루 분산해 주는 교통정리 시스템 (Nginx, AWS ALB).
12. 캐싱 (Caching / Redis)
자주 조회되는 무거운 DB 쿼리나 파일 결과를 초고속 인메모리(RAM)에 임시 저장하여 응답 속도를 극대화하는 기법.
13. 웹소켓 (WebSocket)
클라이언트와 서버 간에 한 번 연결을 맺으면 양방향으로 실시간 데이터를 계속 주고받을 수 있는 프로토콜 (채팅, 주식 시세).
14. SSL / TLS (HTTPS)
웹 브라우저와 웹 서버 간의 통신 데이터를 암호화하여 중간자의 패킷 탈취나 변조를 방지하는 보안 계층.
15. JWT (JSON Web Token)
사용자의 인증/인가 정보를 서명(Signature)된 JSON 형태로 클라이언트가 보관하여 서버의 세션 저장소 없이 검증하는 토큰 방식.
16. Rate Limiting (처리율 제한)
특정 IP나 유저가 1초에 수천 번 API를 호출하지 못하도록 초당 요청 수를 제한하여 서비스 다운을 막는 방어 기법.
3. Git & 협업 (17~23)
17. PR / MR (Pull Request / Merge Request)
내가 작업한 브랜치의 변경 사항을 메인 코드베이스에 반영해 달라고 동료들에게 검토(코드리뷰)를 요청하는 작업.
18. Rebase vs Merge
브랜치 병합 시 커밋 히스토리를 한 줄로 깔끔하게 정리하는 Rebase와, 병합 커밋(Merge Commit)을 남기며 히스토리를 보존하는 Merge의 차이.
19. Cherry-pick (체리픽)
다른 브랜치에 있는 수많은 커밋 중 내가 원하는 특정 커밋 1개만 쏙 뽑아서 현재 브랜치로 가져오는 Git 명령어.
20. Git Stash (임시 저장)
아직 커밋하기엔 미완성인 코드 변경 사항을 임시 스택 영역에 안전하게 숨겨두고 깨끗한 워킹 디렉토리로 돌아가는 기능.
21. Git Hook (Husky)
커밋(commit)이나 푸시(push) 직전에 자동으로 린트(Lint) 검사나 테스트 스크립트를 실행하도록 강제하는 스크립트.
22. Merge Conflict (충돌)
같은 파일의 같은 라인을 두 명의 개발자가 동시에 수정했을 때 Git이 어떤 코드를 반영할지 판단하지 못해 수동 해결을 요구하는 상태.
23. 스프린트 (Sprint & Daily Scrum)
보통 1~2주 단위로 목표 기능을 계획·개발·검증하는 애자일 개발 주기 및 매일 아침 10분간 진행 상황을 공유하는 짧은 미팅.
4. 운영, 인프라 & 데이터 (24~30)
24. 온콜 (On-call)
서비스 운영 중 야간이나 주말에 심각한 장애가 발생했을 때 즉각 호출되어 문제를 해결하는 당번 엔지니어링 역할.
25. 핫픽스 (Hotfix) & 롤백 (Rollback)
운영 환경에서 발생한 치명적 버그를 즉시 긴급 패치하는 핫픽스와, 배포 직후 장애 발생 시 이전 버전으로 즉시 되돌리는 롤백.
26. SLA (Service Level Agreement) / SLO
서비스 가동률(예: 99.99% 업타임)과 성능에 대해 고객 또는 팀 내부적으로 약속한 공식적인 서비스 수준 목표.
27. APM & 로깅 (Application Performance Monitoring)
Sentry, Datadog 등을 활용해 실시간 에러 추적, 서버 CPU/메모리 부하, 응답 지연 구간을 추적하는 모니터링 시스템.
28. 카나리 배포 (Canary Deployment)
광산의 카나리아 새처럼, 신규 버전을 전체 유저 중 5~10%에게만 먼저 배포해 오류를 감시한 뒤 점진적으로 확대하는 무중단 배포 기법.
29. 도커 컨테이너 (Docker Container)
애플리케이션과 실행에 필요한 모든 환경(OS 라이브러리, 의존성)을 하나로 패키징하여 어떤 서버 환경에서도 동일하게 동작시키는 가상화 기술.
30. 인덱스 튜닝 (DB Indexing)
수백만 건의 데이터 속에서 특정 조건의 데이터를 순식간에 찾을 수 있도록 색인(Index)을 설계하고 슬로우 쿼리를 최적화하는 작업.
⚠️ 안내 및 면책 조항
본 용어사전은 주니어 개발자의 실무 적응을 돕기 위해 작성된 개념 가이드입니다. 새로운 기술 학습과 업무 적응 과정에서의 스트레스로 마음의 도움이 필요하시다면 언제든 전문 상담기관에 문의하세요.
• 보건복지부 자살예방 상담전화: 국번없이 109 (24시간 운영)
• 정신건강 위기상담전화: 1577-0199
← 홈 |
소개 |
개인정보처리방침