Dev Basics
개발을 전공하지 않아도 됩니다. 일상 비유 · 쉬운 말 · 에이전트에게 시키는 문장으로 19단계를 익힙니다. 웹뿐 아니라 안드로이드 · 애플 앱 · 스토어 심사까지 포함합니다. 한 번에 다 외우지 말고, 막힐 때 해당 단계만 읽으세요.
화면 · 서버 · 데이터 · 배포(웹 또는 앱스토어)가 한 줄로 연결된다
프론트엔드
사용자가 보고 클릭하는 부분 (버튼, 목록, 폼).
예: 로그인 화면, 대시보드 카드
백엔드
화면 뒤에서 처리하는 부분 (저장, 계산, 권한 확인).
예: 비밀번호 확인, 글 저장
API
프론트와 백엔드가 대화하는 약속된 창구 (주소 + 규칙).
예: POST /api/login
데이터베이스(DB)
정보를 표처럼 저장해 두는 창고.
예: 회원 표, 게시글 표
배포
내 컴퓨터가 아니라 인터넷에 올려 다른 사람이 접속하게 하는 것.
예: Vercel에 올리면 URL이 생김
환경 변수
비밀번호·키처럼 코드에 직접 쓰지 않고 따로 넣는 설정 값.
예: .env 파일, Vercel Environment Variables
사람이 보고 누르는 모든 것 · 디자인 심화는 별도 시리즈
HTML
페이지의 뼈대 (제목, 버튼, 입력칸 자리).
CSS
모양·간격·색 (디자인).
예: Tailwind = 미리 만든 스타일 단어 모음
JavaScript / TypeScript
클릭·입력에 반응하는 동작. TypeScript는 실수 줄이는 검사 포함 버전.
컴포넌트
재사용하는 UI 조각 (버튼, 카드, 모달).
페이지 라우팅
주소(/login, /builds)마다 어떤 화면을 보여줄지.
상태(state)
화면에 기억해 두는 값 (입력 중 글자, 로딩 중 여부).
반응형
폰·PC 화면 너비에 맞게 배치가 바뀌는 것.
접근성(a11y)
키보드·스크린리더로도 쓸 수 있게 하는 것.
화면 뒤에서 처리·저장·권한을 담당
요청(Request) / 응답(Response)
클라이언트가 보내고, 서버가 돌려주는 한 세트.
HTTP 메서드
GET=조회, POST=생성, PATCH/PUT=수정, DELETE=삭제.
엔드포인트
API의 구체적인 주소 한 개.
예: /api/builds
상태 코드
200 성공, 400 잘못된 요청, 401 로그인 필요, 403 권한 없음, 500 서버 오류.
서버 액션 / Route Handler
Next 등에서 서버 쪽 코드를 실행하는 방식.
검증(validation)
들어온 값이 규칙에 맞는지 검사 (이메일 형식, 글자 수).
정보를 표로 저장하고 나중에 꺼낸다
테이블 / 행 / 열
표 / 한 줄 기록 / 항목(이름, 이메일).
기본 키(id)
각 행을 구분하는 고유 번호.
관계
글 작성자 = 회원 id 처럼 표끼리 연결.
마이그레이션
표 구조 변경을 기록·적용하는 절차.
RLS (행 수준 보안)
‘내 글만 보이게’ 같은 규칙을 DB에 거는 것 (Supabase 핵심).
인덱스
자주 찾는 열을 빠르게 찾기 위한 목차.
누구인지 확인하고, 무엇을 할 수 있는지 나눈다
인증 (Authentication)
신분 확인 (로그인).
인가 (Authorization)
권한 확인 (관리자만 삭제 등).
세션 / 쿠키
브라우저에 남겨 ‘로그인 유지’하는 방식.
JWT 등 토큰
신분을 담은 문자열. 탈취되면 위험 → 안전하게 보관.
OAuth / 소셜 로그인
구글·깃허브 계정으로 대신 로그인.
비밀번호 해시
비밀번호를 그대로 저장하지 않고 복구 어렵게 변환.
열쇠를 깃허브에 올리지 않는다
시크릿 / API 키
서비스 출입 비밀번호. 코드·채팅·스크린샷에 넣지 않기.
.env
시크릿을 넣는 로컬 설정 파일. Git에 올리면 안 됨.
XSS
악성 스크립트가 페이지에 심어져 다른 사용자 정보를 훔침.
SQL 인젝션
입력값으로 DB 명령을 조작. ORM·파라미터 쿼리로 완화.
CORS
다른 사이트에서 내 API를 호출할 수 있는지 제한.
최소 권한
필요한 권한만. 읽기만 되면 쓰기 키 주지 않기.
인터넷에 올리고, 환경 변수를 맞춘다
로컬
내 컴퓨터에서 실행.
프로덕션
실제 사용자가 쓰는 환경.
프리뷰 배포
PR/브랜치마다 생기는 임시 주소로 미리 확인.
빌드
코드를 서버가 실행할 형태로 묶는 과정. 실패하면 배포 안 됨.
도메인 / DNS
외우기 쉬운 주소와 실제 서버 연결.
로그 / 모니터링
에러와 속도를 기록·알림 (Sentry 등).
저장의 저장 · 되돌리기 · 나눠 작업
저장소(repository)
프로젝트 폴더 + 이력.
커밋
변경을 기록한 한 지점. 메시지와 함께.
브랜치
본선(main)을 안 건드리고 실험하는 갈래.
push / pull
내 기록 올리기 / 원격 기록 받아오기.
PR (Pull Request)
변경 검토 후 합치기 요청.
충돌(conflict)
같은 줄을 서로 다르게 고쳐 합치기 전 선택이 필요.
‘완료’ 전에 증거를 본다
재현
같은 방식으로 문제를 다시 일으키기. 디버깅 1단계.
스택 트레이스
에러가 난 코드 위치 목록.
단위 테스트
작은 함수가 기대한 값을 내는지 자동 검사.
E2E 테스트
브라우저에서 클릭 흐름을 자동으로 따라가기.
린트 / 타입체크
코드 스타일·타입 실수를 실행 전에 잡기.
폰에 설치되는 앱은 웹과 ‘배포·권한·기기’가 다르다
네이티브 앱
그 플랫폼 전용 언어·도구로 만든 앱. 성능·OS 기능 접근이 유리.
예: Swift(iOS), Kotlin(안드로이드)
크로스플랫폼
한 코드베이스로 iOS·안드로이드를 같이 만드는 방식.
예: React Native, Flutter, Expo
Expo
React Native를 쉽게 시작·빌드·배포하게 돕는 도구 모음. 바이브에 흔함.
시뮬레이터 / 에뮬레이터
컴퓨터 안에서 가짜 폰으로 앱을 실행. 실기기와 100% 같지 않음.
예: iOS Simulator, Android Emulator
실기기 테스트
실제 폰에 설치해 확인. 카메라·푸시·성능은 여기서 필수.
권한 (Permission)
카메라·위치·알림·사진첩 등을 쓰기 전 사용자 동의. 거부 시 흐름 설계 필요.
푸시 알림
앱을 안 켜도 오는 알림. 서버·토큰·OS 설정이 연결되어야 함.
딥링크 / 유니버설 링크
링크를 누르면 앱 특정 화면으로 바로 열림.
백그라운드
앱이 화면에 없을 때 동작. OS가 강하게 제한함.
안전 영역 (Safe Area)
노치·홈 바를 피해 버튼을 배치하는 여백.
PWA
웹을 홈 화면에 추가해 앱처럼 쓰는 방식. 스토어 없이 배포 가능(기능 제한 있음).
브릿지 / 네이티브 모듈
JS 등에서 기기 전용 기능(센서 등)을 호출하는 연결 층.
설치 파일 만들기 + 심사 + 계정·서명
개발자 계정
스토어에 앱을 올릴 자격. 애플은 연 요금, 구글도 등록비.
서명 / 키스토어 / 인증서
‘이 앱이 우리가 만든 것’임을 증명. 키 분실=업데이트 불능에 가깝.
번들 ID / 패키지 이름
앱 고유 주소 같은 식별자. 한 번 정하면 바꾸기 어려움.
예: com.honggildong.myapp
AAB / IPA
안드로이드 업로드 묶음 / iOS 설치 패키지.
프로비저닝 프로필
iOS에서 어떤 기기에 어떤 앱을 설치·배포할지 묶는 설정.
심사 (Review)
스토어 직원이 가이드 위반·사기·불안정 등을 검사.
샌드박스
결제·로그인 등을 테스트용으로 안전하게 시험하는 환경.
단계적 출시
사용자 일부에게만 먼저 배포해 문제 확인.
강제 업데이트
너무 낮은 버전 앱 사용을 막아 보안·호환 문제를 줄임.
오프라인·느린 망·재시도를 전제로 설계
JSON
데이터를 중괄호·목록 형태로 주고받는 흔한 형식.
REST
URL + GET/POST 등으로 자원을 다루는 API 스타일.
GraphQL
클라이언트가 필요한 필드만 골라 요청하는 API 방식.
페이지네이션
목록을 한 번에 다 안 받고 페이지·커서로 나눠 받기.
타임아웃
너무 오래 걸리면 실패로 처리.
재시도 / 백오프
실패 시 다시 시도. 간격을 늘려 서버를 덜 때림.
멱등 키
같은 결제·제출이 두 번 적용되지 않게 하는 고유 값.
낙관적 UI
서버 응답 전에 화면을 먼저 바꾼 뒤, 실패 시 되돌림.
오프라인 큐
망이 없을 때 작업을 쌓아 두었다가 연결 시 전송.
어디에 무엇을 둘지 정해 두면 에이전트가 덜 헤맴
로컬 상태
한 컴포넌트 안에서만 쓰는 값 (입력 중 글자).
전역 상태
여러 화면이 공유 (테마, 장바구니).
서버 상태
DB/API에서 온 데이터. 캐시·재검증이 중요.
단방향 데이터 흐름
데이터가 위에서 아래로 흐르게 해 예측 가능하게 함.
관심사 분리
UI / 데이터 가져오기 / 비즈니스 규칙을 파일로 나누기.
기술 부채
빨리 가려고 쌓아 둔 엉성함. 이자가 붙어 속도가 느려짐.
도메인
업무 개념 단위 (회원, 주문, 게시글).
예쁜 것보다 ‘다음에 뭘 누르면 되는지’
유저 플로
사용자가 목표까지 가는 클릭 순서.
와이어프레임
색 없이 배치만 그린 뼈대 스케치.
빈 상태 (Empty state)
데이터 없을 때 안내 + 다음 행동 버튼.
온보딩
첫 사용자를 핵심 기능으로 안내.
카피
버튼·에러 문장. 개발 용어 대신 사람 말.
접근성
더 많은 사람이 쓸 수 있게 (대비, 포커스, 라벨).
디자인 토큰
색·간격·글자 크기 변수. 일관성 유지.
돈은 서버에서, 테스트 모드로 먼저
PG / 결제 대행
카드 처리를 대신 해주는 서비스 (Stripe, 토스페이먼츠 등).
웹훅
결제 성공/실패를 서버가 비동기로 통지받음.
인앱 결제
스토어 안에서 디지털 상품 결제. 수수료·정책 있음.
샌드박스 결제
가짜 돈으로 결제 흐름 시험.
환불 · 차지백
돈 되돌리기 / 카드사 분쟁. 기록 보관 필요.
모으면 책임이 생긴다
개인정보
누구인지 알 수 있는 정보 (이름, 이메일, 전화번호 등).
처리방침
무엇을 왜 얼마나 보관하는지 공개하는 문서. URL이 필요한 경우 많음.
동의 / 철회
선택 수집은 켜고 끌 수 있어야 함.
최소 수집
당장 필요 없는 정보는 안 받음.
추적 · ATT
앱 추적 투명성. iOS에서 광고 식별자 추적 시 동의 창.
데이터 삭제 요청
계정·데이터 지워 달라는 요청에 대응하는 절차.
사용자 폰에서 난 에러를 내가 보게
크래시
앱이 강제 종료. 리포트로 스택을 받음.
브레드크럼
에러 직전 사용자 행동 흔적.
알림 임계값
에러가 N건 넘으면 슬랙 등 통지.
온콜
장애 때 누가 보는지 정하는 운영 역할.
롤백
문제 있는 버전을 이전으로 되돌림.
피처 플래그
새 기능을 일부에게만 켜 위험 축소.
느리면 기능이 없는 것과 같다
번들 사이즈
내려받는 JS/코드 양. 클수록 첫 로딩 느림.
LCP / CLS
주요 콘텐츠가 보이는 시점 / 레이아웃 흔들림 (웹).
지연 로딩
필요할 때 이미지·화면을 불러 초기 비용 감소.
메모이제이션
같은 계산 반복을 줄임. 남용 시 오히려 복잡.
N+1 쿼리
목록 한 번 + 각 행마다 DB 조회 → 매우 느림.
쓰로틀 / 디바운스
입력이 잦을 때 처리를 제한·지연.
모델은 손, 사람은 검증·방향
슬라이스
하루 안에 검증 가능한 한 조각 기능.
완료 조건
무엇이 보이거나 어떤 명령이 성공하면 끝인지.
규칙 파일
CLAUDE.md / AGENTS.md 등 프로젝트 고정 지시.
하네스
규칙·스킬·훅·테스트로 에이전트를 감싸는 장치.
환각
모델이 없는 API·파일을 지어냄. 문서로 검증.
컨텍스트 윈도우
한 대화에 넣을 수 있는 정보의 양. 넘치면 앞부분을 잊음.
웹·공통 기초. 매일 30~60분만. 완벽한 이해보다 한 번 검증이 목표입니다.
1일차
전체 그림 + 용어 10개
‘전체 그림’과 용어를 읽고, 만들 제품을 화면/서버/DB/배포 네 칸에 적습니다. 모바일 앱이면 10·11단계도 훑습니다.
2일차
화면 하나
입력 2개 + 버튼 1개. 경로·완료 조건(브라우저 또는 시뮬레이터)을 에이전트에게 명시합니다.
3일차
저장 한 번
버튼 → 서버/DB 한 줄. Network 탭 또는 로그로 요청을 직접 봅니다.
4일차
로그인 최소
로그인·로그아웃·막힌 페이지. 서버(또는 RLS)에서도 거절되는지 확인합니다.
5일차
시크릿·권한·개인정보
.env, 최소 수집 표, 시크릿 스캔. 키가 채팅·깃에 없는지 점검합니다.
6일차
배포 또는 스토어 준비
웹: 프리뷰 배포+env. 앱: 번들 ID·아이콘·TestFlight/내부 테스트 중 하나.
7일차
디버깅 루프
버그 재현 3줄 → 가설 1개 → 수정 → 같은 재현으로 검증. 에러 리포트가 있으면 연결합니다.
스토어 앱이 목표일 때. 웹 7일과 병행하거나 그다음에. 10단계·11단계를 함께 읽으세요.
M1
웹 vs 앱 결정
스토어 설치가 꼭 필요한 이유 3가지를 적습니다. 없으면 PWA/웹을 먼저 권합니다.
M2
시뮬레이터 첫 실행
Expo 또는 Flutter로 홈 화면만. 플랫폼(iOS/Android)을 지시에 명시합니다.
M3
권한 한 가지
알림 또는 사진 중 하나만. 거부 시 안내 문구까지. 실기기에서 한 번.
M4
네비게이션
화면 2~3개 스택/탭. 뒤로 가기·딥링크 후보를 적습니다.
M5
베타 배포
TestFlight 또는 Play 내부 테스트. 개인정보 문구·스크린샷 초안.
채팅·에러에 자주 등장하는 낱말. 필요할 때만 찾아보세요.
| 용어 | 쉬운 말 |
|---|---|
| 풀스택 | 화면(프론트)과 서버(백엔드)를 함께 다루는 것. |
| 프레임워크 | 미리 짜인 뼈대. 규칙을 따르면 빨리 만듦 (예: Next.js). |
| 라이브러리 | 필요할 때 가져다 쓰는 도구 모음 (예: 날짜 처리 라이브러리). |
| 패키지 매니저 | 남이 만든 코드를 설치·버전 관리 (npm, pnpm). |
| 의존성 | 프로젝트가 쓰는 외부 패키지 목록 (package.json). |
| 모노레포 | 여러 패키지를 한 저장소에서 관리. |
| CI/CD | 푸시할 때마다 검사·배포를 자동으로 돌리는 파이프라인. |
| 캐시 | 자주 쓰는 결과를 잠깐 저장해 속도를 냄. (오래된 캐시=혼란) |
| 레이턴시 | 요청 후 응답까지 걸리는 시간. |
| 멱등 | 같은 요청을 여러 번 해도 결과가 한 번과 같음 (결제·웹훅에 중요). |
| 웹훅 | 외부 서비스가 ‘사건 생겼어’ 하고 내 URL을 호출. |
| 스토리지 버킷 | 이미지·파일 올리는 구름 폴더 (권한 설정 필수). |
| CORS 에러 | 브라우저가 ‘다른 주소 API 호출 금지’로 막은 것. 서버 설정 문제인 경우 많음. |
| 하이드레이션 | 서버가 만든 HTML에 브라우저 JS가 이벤트를 붙이는 과정. 불일치 시 경고. |
| SSR / SSG / CSR | 서버에서 HTML 생성 / 미리 생성 / 브라우저에서 생성. Next가 섞어 씀. |
| ORM | 표를 코드 객체처럼 다루게 하는 층 (Prisma, Drizzle). |
| 마이그레이션 | DB 구조 변경 이력·적용 스크립트. |
| 시드(seed) | 개발용 샘플 데이터를 DB에 넣는 것. |
| 레이트 리밋 | 짧은 시간에 너무 많은 요청 차단 (남용·비용 방지). |
| 피처 플래그 | 기능을 켜고 끄며 조금씩 배포. |
| 안드로이드 | 구글 모바일 OS. 패키지 이름·Play 스토어·Kotlin/Java 생태계. |
| iOS | 애플 모바일 OS. 번들 ID·App Store·Swift 생태계. 빌드는 보통 Mac/Xcode. |
| SDK | 어떤 기능을 쓰기 위해 제공되는 개발 도구 묶음. |
| API 레벨 (안드로이드) | OS 버전 번호. 최소 지원 버전을 정해야 함. |
| 타깃 SDK | 어느 OS 버전에 맞춰 빌드·권한 정책을 따를지. |
| TestFlight | iOS 베타 테스터에게 앱을 배포하는 공식 경로. |
| Play 내부 테스트 | 안드로이드 소규모 테스터 배포 트랙. |
| OTA 업데이트 | 스토어 없이 일부 코드를 내려받아 갱신 (정책·제한 있음. Expo Updates 등). |
| 스플래시 스크린 | 앱 켜질 때 잠깐 보이는 시작 화면. |
| 내비게이션 스택 | 화면을 쌓아 뒤로 가기 하는 구조 (모바일 앱 핵심). |
| 탭 바 / 드로어 | 하단 탭 메뉴 / 옆에서 나오는 메뉴. |
| 햅틱 | 진동 피드백. 과하면 거슬림. |
| 다크 모드 | 어두운 테마. 색 대비·이미지 동시 고려. |
| 국제화 (i18n) | 여러 언어 문자열을 키로 관리. |
| 시크릿 로테이션 | 유출·주기적 교체로 API 키를 새로 발급. |
| 스테이징 | 프로덕션과 비슷하지만 실험용인 중간 환경. |
| 프로덕션 | 실제 사용자가 쓰는 환경. |
| 핫픽스 | 장애를 급히 고치는 작은 배포. |
| 의미 버전 (semver) | 1.2.3 처럼 호환 깨짐·기능·수정을 숫자로 표현. |
| 체인지로그 | 버전에 무엇이 바뀌었는지 사용자·팀용 기록. |
| 의존성 취약점 | 패키지의 보안 구멍. npm audit 등으로 점검. |
| 라이선스 | 오픈소스 사용 조건. 상업 앱은 위반 주의. |
| 모노톤 디자인 | 회색 위주 + 강조색 하나. 과한 장식 지양 (이 플랫폼 톤). |
다음: 바이브 첫 주 가이드 · 실전 카탈로그 · 에이전트 도구·모델