통합 요약노트

Ch.7 코드가 돌아가는 원리

AI 코드의 구조와 성능 문제를 알아챌 수 있게 됩니다.

이 챕터의 내용

1

코드 실행의 흐름 — 소스코드→빌드→실행

소스코드→빌드→실행의 흐름을 이해하면 에러가 나도 당황하지 않고, AI에게 정확한 해결을 요청할 수 있습니다.

인간의 언어와 컴퓨터의 언어는 다릅니다. 소스코드는 인간이 읽을 수 있는 '중간 언어'입니다.

비유: 한국어 소설을 영어 독자에게 전달하려면 번역이 필요합니다. 소스코드를 기계어로 변환하는 것도 마찬가지입니다. 우리가 쓰는 TypeScript나 JavaScript는 컴퓨터가 직접 이해하지 못하는 '인간 친화적 언어'이고, 이것을 컴퓨터가 실행할 수 있는 형태로 바꾸는 과정이 필요합니다.

이 번역 과정을 '빌드(build)'라고 부릅니다

  • 소스코드는 인간이 읽는 '중간 언어' — 빌드를 거쳐야 실행 가능
  • npm run dev = 개발용(즉시 반영), npm run build = 프로덕션용(최적화)
  • 에러 메시지 전체를 AI에게 전달하는 것이 가장 효과적인 디버깅 방법
상세 노트 보기arrow_forward
2

데이터 저장소 — 변수에서 데이터베이스까지

데이터 저장의 3단계와 CRUD를 이해하면 AI에게 올바른 데이터 구조를 요청할 수 있습니다.

데이터 저장에는 3단계가 있습니다

비유로 이해해 봅시다. 포스트잇(변수)은 전원을 끄면 날아갑니다. 노트(파일)는 남지만 찾기가 힘듭니다. 도서관(DB)은 체계적으로 정리되어 있어 원하는 것을 바로 찾을 수 있습니다.

데이터베이스가 필요한 이유는 크게 3가지입니다

  • 데이터 저장 3단계: 변수(휘발) → 파일(영구, 느림) → DB(영구, 빠름)
  • DB가 필요한 이유: 동시 접근, 무결성, 검색 속도
  • CRUD = Create + Read + Update + Delete — "댓글 CRUD 만들어줘"로 4기능 한번에 요청
상세 노트 보기arrow_forward
3

느린 코드 vs 빠른 코드 — Big O 핵심

알고리즘과 Big O를 이해하면 AI가 만든 코드의 성능을 판단하고 더 나은 방법을 요청할 수 있습니다.

알고리즘 = 문제를 해결하는 방법. 같은 문제에도 빠른 방법과 느린 방법이 있습니다.

비유: 전화번호부에서 '김철수'를 찾는 두 가지 방법이 있습니다. 방법 A — 1페이지부터 한 장씩 넘기기. 최악의 경우 전부 넘겨야 합니다. 방법 B — 중간을 펴서 'ㄱ' 찾고, 다시 중간을 펴서 '김' 찾기. 매번 절반씩 줄어듭니다.

Big O = 데이터가 커질 때 속도가 어떻게 변하는지 표현하는 방법

  • 알고리즘 = 문제 해결 방법, Big O = 효율성 측정 도구
  • O(1) 상수 < O(log n) 로그 < O(n) 선형 < O(n²) 제곱
  • AI가 중첩 for문을 쓰면 → O(n²) → Map/Set으로 O(n) 요청
상세 노트 보기arrow_forward
4

API — 프로그램끼리 대화하는 법

API와 HTTP를 이해하면 프론트엔드와 백엔드를 연결하고, 에러가 나도 원인을 빠르게 파악할 수 있습니다.

API = Application Programming Interface. 프로그램 사이의 '대화 규칙'입니다.

비유: 레스토랑에서 손님(프론트엔드)이 직접 주방(백엔드)에 들어가지 않습니다. 웨이터(API)를 통해 주문(요청)하고, 음식(응답)을 받습니다. 메뉴판에 없는 것은 주문할 수 없듯, API에 정의되지 않은 것은 요청할 수 없습니다.

API = 프로그램 사이의 웨이터

  • API = 프로그램 사이의 웨이터 — 정해진 규칙으로 요청하고 응답받음
  • HTTP 메서드: GET(조회), POST(생성), PUT/PATCH(수정), DELETE(삭제)
  • 상태코드: 400번대 = 요청 오류, 500번대 = 서버 오류
상세 노트 보기arrow_forward

key

핵심 용어 모음

SyntaxError

문법 오류 — 오타, 괄호 누락, 세미콜론 빠짐 등. 가장 흔한 에러

ModuleNotFoundError

파일이나 패키지를 못 찾음 — import 경로 오류, 패키지 미설치

TypeError

데이터 타입이 맞지 않음 — 숫자에 문자열 메서드를 쓰는 등의 실수

변수 (RAM)

프로그램 실행 중에만 존재 — 새로고침하면 사라지는 포스트잇

파일 (SSD)

영구 저장되지만 검색이 어려움 — 수백 권의 정리 안 된 노트

데이터베이스 (DBMS)

영구 저장 + 빠른 검색 + 동시 접근 — 사서가 관리하는 도서관

동시 접근

100명이 동시에 읽고 쓸 때 충돌 방지 — 파일은 한 번에 한 명만 가능

무결성

"이메일은 반드시 @를 포함" 같은 규칙 강제 — 잘못된 데이터 차단

검색 속도

100만 건에서 0.01초 만에 찾기 — 인덱스로 초고속 검색 가능

Create (생성)

새 데이터 생성 — 예: 회원가입, 게시글 작성

Read (조회)

데이터 조회 — 예: 프로필 보기, 게시글 목록

Update (수정)

데이터 수정 — 예: 비밀번호 변경, 게시글 편집

퀴즈와 인터랙션으로 더 깊이 학습하세요

play_circle인터랙티브 코스 시작하기