책소개
모르면서 왜 이렇게 자신 있게 틀리는지 의아했다면, 같은 프롬프트를 넣어도 왜 결과가 다른지 이해할 수 없었다면, API가 뭔지는 모르겠지만 100번은 써본 것 같다면, AI의 손발이 아니라 ‘머리’가 될 시간!이 책은 여러분이 쥐어야 할 AI라는 칼이 어떤 구조로 되어 있고, 어떻게 쥐어야 하고, 무엇을 주의해야 하는지 알려 주는 일종의 ‘칼 사용법’이다. 그것도 셰프가 아니라 가정에서 쓰는 사람들을 위해서. 그래서 일단 쉽다. 특히 한 번이라도 바이브 코딩을 시도해본 경험이 있다면 이 책을 읽는 시간이 더 재미있을 것이다. 왜냐면 우리 모두 비슷한 경험을 했을 테니까.
목차
1장 AI는 코드를 어떻게 만들까대화가 길어지면 왜 AI가 이상해질까?대화가 길어지면 왜 AI가 이상해질까? - 토큰과 컨텍스트 윈도AI가 기억하는 단위 - 토큰 소비 원리후임 AI에게 하던 일을 물려 주는 법 - 대화창 분리 & 기록 전략AI가 자신 있게 틀리는 이유AI가 자신 있게 틀리는 이유 - 환각없는 라이브러리, 없는 함수를 써서 생기는 에러 - 환각 패턴환각을 줄이는 프롬프트 습관 - 검증 프롬프트AI가 만들어 준 코드는 어떻게 검증할까 - 코드 검증같은 프롬프트를 입력해도 왜 결과가 다를까?같은 프롬프트를 입력해도 왜 결과가 다를까? - 프롬프트 민감성잘 시키는 것도 기술이다 - 프롬프트 3가지 원칙챗GPT, 클로드, 제미나이 AI마다 성격이 다른 이유 - 시스템 프롬프트역할을 주면 결과가 달라지는 이유 - 역할 프롬핑하나를 시키면 열을 하는 비법공포의 까만 화면 - 터미널 그리고 운영체제자꾸 엔터를 누르라는 이유 - 에이전트의 동작 원리AI에게 새로운 도구를 주는 방식 - MCPAI가 알아서 하게 두면 안 되는 3가지 - 결정, 민감 정보, 최종 확인2장 일단 돌아가긴 하는데 이게 왜 되지?내 컴퓨터에선 되는데 왜 다른 컴퓨터에선 안 될까?내 컴퓨터에선 되는데 왜 다른 컴퓨터에선 안 될까? - 로컬과 배포부탁하는 쪽과 들어주는 쪽 - 클라이언트와 서버localhost:3000을 해부하면 알게 되는 놀라운 사실 - 포트24시간 꺼지지 않는 남의 컴퓨터 - 서버의 실체프런트엔드? 백엔드? 시키는 대로 했을 뿐인데 풀스택 개발한 건에 대하여화면에 보이는 것 vs 뒤에서 돌아가는 것 - 프런트엔드와 백엔드뭔가 안 되는데 왜 안 되는지 모를 때 - 에러 진단과 버그프런트엔드 + 백엔드 = 풀스택API가 뭔지는 모르지만 100번은 썼다'카카오톡으로 회원 가입'을 누르면 벌어지는 일 - API데이터를 쓰려면 돈을 내라고? - 무료 API와 유료 APIGET은 달라는 것, POST는 보내는 것 - HTTP 메서드컴퓨터가 데이터를 주고받는 언어 - JSONAPI에도 주소가 있다 - 엔드포인트"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백엔드를 통째로 빌려 쓰는 방법 - BaaSSQL 번역가 - ORM데이터베이스에서 무슨 일이 벌어지고 있을까?데이터베이스에서 무슨 일이 벌어지고 있을까? - 외래 키와 기본 키데이터가 어떻게 연결되어 있는지 한눈에 보는 법 - ERD결제는 됐는데 주문이 안 된 이유 - 트랜잭션데이터베이스 구조를 바꿔야 한다면? - 마이그레이션5장 로그인은 어떻게 작동할까?사이트는 내 비밀번호를 어떻게 지켜 주고 있을까?사이트가 해킹당해도 비밀번호는 안전한 이유 - 해시 저장 원리한 번 로그인했을 뿐인데 나를 기억하는 방법 - 세션과 토큰 그리고 쿠키알게 모르게 구면인 사이 - JWT3초만에 가입되는 '소셜 로그인'의 정체3초만에 가입되는 '소셜 로그인'의 정체 - 소셜 로그인 3단계구글이 망하면 안 되는 이유 - OAuth구글은 뭘 믿고 우리에게 사용자 정보를 줄까? - 클라이언트 ID와 클라이언트 시크릿출입증은 암행어사 마패가 아닙니다 - Redirect URI와 Scope6장 더 잘 만들고 싶다면 여기까지같은 기능인데 왜 속도가 다를까?같은 기능인데 왜 속도가 다를까? - 성능 병목 원인자주 쓰는 건 가까이 두기 - 캐시본사가 멀면 데이터도 늦게 올까? - CDN기다리는 동안 다른 일하기 - 동기와 비동기'갑자기 사용자가 몰리면 어떡하지?'라는 행복한 상상과 현실사용자가 급격히 몰려 들어올 때 벌어지는 일 - 트래픽과 서버 과부하서비스가 아플 때 진단하는 법 - 로그24시 연중무휴 서비스 상태를 감시하는 법 - 모니터링되긴 되는데 왜 되는지 모르겠다이게 왜 되지 - 테스트코드가 점점 꼬여갈 때 - 기술 부채와 리팩터링