요즘 Ai 바이브 코딩이 핫한데, 용어를 잘 몰라서 제대로 접근하지 못하는 개념이 있습니다. 이런 용어들만 어느 정도 알아놓으면 Ai 바이브 코딩을 할 때 도움이 된다고 생각하여 작성해보았습니다. 시간 날 때 보거나 단어를 보고 궁금해지는 게 있으면 더 검색하거나 Ai를 통해 질문하면 학습 효율이 올라갈 수 있을 겁니다.
개발자 필수 용어 100개

개발 필수 용어 #100
개발자 필수 용어 100개 – 쉬운 비유와 설명
개발 공부를 시작하거나 현업에서 소통할 때 꼭 알아야 할 핵심 용어들을 쉬운 비유와 함께 정리했습니다.
개발 공부를 시작하거나 현업에서 소통할 때 꼭 알아야 할 핵심 용어들을 쉬운 비유와 함께 정리했습니다.
개발자 필수 용어 100개 – 쉬운 비유와 설명
개발 공부를 시작하거나 현업에서 소통할 때 꼭 알아야 할 핵심 용어들을 쉬운 비유와 함께 정리했습니다.
📚 기본 프로그래밍 개념
1. 함수(Function)
정의: 특정 작업을 수행하는 코드 블록
비유: 커피머신처럼 원료(매개변수)를 넣으면 완성품(결과값)이 나오는 기계
예시: calculateTax(price)
– 가격을 넣으면 세금을 계산해서 돌려주는 함수
2. 변수(Variable)
정의: 데이터를 저장하는 메모리 공간
비유: 이름표가 붙은 상자. 상자 안에 물건(값)을 넣고 빼고 바꿀 수 있음
예시: let userName = "김개발"
– userName이라는 상자에 “김개발”이라는 값을 저장
3. 클래스(Class)
정의: 객체를 만들기 위한 설계도나 틀
비유: 붕어빵 틀. 하나의 틀로 여러 개의 붕어빵(객체)을 만들 수 있음
예시: Car
클래스로 myCar
, yourCar
등 여러 자동차 객체 생성
4. 객체(Object)
정의: 클래스로부터 생성된 실제 인스턴스
비유: 붕어빵 틀(클래스)로 만든 실제 붕어빵
예시: new Car()
로 생성한 실제 자동차 객체
5. 메서드(Method)
정의: 클래스나 객체가 가진 함수
비유: 자동차의 시동걸기, 브레이크 등의 기능
예시: car.start()
– 자동차 객체의 시동 메서드
6. 프로퍼티(Property) / 속성(Attribute)
정의: 객체가 가진 데이터나 특성
비유: 자동차의 색깔, 브랜드, 연식 등의 특징
예시: car.color = "red"
– 자동차의 색깔 속성
7. 배열(Array)
정의: 순서가 있는 데이터들의 집합
비유: 일렬로 번호가 매겨진 사물함들
예시: [1, 2, 3, 4, 5]
– 숫자들이 순서대로 저장된 배열
8. 반복문(Loop)
정의: 같은 작업을 여러 번 반복하는 구문
비유: 운동할 때 “팔굽혀펴기 10번” 하는 것처럼 같은 동작 반복
예시: for(let i=0; i<10; i++)
– 0부터 9까지 10번 반복
9. 조건문(Conditional Statement)
정의: 특정 조건에 따라 다른 코드를 실행하는 구문
비유: “비가 오면 우산을 챙기고, 안 오면 챙기지 않는다”
예시: if(weather === "rain") { takeUmbrella(); }
10. 상속(Inheritance)
정의: 부모 클래스의 특성을 자식 클래스가 물려받는 것
비유: 부모의 DNA를 물려받되, 자신만의 특징도 가지는 것
예시: Vehicle
클래스를 상속받은 Car
, Bike
클래스
🌐 웹 개발 용어
11. HTML
정의: 웹페이지의 구조를 정의하는 마크업 언어
비유: 집의 기본 골조와 구조
예시: <h1>제목</h1>
, <p>본문</p>
등으로 페이지 구조 생성
12. CSS
정의: 웹페이지의 스타일과 디자인을 정의하는 언어
비유: 집의 인테리어와 장식
예시: color: red;
– 글자색을 빨간색으로 변경
13. JavaScript
정의: 웹페이지에 동적인 기능을 추가하는 프로그래밍 언어
비유: 집의 전자제품들 (에어컨, TV 등 작동시키는 것)
예시: 버튼 클릭시 알림창 띄우기
14. DOM (Document Object Model)
정의: HTML 문서의 구조를 객체로 표현한 모델
비유: 가계도처럼 웹페이지의 요소들 간의 관계를 나타내는 구조
예시: JavaScript로 document.getElementById()
를 사용해 HTML 요소 조작
15. API (Application Programming Interface)
정의: 서로 다른 프로그램 간에 소통할 수 있게 해주는 인터페이스
비유: 레스토랑의 메뉴판. 주문(요청)하면 음식(데이터)을 가져다줌
예시: 날씨 API에 요청해서 현재 날씨 정보를 받아오기
16. HTTP (HyperText Transfer Protocol)
정의: 웹에서 데이터를 주고받는 통신 규칙
비유: 우편 배송 시스템의 규칙 (주소 형식, 배송 방법 등)
예시: 브라우저가 웹서버에 페이지를 요청할 때 사용
17. GET / POST
정의: HTTP 요청 방식. GET은 데이터 조회, POST는 데이터 전송
비유: GET은 도서관에서 책 보기, POST는 우체국에 편지 보내기
예시: 검색은 GET, 로그인은 POST 방식 사용
18. JSON (JavaScript Object Notation)
정의: 데이터를 주고받을 때 사용하는 가벼운 데이터 형식
비유: 국제적으로 통용되는 공통 언어
예시: {"name": "김개발", "age": 25}
– 사람 정보를 JSON으로 표현
19. AJAX
정의: 페이지 새로고침 없이 서버와 데이터를 주고받는 기술
비유: 전화로 피자 주문하기 (집에서 나가지 않고도 피자를 받을 수 있음)
예시: 댓글 작성 시 페이지 새로고침 없이 댓글만 추가되는 것
20. 프론트엔드(Frontend)
정의: 사용자가 직접 보고 상호작용하는 화면 부분
비유: 상점의 진열창과 판매 공간
예시: 웹페이지의 버튼, 메뉴, 화면 디자인 등
21. 백엔드(Backend)
정의: 사용자에게 보이지 않는 서버, 데이터베이스 등의 시스템
비유: 상점의 창고와 관리 사무실
예시: 회원가입 정보 저장, 결제 처리 등
22. 풀스택(Full-stack)
정의: 프론트엔드와 백엔드를 모두 다룰 수 있는 개발자나 기술
비유: 요리부터 서빙까지 모든 것을 할 수 있는 만능 요리사
예시: 웹사이트의 화면 디자인부터 서버 구축까지 모두 담당
🗄️ 데이터베이스
23. 데이터베이스(Database)
정의: 데이터를 체계적으로 저장하고 관리하는 시스템
비유: 잘 정리된 도서관. 책(데이터)을 쉽게 찾고 관리할 수 있음
예시: 회원 정보, 상품 정보 등을 저장하는 MySQL, PostgreSQL
24. SQL (Structured Query Language)
정의: 데이터베이스에서 데이터를 조회하고 조작하는 언어
비유: 도서관 사서에게 말하는 표준화된 요청 방식
예시: SELECT * FROM users
– users 테이블의 모든 데이터 조회
25. 테이블(Table)
정의: 데이터베이스에서 데이터를 행과 열로 정리한 구조
비유: 엑셀 스프레드시트
예시: 회원 테이블 (ID, 이름, 이메일, 가입일 등의 컬럼)
26. CRUD
정의: Create(생성), Read(읽기), Update(수정), Delete(삭제)의 기본 작업
비유: 메모장 앱의 기본 기능들 (쓰기, 읽기, 수정하기, 지우기)
예시: 게시판의 글쓰기, 보기, 수정, 삭제 기능
27. 기본키(Primary Key)
정의: 테이블에서 각 행을 고유하게 식별하는 컬럼
비유: 주민등록번호나 학번처럼 중복되지 않는 고유 번호
예시: 회원 테이블의 member_id
28. 외래키(Foreign Key)
정의: 다른 테이블의 기본키를 참조하는 컬럼
비유: 도서관 책에 적힌 저자 정보가 저자 테이블을 참조하는 것
예시: 주문 테이블의 customer_id가 고객 테이블의 id를 참조
29. 인덱스(Index)
정의: 데이터 검색 속도를 높이기 위한 데이터 구조
비유: 책의 목차나 색인. 원하는 내용을 빠르게 찾을 수 있게 해줌
예시: 이름으로 검색할 때 빠르게 찾기 위한 name_index 생성
30. 트랜잭션(Transaction)
정의: 여러 데이터베이스 작업을 하나의 단위로 묶은 것
비유: 계좌 이체시 출금과 입금이 모두 성공하거나 모두 실패해야 하는 것
예시: 주문 처리 시 재고 감소와 주문 생성이 함께 성공해야 함
🏗️ 소프트웨어 아키텍처
31. MVC (Model-View-Controller)
정의: 애플리케이션을 3개 영역으로 나누는 디자인 패턴
비유: 레스토랑의 주방(Model), 홀(View), 매니저(Controller)
예시: 데이터(Model), 화면(View), 로직 처리(Controller)로 분리
32. 프레임워크(Framework)
정의: 애플리케이션 개발을 위한 기본 구조와 도구들을 제공하는 틀
비유: 조립식 가구 키트. 기본 틀은 제공하고 세부사항만 채우면 됨
예시: React, Vue.js, Django, Spring 등
33. 라이브러리(Library)
정의: 특정 기능을 수행하는 코드들의 모음
비유: 공구함. 필요할 때마다 특정 도구를 꺼내서 사용
예시: jQuery, Lodash, NumPy 등
34. 컴포넌트(Component)
정의: 재사용 가능한 UI나 기능의 단위
비유: 레고 블록. 여러 블록을 조합해서 큰 작품을 만듦
예시: 버튼, 헤더, 네비게이션 바 등의 UI 컴포넌트
35. 모듈(Module)
정의: 관련된 함수나 변수들을 하나로 묶은 코드 단위
비유: 전문 분야별 도구 세트 (목공 도구 세트, 전기 도구 세트)
예시: 수학 연산 모듈, 날짜 처리 모듈 등
36. 패키지(Package)
정의: 여러 모듈을 하나로 묶은 더 큰 단위
비유: 여러 도구 세트를 담은 공구 상자
예시: npm의 express 패키지, pip의 django 패키지
37. 의존성(Dependency)
정의: 한 코드가 다른 코드나 라이브러리에 의존하는 관계
비유: 자동차가 엔진에 의존하듯, 프로그램이 다른 프로그램을 필요로 하는 것
예시: React 앱이 React 라이브러리에 의존
38. 버전 관리(Version Control)
정의: 코드의 변경 사항을 추적하고 관리하는 시스템
비유: 문서 작성 시 수정 기록을 남기는 것
예시: Git으로 코드 변경 내역을 추적하고 이전 버전으로 되돌리기
39. Git
정의: 가장 널리 사용되는 분산 버전 관리 시스템
비유: 작업 일지와 타임머신. 언제 누가 무엇을 바꿨는지 기록하고 되돌릴 수 있음
예시: git commit
으로 변경사항 저장, git push
로 원격 저장소에 업로드
40. 브랜치(Branch)
정의: Git에서 독립적인 개발 라인을 만드는 기능
비유: 책의 여러 초안을 동시에 작성하는 것
예시: main 브랜치에서 feature 브랜치를 만들어 새 기능 개발
🔧 개발 도구와 환경
41. IDE (Integrated Development Environment)
정의: 코드 작성, 디버깅, 빌드 등을 한 곳에서 할 수 있는 통합 개발 환경
비유: 모든 도구가 갖춰진 완벽한 작업실
예시: Visual Studio Code, IntelliJ IDEA, Eclipse
42. 컴파일(Compile)
정의: 인간이 읽을 수 있는 코드를 컴퓨터가 실행할 수 있는 형태로 변환
비유: 한국어로 쓴 편지를 영어로 번역하는 것
예시: C++ 소스코드를 실행 파일(.exe)로 변환
43. 인터프리터(Interpreter)
정의: 코드를 한 줄씩 읽어가며 즉시 실행하는 프로그램
비유: 동시통역사. 말하는 즉시 번역해서 전달
예시: Python, JavaScript 같은 언어의 실행 방식
44. 디버깅(Debugging)
정의: 프로그램의 오류를 찾아서 수정하는 과정
비유: 자동차 고장 원인을 찾아서 수리하는 것
예시: 브레이크포인트 설정해서 코드 실행 과정을 단계별로 확인
45. 테스트(Testing)
정의: 프로그램이 올바르게 동작하는지 확인하는 과정
비유: 새 차를 출고하기 전에 모든 기능을 점검하는 것
예시: 회원가입 기능이 정상 작동하는지 다양한 케이스로 확인
46. 배포(Deployment)
정의: 개발한 애플리케이션을 사용자가 접근할 수 있는 환경에 설치하는 것
비유: 요리를 완성해서 손님 테이블에 서빙하는 것
예시: 웹사이트를 웹서버에 업로드해서 사용자가 접속할 수 있게 하기
47. 빌드(Build)
정의: 소스 코드를 실행 가능한 형태로 변환하는 과정
비유: 설계도를 보고 실제 집을 짓는 것
예시: React 프로젝트를 npm run build
로 배포용 파일 생성
48. CI/CD (Continuous Integration/Continuous Deployment)
정의: 코드 통합과 배포를 자동화하는 개발 방법론
비유: 공장의 자동화 라인. 제품이 자동으로 조립되고 포장되어 출고됨
예시: GitHub에 코드 푸시하면 자동으로 테스트하고 서버에 배포
49. 도커(Docker)
정의: 애플리케이션을 컨테이너로 패키징해서 실행하는 플랫폼
비유: 이삿짐을 컨테이너 박스에 담아서 어디든 쉽게 옮길 수 있게 하는 것
예시: 개발 환경과 운영 환경을 동일하게 맞춰서 배포
50. 클라우드(Cloud)
정의: 인터넷을 통해 서버, 스토리지 등 IT 자원을 제공받는 서비스
비유: 집에 발전기를 설치하지 않고 전력회사에서 전기를 공급받는 것
예시: AWS, Google Cloud, Azure 등의 클라우드 서비스
🛡️ 보안
51. 암호화(Encryption)
정의: 데이터를 읽을 수 없는 형태로 변환해서 보호하는 기술
비유: 비밀편지를 암호로 작성해서 열쇠가 있어야만 읽을 수 있게 하는 것
예시: 비밀번호를 해시 함수로 암호화해서 데이터베이스에 저장
52. 해시(Hash)
정의: 임의 크기의 데이터를 고정 크기의 값으로 변환하는 함수
비유: 큰 문서를 짧은 지문으로 만드는 것. 원본은 복원 불가능
예시: 비밀번호를 MD5, SHA 등으로 해시화해서 저장
53. 토큰(Token)
정의: 사용자 인증이나 데이터 접근 권한을 나타내는 문자열
비유: 콘서트 입장권. 유효한 티켓이 있어야 입장 가능
예시: JWT 토큰으로 로그인 상태 유지
54. OAuth
정의: 다른 서비스의 계정으로 로그인할 수 있게 해주는 인증 방식
비유: 신분증 대신 학생증으로도 출입할 수 있게 허용하는 것
예시: 구글 계정으로 다른 웹사이트에 로그인
55. SQL 인젝션(SQL Injection)
정의: 악의적인 SQL 코드를 삽입해서 데이터베이스를 공격하는 방법
비유: 정상적인 질문인 척 하면서 금고의 비밀번호를 알아내려는 시도
예시: 로그인 폼에 '; DROP TABLE users; --
같은 코드 입력
56. XSS (Cross-Site Scripting)
정의: 웹페이지에 악의적인 스크립트를 삽입하는 공격
비유: 공공장소에 가짜 안내문을 붙여서 사람들을 속이는 것
예시: 댓글에 <script>
태그를 넣어서 다른 사용자 브라우저에서 실행
57. HTTPS
정의: HTTP에 SSL/TLS 암호화를 추가한 보안 통신 프로토콜
비유: 편지를 봉투에 넣고 봉인해서 보내는 것
예시: 온라인 쇼핑몰에서 결제 정보를 안전하게 전송
58. 방화벽(Firewall)
정의: 네트워크 트래픽을 모니터링하고 제어하는 보안 시스템
비유: 아파트 경비실. 허가된 사람만 출입할 수 있게 관리
예시: 특정 IP나 포트만 접근 허용하도록 설정
🌐 네트워크
59. IP 주소(IP Address)
정의: 네트워크에서 컴퓨터를 식별하는 고유한 주소
비유: 집 주소. 택배가 정확한 위치로 배송되려면 필요
예시: 192.168.1.1, 127.0.0.1 (localhost)
60. 도메인(Domain)
정의: IP 주소를 사람이 기억하기 쉬운 이름으로 변환한 것
비유: 복잡한 좌표 대신 사용하는 랜드마크 이름
예시: google.com이 실제로는 172.217.175.110 같은 IP 주소
61. DNS (Domain Name System)
정의: 도메인 이름을 IP 주소로 변환해주는 시스템
비유: 전화번호부. 이름으로 찾으면 전화번호를 알려줌
예시: naver.com을 입력하면 네이버 서버의 실제 IP 주소를 찾아줌
62. 포트(Port)
정의: 컴퓨터에서 특정 서비스나 애플리케이션을 구분하는 번호
비유: 아파트 동호수. 같은 건물(IP)이라도 각 집(서비스)을 구분
예시: 웹서버는 80번, HTTPS는 443번, SSH는 22번 포트 사용
63. 프로토콜(Protocol)
정의: 네트워크에서 데이터를 주고받는 규칙이나 약속
비유: 대화할 때의 예의나 규칙 (인사하기, 차례 지키기 등)
예시: HTTP, FTP, SMTP 등 목적에 따른 다양한 통신 규칙
64. 쿠키(Cookie)
정의: 웹사이트가 사용자 브라우저에 저장하는 작은 데이터 파일
비유: 단골 카페에서 주는 스탬프 카드. 다음에 와도 기억해줌
예시: 로그인 정보, 장바구니 내용, 사이트 설정 등 저장
65. 세션(Session)
정의: 사용자가 웹사이트를 방문해서 떠날 때까지의 기간
비유: 도서관 열람실 이용 시간. 입실부터 퇴실까지
예시: 로그인 후 로그아웃하거나 브라우저를 닫을 때까지의 상태
66. 캐시(Cache)
정의: 자주 사용하는 데이터를 빠르게 접근할 수 있는 곳에 저장
비유: 자주 쓰는 물건을 책상 위에 두는 것
예시: 브라우저가 이미지를 캐시해서 재방문 시 빠르게 로딩
67. CDN (Content Delivery Network)
정의: 전 세계에 분산된 서버로 콘텐츠를 빠르게 제공하는 네트워크
비유: 여러 지역에 지점을 둔 택배 시스템
예시: 미국 사용자에게는 미국 서버에서, 한국 사용자에게는 한국 서버에서 제공
📱 모바일 개발
68. 네이티브 앱(Native App)
정의: 특정 플랫폼(iOS, Android)용으로 개발된 애플리케이션
비유: 특정 차종 전용 부품. 완벽히 맞지만 다른 차에는 사용 불가
예시: Swift로 개발한 iOS 앱, Kotlin으로 개발한 Android 앱
69. 하이브리드 앱(Hybrid App)
정의: 웹 기술로 개발하되 네이티브 앱처럼 배포되는 애플리케이션
비유: 다양한 차종에 맞는 범용 부품
예시: Cordova, Ionic으로 개발한 앱
70. PWA (Progressive Web App)
정의: 웹과 네이티브 앱의 장점을 결합한 웹 애플리케이션
비유: 브라우저에서 실행되지만 앱처럼 사용할 수 있는 하이브리드형
예시: 오프라인에서도 작동하고 홈화면에 설치 가능한 웹앱
71. 반응형 웹(Responsive Web)
정의: 다양한 화면 크기에 맞춰 레이아웃이 자동으로 조정되는 웹사이트
비유: 늘어나는 옷. 어떤 체형에도 잘 맞음
예시: 모바일에서는 세로로, 태블릿에서는 2열로, PC에서는 3열로 배치
🚀 성능과 최적화
72. 알고리즘(Algorithm)
정의: 문제를 해결하기 위한 단계별 절차나 방법
비유: 요리 레시피. 정해진 순서대로 따라하면 결과물이 나옴
예시: 정렬 알고리즘, 검색 알고리즘 등
73. 복잡도(Complexity)
정의: 알고리즘의 실행 시간이나 메모리 사용량을 나타내는 척도
비유: 요리의 난이도와 조리시간. 간단한 것부터 복잡한 것까지
예시: O(1), O(n), O(log n) 등으로 표현
74. 빅오 표기법(Big O Notation)
정의: 알고리즘의 시간 복잡도를 나타내는 표기법
비유: 차의 연비 표시. 효율성을 비교하는 기준
예시: O(1)은 상수시간, O(n)은 선형시간
75. 자료구조(Data Structure)
정의: 데이터를 효율적으로 저장하고 관리하는 방법
비유: 물건을 정리하는 방법 (서랍, 책장, 옷걸이 등)
예시: 배열, 연결리스트, 스택, 큐, 트리 등
76. 스택(Stack)
정의: 나중에 들어간 것이 먼저 나오는 자료구조 (LIFO)
비유: 접시 쌓기. 맨 위에 올린 접시를 먼저 가져감
예시: 함수 호출 순서, 뒤로가기 기능 등에 사용
77. 큐(Queue)
정의: 먼저 들어간 것이 먼저 나오는 자료구조 (FIFO)
비유: 은행 대기줄. 먼저 온 사람이 먼저 업무를 봄
예시: 프린터 대기열, 작업 스케줄링 등에 사용
78. 메모리 누수(Memory Leak)
정의: 사용하지 않는 메모리를 해제하지 않아서 발생하는 문제
비유: 수도꼭지를 잠그지 않아서 물이 계속 새는 것
예시: JavaScript에서 이벤트 리스너를 제거하지 않는 경우
79. 가비지 컬렉션(Garbage Collection)
정의: 사용하지 않는 메모리를 자동으로 정리하는 기능
비유: 자동으로 쓰레기를 치워주는 청소 로봇
예시: Java, Python 등에서 더 이상 참조되지 않는 객체 자동 삭제
80. 로드 밸런싱(Load Balancing)
정의: 여러 서버에 작업을 분산시켜 부하를 나누는 기술
비유: 여러 계산대를 열어서 고객들을 분산시키는 것
예시: 웹서버 여러 대로 사용자 요청을 분산 처리
🔄 개발 방법론
81. 애자일(Agile)
정의: 빠른 반복과 피드백을 통해 소프트웨어를 개발하는 방법론
비유: 작은 목표를 정해서 빠르게 달성하고 다음 목표로 넘어가는 방식
예시: 2주 단위로 작동하는 기능을 만들어 사용자 피드백을 받음
82. 스크럼(Scrum)
정의: 애자일 방법론의 한 종류로, 정해진 주기(스프린트)로 개발하는 방식
비유: 운동 선수들의 훈련 루틴. 정해진 기간 동안 집중해서 훈련
예시: 2주 스프린트로 계획-개발-검토-회고 반복
83. 칸반(Kanban)
정의: 작업의 흐름을 시각적으로 관리하는 방법
비유: 세탁소의 옷걸이. 접수-세탁-건조-완료 단계별로 이동
예시: To Do – In Progress – Done으로 작업 상태 관리
84. 리팩토링(Refactoring)
정의: 기능은 그대로 두고 코드의 구조를 개선하는 작업
비유: 집 구조는 그대로 두고 인테리어만 새로 하는 것
예시: 중복 코드 제거, 함수 이름 변경, 클래스 구조 개선
85. 코드 리뷰(Code Review)
정의: 다른 개발자가 작성한 코드를 검토하는 과정
비유: 작문 숙제를 선생님이나 친구가 검토해주는 것
예시: GitHub Pull Request로 동료가 코드 변경사항을 검토
86. 페어 프로그래밍(Pair Programming)
정의: 두 명의 개발자가 함께 하나의 코드를 작성하는 방법
비유: 운전과 내비게이션을 나누어서 하는 것처럼 역할 분담
예시: 한 명은 코딩하고 다른 한 명은 검토하며 함께 개발
87. TDD (Test-Driven Development)
정의: 테스트를 먼저 작성하고 그 테스트를 통과하는 코드를 만드는 방법
비유: 목표지점을 정하고 그곳에 도달하는 길을 찾는 것
예시: 로그인 테스트를 먼저 만들고 실제 로그인 기능 구현
🎯 최신 기술 트렌드
88. 마이크로서비스(Microservices)
정의: 하나의 큰 애플리케이션을 작은 서비스들로 나누어 개발하는 방식
비유: 대형마트를 각 전문점들로 나누는 것
예시: 쇼핑몰을 상품관리, 주문처리, 결제 등 독립적인 서비스로 분리
89. 서버리스(Serverless)
정의: 서버 관리 없이 코드만 작성해서 실행할 수 있는 컴퓨팅 방식
비유: 전기나 가스처럼 사용한 만큼만 비용을 내고 이용하는 서비스
예시: AWS Lambda, Vercel Functions 등
90. 컨테이너(Container)
정의: 애플리케이션과 실행환경을 함께 패키징하는 기술
비유: 이사할 때 박스에 물건과 포장재를 함께 넣는 것
예시: Docker 컨테이너로 개발환경과 운영환경을 동일하게 유지
91. 쿠버네티스(Kubernetes)
정의: 컨테이너화된 애플리케이션을 자동으로 배포하고 관리하는 도구
비유: 여러 배들을 효율적으로 관리하는 항만 관제소
예시: 여러 Docker 컨테이너를 자동으로 배포하고 스케일링
92. GraphQL
정의: API를 위한 쿼리 언어이자 런타임
비유: 뷔페에서 원하는 음식만 골라서 가져오는 것
예시: 사용자 이름과 이메일만 필요하면 그것만 요청해서 받기
93. REST API
정의: 웹의 기본 원칙을 활용한 API 설계 방식
비유: 표준화된 주문 방식. 메뉴판(API 문서)을 보고 주문하는 것
예시: GET /users로 사용자 목록 조회, POST /users로 사용자 생성
94. 웹소켓(WebSocket)
정의: 실시간 양방향 통신을 가능하게 하는 프로토콜
비유: 전화통화처럼 양쪽에서 동시에 말할 수 있는 통신
예시: 채팅 앱, 온라인 게임, 실시간 주식 차트 등
95. SPA (Single Page Application)
정의: 하나의 페이지에서 동적으로 내용을 바꾸는 웹 애플리케이션
비유: 책의 모든 내용을 한 페이지에서 목차를 클릭해서 보는 것
예시: Gmail, Facebook 등 페이지 새로고침 없이 내용만 바뀜
96. SSR (Server-Side Rendering)
정의: 서버에서 HTML을 완성해서 브라우저에 전송하는 방식
비유: 주방에서 완성된 요리를 가져다주는 것
예시: Next.js의 SSR 기능으로 검색엔진 최적화 개선
97. CSR (Client-Side Rendering)
정의: 브라우저에서 JavaScript로 HTML을 생성하는 방식
비유: 재료를 가져다주면 손님이 직접 요리하는 것
예시: React 앱에서 컴포넌트가 브라우저에서 렌더링
98. 머신러닝(Machine Learning)
정의: 데이터로부터 패턴을 학습해서 예측하는 인공지능 기술
비유: 많은 예제를 보고 스스로 규칙을 찾아내는 학습
예시: 스팸 메일 필터링, 상품 추천 시스템 등
99. 블록체인(Blockchain)
정의: 분산된 장부 기술로 데이터를 안전하게 저장하는 방식
비유: 여러 사람이 각각 가계부를 써서 서로 대조하는 것
예시: 암호화폐, NFT, 스마트 계약 등에 활용
100. DevOps
정의: 개발(Development)과 운영(Operations)을 통합하는 문화와 방법론
비유: 요리사와 서빙 직원이 팀워크로 레스토랑을 운영하는 것
예시: 개발팀과 운영팀이 협업해서 자동화된 배포 파이프라인 구축