[00:07]
안녕하세요 여러분! 모두 잘 지내고 계시길 바라며, 시작하기 전에
[00:11]
정말 말씀드리고 싶은 것은 Claude 4를 한 달 정도 사용해봤는데
[00:15]
결과가 정말 놀라웠습니다. 실제로 너무 놀라워서 여러분의 워크플로우나
[00:20]
AI 워크플로우의 일부로 활용할 만하다고 생각해서
[00:24]
Claude Code를 설정하는 방법을 보여드리려고 합니다.
[00:28]
몇 가지 요구사항이 있는데, 우선 Node가 필요합니다.
[00:31]
채널에 Node 설치 및 설정 방법에 대한 영상이 있으니 확인해보세요.
[00:34]
Node가 설치되어 있는지 확인하는 간단한 명령어는
[00:38]
터미널에서 node -v를 실행하면 됩니다. 저는 22.16을 사용하고 있네요. 이제 Claude를 설치하고 인증해봅시다.
[00:43]
npm 명령어를 사용해서 install을 입력하고
[00:48]
전역으로 설치하고 싶으니까 @anthropic-ai/claude-code라고 입력합니다.
[00:56]
이제 실행해봅시다. 터미널을 방금 정리했는데
[00:59]
Claude를 시작하는 명령어가 있습니다. 바로 claude입니다. 하지만 그 전에
[01:03]
새 프로젝트, 새 Laravel 프로젝트를 만들고 그 디렉토리로 이동한 다음
[01:07]
claude를 초기화하고 싶습니다. 지금 해보겠습니다.
[01:12]
새 Laravel 프로젝트를 만드는 명령어는 laravel new인데, 저는 별칭을 사용해서
[01:16]
new Claude라고 하고 Livewire 키트를 선택하겠습니다.
[01:20]
Laravel의 내장 인증을 사용하고, Volt는 사용하지 않고, Pest를 사용하겠습니다.
[01:24]
프로젝트를 구축하고, npm install과 npm build를 실행하겠습니다.
[01:28]
보시다시피 몇 가지 취약점이 있는 것 같네요. 다음으로 해당 디렉토리로 이동해서
[01:32]
cd claude 명령어로 Claude 폴더로 이동한 다음 claude 명령어를 실행하겠습니다.
[01:36]
여기서 첫 번째 옵션은 테마를 변경하는 것인데, 원하는 대로 설정하면 됩니다.
[01:42]
아직 계정을 만들지 않았다면 계정을 등록해야 합니다.
[01:46]
claude.ai로 가서 정보를 입력하고 계정을 설정하면 됩니다.
[01:50]
이 시점에서 로그인해야 합니다. 이제 계정 유형을 선택해야 하는데
[01:55]
Anthropic의 콘솔 계정을 사용할지 아니면 유료 구독 계정을 사용할지 선택합니다.
[01:58]
브라우저가 열리면 제공된 코드를 입력해야 하는데
[02:02]
자동으로 되지 않으면 이 URL을 복사해서
[02:05]
브라우저에 붙여넣으면 됩니다. 보안 안내 사항을 잘 읽어보시고
[02:09]
엔터를 누르세요. 지금은 권장 설정을 그대로 사용하겠습니다.
[02:14]
이제 이것을 조금 옮기고 에디터를 열어보겠습니다.
[02:17]
Cursor든 VS Code든 원하는 에디터를 선택할 수 있습니다. 저는 이번에 PHPStorm을 사용하고
[02:22]
이것을 최대화하겠습니다. claude.md 파일을 초기화하려고 하는데
[02:27]
init을 입력하면 Claude가 작업하는 데 필요한 마크다운 파일을 생성합니다.
[02:31]
이 파일은 여러분이 달성하려는 목표에 따라 Claude에게 지시사항을 제공하는 역할을 합니다.
[02:35]
이상적인 워크플로우라면 멀티 모니터를 사용해서 한쪽 모니터에는 터미널을 열어두고
[02:39]
다른 창에는 에디터나 IDE를 실행하는 거예요. 이 강의에서는 여기 옆쪽에 도킹해서 보여드릴게요
[02:44]
단일 화면을 사용하신다면 이런 식으로 설정하실 수 있어요
[02:48]
이 시점에서 작업하고 싶은 내용을 바로 입력하고 싶으시겠지만
[02:52]
그 전에 먼저 /IDE 명령어를 입력해보겠습니다
[02:54]
이 명령어를 통해 현재 에디터와 IDE 통합을 관리할 수 있어요
[03:00]
안타깝게도 바로 연결이 되지 않았는데, 제가 사용하는 에디터에는 플러그인이 필요하거든요
[03:04]
IDE가 이 환경과 통합되어 개발 기능들에 접근하려면
[03:08]
플러그인을 설치해야 해요. 마켓플레이스로 가서 플러그인을 검색하면 됩니다
[03:13]
이미 설치했지만 여기서 확인해볼 수 있고, Claude는 현재 베타 모드라서
[03:17]
베타 버전이 있어요. PHPStorm 2025 버전을 사용하고 있어서
[03:21]
이걸 설치하면 되고, Visual Studio Code나 Cursor 등 사용하시는 IDE에도 플러그인이 있을 거예요
[03:28]
전체 과정을 보여드릴게요. 다시 입력했는데 보시다시피 작동하지 않네요
[03:32]
이제 init을 한 번 더 실행해보겠습니다. 플러그인을 설치한 후에
[03:38]
init을 다시 실행하니까 프로젝트를 분석하는 능력이 정말 뛰어나더라고요
[03:41]
현재 사용 중인 프레임워크를 확인하는 거죠. 마크다운 파일을 실제로 생성하기 전에
[03:46]
제가 가진 환경을 분석해서 주요 기술들을 살펴봤어요
[03:51]
Laravel을 찾았고, 사용 중인 PHP 버전도 파악했어요
[03:56]
Laravel 스타터 키트에는 Flux 컴포넌트와 Tailwind가 설치되어 있어서 이 기술들도 인식했고
[04:01]
Laravel 프로젝트의 기본 데이터베이스인 SQLite도 정확히 파악했네요
[04:05]
제가 선택한 프레임워크인 Pest와 애셋 컴파일을 위한 Vite도 맞게 인식했어요
[04:10]
이 프로젝트를 설정할 때 Volt는 선택하지 않았는데 어떻게 Volt 컴포넌트가 여기 있는지
[04:15]
확인해보겠습니다. 보통 프로젝트를 생성할 때 제가 틀렸을 수도 있으니 알려주세요
[04:20]
여기쯤에서 Livewire 프로젝트용 Volt 서비스 프로바이더가 있어야 하는데
[04:24]
전역적으로 확인해보면 composer.json 파일에 Volt가 있는 걸 볼 수 있어요
[04:28]
프레임워크 16번 라인을 보면 Volt가 여기 있죠
[04:33]
보시다시피 틀린 게 아니라 프로젝트에 포함된 모든 기술을 정말 잘 파악하고 있어요
[04:38]
마지막 부분에서 claude.md 파일을 생성하는데, 이게 왜 중요한지 설명해드릴게요
[04:43]
예라고 답하고 프로젝트를 확인해서 .md 파일이나 마크다운 파일로 가보겠습니다
[04:48]
여기 코드 뷰를 클릭해보겠습니다
[04:52]
이 파일은 Claude에게 프로젝트의 맥락이 무엇인지
[04:57]
그리고 어떤 작업을 요청할 것인지에 대한 가이드를 제공합니다
[05:00]
Claude에게 어떤 종류의 참고 자료를 제공해서
[05:05]
이 파일을 기반으로 당신이 무엇을 달성하려고 하는지 파악하도록 돕는 거예요
[05:09]
Claude에게 어떤 종류의 참고 자료를 제공해서
[05:13]
참조 자료로 활용되며, 이 파일을 바탕으로 당신이 무엇을 달성하려고 하는지 파악하려고 합니다.
[05:19]
터미널 측면에서는 일반적인 터미널에서 사용할 수 있는 다양한 명령어들을 여전히 사용할 수 있습니다.
[05:22]
일반 터미널처럼 사용할 수 있지만 고유한 특색이 있어서
[05:25]
clear 같은 명령어나 사용 가능한 명령어 목록을 보여주는 help 명령어 같은 것들을 여전히 사용할 수 있습니다.
[05:31]
이것은 처음 사용하는 분들이 어떤 명령어를 사용할 수 있는지 알아보려고 할 때 매우 유용합니다.
[05:34]
제가 Claude에서 발견한 것 중 하나는 나쁘다는 게 아니라 단지
[05:38]
다른 AI 프로그래밍 도우미들에서 익숙했던 것과는 달라서 말인데, Claude가 프로젝트를 수정했을 때
[05:43]
예를 들어 이 프로젝트에서 뭔가를 수정하고 작업을 요청해서
[05:47]
적용하기로 선택했다면, 실제로는 되돌릴 수 없는 것 같습니다.
[05:50]
그래서 Git 같은 버전 관리 시스템을 사용해야 할 것 같습니다.
[05:55]
그래서 저는 프로젝트 내에서 터미널을 열고
[05:58]
git init을 실행하겠습니다. 이것을 지우고 제가 이렇게 한 이유는
[06:02]
git을 사용해서 커밋과 변경사항을 추적하면, 점진적으로 변경을 하고
[06:06]
그 변경사항을 커밋했는데, 뭔가 끔찍한 일이 일어나거나 예상과 다른 일이 일어났다면
[06:10]
git 브랜치를 롤백하고 다시 시도할 수 있기 때문입니다.
[06:14]
Claude 코드는 현재로서는 이런 기능을 잘 지원하지 않는 것 같습니다.
[06:18]
다른 구현 방법이나 다른 방식이 있다면 알려주세요. ChatGPT에서는
[06:24]
실제 IDE와 연결했을 때 적용하거나 되돌릴 수 있는 기능이 있는데
[06:28]
이는 좋은 기능이지만, Claude와 Claude 코드에서 제가 좋아하는 점은
[06:31]
정확성과 실제로 원하는 것에 얼마나 가까운지입니다.
[06:36]
실제로 코드를 확인하고 싶어하죠. 풀 리퀘스트를 하는 것과 거의 같습니다.
[06:40]
처음부터 답변을 그대로 받아들여서 코드에 바로 적용하지는 않을 것입니다.
[06:44]
그렇게 하고 싶은 유혹이 있을 수 있지만, 무엇을 달성하려고 하는지 알고 있어야 하고
[06:48]
제공된 코드를 적용할 때 그것이 합리적인지 확인해야 합니다.
[06:52]
이것이 프로젝트에서 Git을 사용하려는 이유 중 하나이고
[06:55]
Git Kraken이나 GitHub Desktop 같은 도구를 사용할 수 있습니다.
[06:58]
파일 변경사항이 무엇인지 확인하고 필요하다면 롤백해서 다음 작업으로 넘어갈 수 있습니다.
[07:03]
이 시점에서 작업 중인 프로젝트에 대해 더 많이 알고 있다면
[07:06]
자신만의 컨텍스트나 규칙을 추가할 수 있고, 여기에 나열된 것들 외에도
[07:10]
그런 것들을 따르는 데 도움이 될 것입니다. 여기가 컨텍스트를 가져오는 곳이므로
[07:16]
여기서 변경을 하고 싶을 수도 있습니다. 'SQLite를 사용하지 않고 MySQL을 사용하고 싶다'고 말이죠.
[07:20]
다시 터미널로 돌아가서 shift tab을 누르면 여러 모드를 순환할 수 있습니다.
[07:26]
여기에는 자동 편집 승인이 켜져 있고, 저기에는 계획 모드가 켜져 있습니다.
[07:30]
계획 모드로 들어가면 꽤 재미있는 기능입니다. 계획 모드가 켜진 상태에서
[07:35]
'스트리밍 서비스 생성을 도와줘'라고 말할 수 있습니다. 꽤 일반적으로 말하고 있는데, 이것을 통해 도움을 받을 수 있습니다.
[07:42]
스트리밍 서비스 애플리케이션을 만드는 데 필요한 것들을 계획해보겠습니다.
[07:47]
이 기능은 꽤 많은 토큰을 소모하고, 어떤 플랜을 사용하는지에 따라
[07:50]
한도에 꽤 빨리 도달할 수 있고, 리셋 주기도 플랜에 따라 다릅니다.
[07:53]
초보자이거나 프로그래밍을 막 배우는 분들에게는 꽤 비쌀 수 있어요.
[07:56]
일반적으로 이 도구를 활발히 사용하는 개발자들은 충분한 혜택을 보겠지만,
[08:00]
실험하거나 학습 목적으로 사용하려는 분들은
[08:03]
초기에는 비용 대비 효과가 그리 좋지 않을 수 있습니다.
[08:08]
길게 얘기해서 죄송합니다. 튜토리얼에서 주관적인 의견을 너무 많이 넣지 않으려 하는데,
[08:11]
이 점은 고려해보시면 좋을 것 같습니다.
[08:16]
그럼 Claude가 어떤 작업을 했는지 살펴보겠습니다. 여기에 데이터베이스 아키텍처를 제시해주고,
[08:20]
특정 모델들을 생성해야 한다고 알려줍니다.
[08:22]
영화, TV 카테고리 같은 것들, 구독 계층 등이죠. 그리고 흥미롭게도
[08:26]
생성해야 할 백엔드 컴포넌트들도 알려줍니다.
[08:29]
다양한 품질 레벨을 위한 큐 기반 비디오 인코딩 같은 것들 말이죠.
[08:34]
프론트엔드 기능들과 스타일링 방법도 제안해줍니다.
[08:40]
정말 흥미로운 내용이고, 전체적인 구조를 어떻게 설계할지에 대한 아이디어를 제공합니다.
[08:44]
프로젝트에 적합한 핵심 Livewire 컴포넌트들도 알려줍니다.
[08:47]
Vue나 React, 또는 Laravel에서 제공하는 다른 템플릿을 사용하는 경우에도
[08:53]
원하는 대로 생성한 커스텀 프로젝트에서도 활용할 수 있습니다.
[08:58]
저는 Xcode로 애플리케이션을 만들 때도 이 도구를 사용해봤는데요,
[09:01]
거의 모든 프로젝트에 통합할 수 있습니다. npm을 사용해서
[09:07]
작업 중인 프로젝트 코드베이스에 설치하면 최대한 도움을 주려고 합니다.
[09:12]
진행을 선택하면 이 애플리케이션을 구체화하는 데 도움을 주고,
[09:15]
아니면 계속 계획을 세우고 싶다고 할 수도 있습니다. 지금은 계속 계획을 세우겠다고 하고,
[09:19]
Shift+Tab을 다시 누르면 다른 질문을 할 수 있습니다. Claude 코드는
[09:23]
명령을 받아서 작업을 수행할 뿐만 아니라, 이미지를 드래그해서 분석하거나 파일을 분석할 수도 있고,
[09:28]
URL을 사용해서 만들고자 하는 것에 대한 맥락을 제공할 수도 있습니다.
[09:32]
흥미로운 점은 훈련 모델, 즉 학습 모델이
[09:35]
2025년 3월까지만 학습되어 있어서 여전히 꽤 최신 정보를 가지고 있지만, 3월 이후의 정보는
[09:41]
알지 못합니다. 하지만 여기서 URL을 제공하면
[09:45]
웹을 검색해서 그 정보를 찾아주는데, 이 기능이 정말 유용합니다.
[09:49]
별도의 터미널에서 실행하는 것 외에도
[09:52]
IDE에서 Claude라고 입력해서 실행할 수도 있어서, 두 개를 다 열어둘 필요가 없습니다.
[09:57]
PHPStorm 안에서 같은 명령들을 실행할 수 있습니다.
[10:01]
내부 IDE 터미널을 닫고 이 애플리케이션을 시작해보겠습니다.
[10:05]
흥미로운 할 일 목록을 제공해주네요. 수행해야 할 작업들이 여기 있다고 합니다.
[10:09]
이 작업을 완료하기 위해 해야 할 일들의 목록이 나옵니다. 미리 말씀드리면, 우리는 그냥 yes라고 답할 거예요.
[10:12]
작업이 끝나고 나서 migrations 디렉토리를 열어보니 장르(genres) 테이블이 생성되어 있었습니다.
[10:15]
ID 컬럼과 timestamp 컬럼이 만들어졌네요. 이제 movies 테이블을 생성하겠다고 하면
[10:20]
yes라고 답하겠습니다. create movies table migration을 확인해보면
[10:25]
스키마 안에 이런 내용이 있는 걸 볼 수 있습니다. 그런데 프로젝트 안의 migrations를 확인해보면
[10:32]
파일들은 있지만 컬럼들이 빠져있어요. 예상했던 컬럼들이 없습니다.
[10:36]
movies migration과 genres migration을 만들겠다고 했을 때 기대했던 컬럼들이 없고
[10:42]
토큰을 소모하면서도 실제로 원하는 결과를 주지 않는 상황입니다.
[10:46]
이럴 때 더 많은 맥락을 제공하거나 매우 구체적인 명령을 내려야 합니다.
[10:50]
원하는 결과를 얻으려면 정말 명확하게 지시해야 해요.
[10:54]
그래서 이 옵션을 선택하겠습니다. 여기서 no라고 하고 Claude에게
[10:57]
다르게 해야 할 일을 알려주겠습니다. 예를 들어, movies 테이블 migration을 업데이트해서
[11:05]
실용적인 표준 컬럼들을 추가해달라고 하겠습니다. 어떻게 되는지 보죠.
[11:11]
이제 완료됐습니다. 제가 지시한 대로 하고 실용적인 컬럼들을 만들어줬네요.
[11:16]
title, description, synopsis, poster path가 있고, 저라면 이름을 조금 다르게 짓겠지만
[11:20]
일단 Claude가 하는 대로 두겠습니다. backdrop path, trailer URL, video path 등등이 있네요.
[11:26]
결국 어느 정도 손을 잡아주거나 정말 구체적인 방식으로 프롬프트를 작성해야 합니다.
[11:31]
구체적인 제어를 해주지 않으면 일반적인 결과를 만들어내려고 하거든요.
[11:35]
이런 상황에서 git이 유용합니다. 지금 genres와 movies
[11:38]
두 개의 migration을 만들어줬네요. 보통이라면 다른 브랜치를 만들거나
[11:42]
다른 방식으로 하겠지만, 데모를 위해서는
[11:46]
아직 초기 커밋 상태에 있고 이것들이 새로 추가된 내용입니다.
[11:49]
Claude로 돌아가서 이걸 보고 '좋아, 이 수정사항들을
[11:52]
적용하자'라고 하겠습니다. 수정사항을 확인하고 movies migration으로 가서
[11:56]
수정사항을 확인해보면, 이제 migration에서 일반적으로 기대하는
[12:00]
컬럼들이 생겼습니다. 그런데 이 데이터 타입들이
[12:04]
가장 적절하거나 효율적이지 않을 수도 있으니 조정해야 할 거예요.
[12:08]
최선을 다해 도움을 주려고 하지만, 프롬프트가 충분히 구체적이지 않거나
[12:12]
원하는 맥락을 제공하지 않으면, 아마 예상하지 못한 결과를 줄 거예요.
[12:17]
여기서 더 자세히 들어가지는 않겠습니다. 간단히 알려드리고 싶었고
[12:19]
사실 이 영상이 제가 원했던 것보다 길어졌어요.
[12:22]
댓글로 알려주세요. 이런 AI 워크플로우가 Cursor나
[12:26]
GPT 사용과 비교해서 관심이 있으신지요. 저는 iOS 26을 사용하고 있는데
[12:32]
흥미롭게도 Swift Apple Intelligence 코딩 어시스턴트가 내장되어 있어서 정말 멋져요.
[12:38]
도움이 되었길 바랍니다. 저는 이런 영상을 많이 만들지 않아요.
[12:40]
다른 개발자들에게 특정 워크플로우를 강요하고 싶지 않거든요.
[12:45]
하지만 이런 도구가 있다는 걸 알려드리고 싶었고, 꽤 좋아요.
[12:47]
시간이 지나면서 변화할 것이고 훨씬 더 나아질 거라고 생각합니다.
[12:51]
여기서 마무리하겠습니다. 조심하시고 다음 영상에서 만나요.
[12:53]
시청해주셔서 감사합니다. 도움이 되었길 바라며 생각과 댓글을 남겨주세요.
[12:57]
아래 설명란에서 추가 자료를 확인하시고, 더 많은 콘텐츠를 원하신다면 다음 영상을 강력 추천합니다.