출고 예상일 : 2026-04-28 (출고 후 1~2일 이내 수령)
내부 사정으로 출시가 지연될 수 있습니다.
구매한 도서 중 예약도서가 포함되어 있을 경우, 예약도서 출고일에 함께 배송됩니다.
“와, 너 정말 핵심을 찔렀어!”
그런데 어디를 어떻게 찔렀는지는 모르겠고,
시키는 대로 했을 뿐인데 뭐가 되긴 되고,
나도 앞뒤를 모르는 상황에 AI 마저 기억을 잃어버리고…
AI에게 원하는 바를 두서 없이 나열해본 적이 있나요? 뭔지는 모르겠지만 시키는 대로 쏟아내는 코드를 붙여 넣고 더듬더듬 뭔가를 만들어 본 경험이 있나요? 어땠나요, 꽤나 만족스러웠나요? 아니면 신기했나요? 어떤 경험을 했든 아마 여러분은 다음엔 뭘 만들까 고민했을 것입니다. 하지만 이 경험을 반복할수록, AI와 만든 서비스를 꾸리거나 확장할수록 생각지도 못한 온갖 문제를 떠안기 시작하면서 이런 의문이 들었을 거예요. ‘이게 무슨 말이지?’ 또는 ‘이게 왜 되지?’ 딸깍이면 된다더니 앞으로도 뒤로도 못가는 난감한 상황을 맞닥뜨렸다면 이제 AI의 손발이 아니라 ‘머리’가 될 시간입니다.
모르면서 왜 이렇게 자신 있게 틀리는지 의아했다면,
같은 프롬프트를 넣어도 왜 결과가 다른지 이해할 수 없었다면,
API가 뭔지는 모르겠지만 100번은 써본 것 같다면,
AI의 손발이 아니라 ‘머리’가 될 시간!
이 책은 여러분이 쥐어야 할 AI라는 칼이 어떤 구조로 되어 있고, 어떻게 쥐어야 하고, 무엇을 주의해야 하는지 알려 주는 일종의 ‘칼 사용법’입니다. 그것도 셰프가 아니라 가정에서 쓰는 사람들을 위해서요. 그래서 일단 쉽습니다. 특히 한 번이라도 바이브 코딩을 시도해본 경험이 있다면 이 책을 읽는 시간이 더 재미있을 것입니다. 왜냐면 우리 모두 비슷한 경험을 했을 테니까요.
1장 AI는 코드를 어떻게 만들까? | 첫 번째 단추를 꿰는 자리인 만큼 바이브 코딩을 시작할 때 가장 먼저 드는 단순한 의문점들과 해결책으로 구성했습니다.
2장 일단 돌아가긴 하는데 이게 왜 되지? | 바이브 코딩뿐만 아니라 개발 자체를 처음 시작한 모두가 경험하는 것들을 다뤘습니다. 특히 이 부분은 뼈아픈 실화를 바탕으로 하고 있어 바이브 코더에게 꽤나 유용할 거라 기대 중입니다. API, HTTP 상태 코드, CORS 에러처럼 바이브 코딩 중 반드시 마주치는 개념들도 여기서 정리할 수 있습니다.
3장 배포했더니 되던 게 안 된다 | 서비스 운영의 시작 지점에서 반드시 맞닥뜨리는 개념과 오류들을 다루고 있습니다.
4장 데이터는 어디에 있는 걸까? | 알아 두면 그저 약이 되는 데이터의 개념을 다루고 있습니다. 꼭 명심하세요. 데이터는 서비스의 가장 밑바닥이 되는 자원입니다.
5장 로그인은 어떻게 작동할까? | 우리가 무심코 쓰던 기능 속 숨은 데이터의 흐름을 다루고 있습니다. 물론 ‘알아 두면 아무튼 좋다’ 싶은 걸 다룬 건 아닙니다. 여러분이 서비스를 만들고 운영하려면 여기서 다루는 개념들이 무조건 쓰이게 될 것입니다.
6장 더 잘 만들고 싶다면 여기까지 | 여러분이 만든 서비스를 오래 그리고 안전하게 운영하기 위해
알아 두면 좋은 것들을 다룹니다. 서비스는 끝날 때까지 끝난 게 아니니까요.
[이런 분께 이 책을 추천해요!]
● '시키는 대로 했을 뿐인데 왜 안 되지?' 싶은 바이브 코더: AI가 만들어 준 코드에서 왜 에러가 나는지, 어디서부터 잘못된 건지 감도 안 온다면?
● '배포까지는 했는데 그다음이 막막한' 1인 개발자 & 사이드 프로젝터: 로컬에선 잘 됐는데 배포하니 안 되고, API 키가 뭔지는 모르겠지만 써보긴 했다면?
● 'AI한테 뭘 어떻게 물어야 할지 모르겠는' 비전공자: AI와 하는 일이라고는 엔터 누르는 것밖에 없고, 결과물이 산으로 가는 게 불안하다면?
● ‘개발 직원에게 의존 중인’ 자영업자/창업자: 내가 운영하는 사업체지만 개발자의 말이 이해가 되지 않는다면?
● '개발자와 제대로 협업하고 싶은' 기획자 & 디자이너: API, 서버, 인증, 배포 같은 개념을 이해해서 개발자와 대화의 맥락을 잡고 싶다면?
● '코드는 따라 치는데 원리가 궁금한' 주니어 개발자: AI로 만든 서비스가 실제로 어떻게 돌아가는지 감으로라도 이해하고 싶다면?

1장 AI는 코드를 어떻게 만들까
대화가 길어지면 왜 AI가 이상해질까?
대화가 길어지면 왜 AI가 이상해질까? — 토큰과 컨텍스트 윈도
AI가 기억하는 단위 — 토큰 소비 원리
후임 AI에게 하던 일을 물려 주는 법 — 대화창 분리 & 기록 전략
AI가 자신 있게 틀리는 이유
AI가 자신 있게 틀리는 이유 — 환각
없는 라이브러리, 없는 함수를 써서 생기는 에러 — 환각 패턴
환각을 줄이는 프롬프트 습관 — 검증 프롬프트
AI가 만들어 준 코드는 어떻게 검증할까 — 코드 검증
같은 프롬프트를 입력해도 왜 결과가 다를까?
같은 프롬프트를 입력해도 왜 결과가 다를까? — 프롬프트 민감성
잘 시키는 것도 기술이다 — 프롬프트 3가지 원칙
챗GPT, 클로드, 제미나이… AI마다 성격이 다른 이유 — 시스템 프롬프트
역할을 주면 결과가 달라지는 이유 — 역할 프롬핑
하나를 시키면 열을 하는 비법
공포의 까만 화면 — 터미널 그리고 운영체제
자꾸 엔터를 누르라는 이유 — 에이전트의 동작 원리
AI에게 새로운 도구를 주는 방식 — MCP
AI가 알아서 하게 두면 안 되는 3가지 — 결정, 민감 정보, 최종 확인
2장 일단 돌아가긴 하는데 이게 왜 되지?
내 컴퓨터에선 되는데 왜 다른 컴퓨터에선 안 될까?
내 컴퓨터에선 되는데 왜 다른 컴퓨터에선 안 될까? — 로컬과 배포
부탁하는 쪽과 들어주는 쪽 — 클라이언트와 서버
localhost:3000을 해부하면 알게 되는 놀라운 사실 — 포트
24시간 꺼지지 않는 남의 컴퓨터 — 서버의 실체
프런트엔드? 백엔드? 시키는 대로 했을 뿐인데 풀스택 개발한 건에 대하여
화면에 보이는 것 vs 뒤에서 돌아가는 것 — 프런트엔드와 백엔드
뭔가 안 되는데 왜 안 되는지 모를 때 — 에러 진단과 버그
프런트엔드 + 백엔드 = 풀스택
API가 뭔지는 모르지만 100번은 썼다
'카카오톡으로 회원 가입'을 누르면 벌어지는 일 — API
데이터를 쓰려면 돈을 내라고? — 무료 API와 유료 API
GET은 달라는 것, POST는 보내는 것 — HTTP 메서드
컴퓨터가 데이터를 주고받는 언어 — JSON
API에도 주소가 있다 — 엔드포인트
"404 Not Found"의 숨은 의미
404는 없음, 200은 성공 — HTTP 상태 코드
어제는 됐는데 오늘은 안 되는 이유 — CORS 에러
3장 배포했더니 되던 게 안 된다
내 컴퓨터 밖으로 보내는 순간
코드가 서버에 올라가기까지 — 빌드와 배포
서버에서는 무슨 일이 벌어질까? — 배포 그 이후
내 컴퓨터에선 되던 게 배포만 하면 안 되는 이유 — 환경 분리와 환경 변수
중간 저장이 중요한 이유
저장 말고 시간 여행 — 버전 관리
의미 있는 기록 — 커밋
안전하게 실험하는 법 — 브랜치
공개 저장소이자 협업 공간 — 깃허브
이 파일은 절대 깃허브에 올리면 안 됩니다
API 키를 코드에 붙여 넣으면 생기는 일 — 보안 사고
우리 프로젝트의 비밀 금고와 안전벨트 — .env/.gitignore 파일
코드가 공개되면 어떤 일이 생길까 — 보안 리스크
youtube.com을 입력하고 1초 동안 벌어지는 일들
youtube.com을 입력하고 1초 동안 벌어지는 일들 — DNS와 DNS 룩업
인터넷 세계의 집 주소 — IP 주소
자물쇠 아이콘이 의미하는 것 — HTTPS
버전 하나 바뀌었을 뿐인데
버전 하나 바뀌었을 뿐인데 — 패키지와 의존성 그리고 버전 불일치
패키지 배달부 — npm, pip
숫자 하나 바뀌었을 뿐인데 — 시맨틱 버저닝
프로젝트마다 다른 작업실 — 가상 환경
어제까지 됐는데 오늘은 왜 안 되지?
어제는 맞고 오늘은 틀린 이유 — 캐시와 패키지 업데이트
브라우저가 내 발자취를 기억하는 방법 — 캐시
나도 모르는 새 업데이트된 코드 — 패키지 업데이트
API가 하룻밤 사이 사라진다면? — API 지원 종료
4장 데이터는 어디에 있는 걸까?
데이터베이스랑 엑셀은 뭐가 다를까?
데이터는 어디에 있는 걸까? — 변수, 파일, 데이터베이스
데이터베이스는 어떻게 생겨먹은 걸까? — 데이터베이스
데이터베이스랑 엑셀은 뭐가 다를까? — 데이터베이스의 효능
모든 서비스의 근본 — CRUD
데이터베이스를 진두지휘하는 언어 — SQL
데이터베이스, 언제 무엇을 써야 할까?
데이터베이스, 언제 무엇을 써야 할까? — SQL vs NoSQL
백엔드를 통째로 빌려 쓰는 방법 — BaaS
SQL 번역가 — ORM
데이터베이스에서 무슨 일이 벌어지고 있을까?
데이터베이스에서 무슨 일이 벌어지고 있을까? — 외래 키와 기본 키
데이터가 어떻게 연결되어 있는지 한눈에 보는 법 — ERD
결제는 됐는데 주문이 안 된 이유 — 트랜잭션
데이터베이스 구조를 바꿔야 한다면? — 마이그레이션
5장 로그인은 어떻게 작동할까?
사이트는 내 비밀번호를 어떻게 지켜 주고 있을까?
사이트가 해킹당해도 비밀번호는 안전한 이유 — 해시 저장 원리
한 번 로그인했을 뿐인데 나를 기억하는 방법 — 세션과 토큰 그리고 쿠키
알게 모르게 구면인 사이 — JWT
3초만에 가입되는 '소셜 로그인'의 정체
3초만에 가입되는 '소셜 로그인'의 정체 — 소셜 로그인 3단계
구글이 망하면 안 되는 이유 — OAuth
구글은 뭘 믿고 우리에게 사용자 정보를 줄까? — 클라이언트 ID와 클라이언트 시크릿
출입증은 암행어사 마패가 아닙니다 — Redirect URI와 Scope
6장 더 잘 만들고 싶다면 여기까지
같은 기능인데 왜 속도가 다를까?
같은 기능인데 왜 속도가 다를까? — 성능 병목 원인
자주 쓰는 건 가까이 두기 — 캐시
본사가 멀면 데이터도 늦게 올까? — CDN
기다리는 동안 다른 일하기 — 동기와 비동기
'갑자기 사용자가 몰리면 어떡하지?'라는 행복한 상상과 현실
사용자가 급격히 몰려 들어올 때 벌어지는 일 — 트래픽과 서버 과부하
서비스가 아플 때 진단하는 법 — 로그
24시 연중무휴 서비스 상태를 감시하는 법 — 모니터링
되긴 되는데 왜 되는지 모르겠다
이게 왜 되지 — 테스트
코드가 점점 꼬여갈 때 — 기술 부채와 리팩터링
정윤지(유리링)