[00:00]
이 영상에서는 n8n 워크플로우에
[00:01]
Grok 4를 추가하는 방법을 보여드리겠습니다. Grok 4는
[00:05]
현재 다양한 테스트에서 벤치마크 1위를 차지하고 있으며
[00:07]
뛰어난 성능을 보여주고 있습니다.
[00:09]
03 Pro, Gemini 2.5 Pro
[00:12]
그리고 Claude 4 Sonnet을 포함한 여러 벤치마크에서
[00:16]
뛰어난 성능을 보입니다. 따라서
[00:18]
256,000 토큰의 컨텍스트 윈도우를 가지고 있는데
[00:21]
Gemini 2.5 Pro만큼은 아니지만
[00:24]
다른 경쟁 모델들과 비슷한 수준이며
[00:27]
가격대도 Claude Sonnet과 매우 유사합니다.
[00:30]
Grok 4는 다중 모달 모델이라는 점을 언급하고 싶습니다.
[00:32]
비전 기능과 내장된 도구 사용을
[00:34]
지원합니다.
[00:36]
따라서 이 영상은 Grok 4에 대한
[00:39]
리뷰이기도 합니다.
[00:41]
Grok 4는 STEM 작업에 매우 뛰어나다고 알려져 있습니다.
[00:44]
따라서 이 영상에서는
[00:46]
실제로 코드를 작성해달라고 요청하고
[00:49]
그 코드를 Claude Sonnet과 같은 모델과
[00:51]
비교해보겠습니다.
[00:52]
또한 이 모델의 비전 기능과
[00:55]
내장된 웹 검색 도구도
[00:57]
테스트해보겠습니다.
[00:59]
시작하려면 x.ai로 가서
[01:02]
API와 API 콘솔 로그인을 클릭하세요.
[01:07]
이 플랫폼을 처음 사용하신다면
[01:11]
간단한 설정 과정을 거쳐야 합니다.
[01:13]
계정에 크레딧을 충전하라고
[01:14]
요청할 것입니다.
[01:17]
최소 5달러부터 추가할 수 있습니다.
[01:19]
설정 과정을 완료한 후
[01:22]
API 키를 클릭하세요.
[01:24]
여기서 API 키 생성을 클릭합니다.
[01:28]
N tutorial과 같은 이름을 지어주고
[01:31]
저장을 클릭하세요. 이렇게 하면
[01:35]
API 키를 받게 됩니다.
[01:38]
이를 복사하세요. 그리고 n8n으로 돌아가서
[01:41]
워크플로우 생성 옆 드롭다운을 클릭하고
[01:43]
자격 증명 생성을 클릭합니다.
[01:46]
이 목록에서 X AI를 검색하고
[01:49]
계속을 클릭하세요.
[01:52]
X AI YouTube와 같은 이름을 지어주고
[01:55]
API 키를 붙여넣고 저장을 클릭합니다.
[01:59]
모든 것이 올바르게 완료되면
[02:02]
이 녹색 메시지를 받게 됩니다.
[02:04]
실패한다면 아마도 계정에 크레딧을
[02:06]
아직 충전하지 않았기 때문일 것입니다.
[02:08]
이제 자격 증명을 추가했으므로
[02:10]
새 워크플로우를 생성할 수 있습니다.
[02:12]
간단히 Grok 4 에이전트라고 부르겠습니다.
[02:15]
새 트리거를 추가하겠습니다.
[02:18]
채팅 트리거를 추가하겠습니다.
[02:21]
그리고 AI 추가를 클릭하고
[02:23]
AI 에이전트를 추가하겠습니다.
[02:28]
그리고 채팅 모델을 추가하겠습니다.
[02:31]
이번에는 XAI를 검색하겠습니다.
[02:34]
X AI Grok을 클릭하고
[02:37]
방금 생성한 자격 증명을 선택하고
[02:39]
모델 목록에서 Grok 4 0709를
[02:42]
선택할 수 있습니다.
[02:45]
이것이 이 모델의 최신 버전이며
[02:47]
우리가 해야 할 일은 이게 전부입니다.
[02:50]
원한다면 메모리를 추가할 수 있습니다.
[02:53]
20정도의 컨텍스트 윈도우 길이를 가진
[02:56]
간단한 메모리 노드를 추가하겠습니다.
[02:59]
이제 이것을 테스트할 수 있어야 합니다.
[03:01]
채팅에서 안녕하세요라고 해봅시다.
[03:05]
몇 초 후에 실제로
[03:07]
응답을 받을 수 있습니다.
[03:10]
좋습니다. Grok 4는 수학, 과학, 코딩과 같은
[03:13]
STEM 작업에 매우 뛰어나다고 알려져 있습니다.
[03:16]
따라서 Grok을 뛰어난 코딩 능력을 가진
[03:18]
Claude Sonnet과 같은 모델과 비교해봅시다.
[03:20]
모델입니다. 이 노드의 이름을 간단히 Grok 4로 바꾸겠습니다.
[03:23]
그리고 이 워크플로우에 또 다른 모델을 추가하겠습니다.
[03:27]
Anthropic 채팅 모델을 추가해보겠습니다.
[03:30]
Claude Sonnet을 선택하겠습니다.
[03:33]
이렇게 말이죠.
[03:36]
이 노드의 이름도 Claude Sonnet으로 바꾸겠습니다.
[03:38]
자, 이제 Claude에게 코드를 작성해달라고 요청해보겠습니다.
[03:42]
그다음 Grok 4에게도 같은 테스트를 해보겠습니다.
[03:44]
좋습니다.
[03:46]
채팅에서 새로운 채팅을 시작하겠습니다.
[03:49]
꽤 상세한 프롬프트를 작성하겠습니다.
[03:51]
모델에게 최대한 성공할 기회를 주고 싶거든요.
[03:53]
자, 이렇게 말해보겠습니다.
[03:55]
여기서 성공할 수 있는 최고의 기회를 주고 싶습니다.
[03:57]
Next.js 15를 사용해서 피트니스 트래커 앱을 만들어보겠습니다.
[04:00]
React 19, Tailwind CSS, 그리고 Shad CN을 사용해서
[04:04]
스타일링과 컴포넌트를 구성하겠습니다.
[04:10]
그리고 SQLite 데이터베이스를 사용해서
[04:13]
데이터를 로컬에 저장하도록 하겠습니다.
[04:19]
데이터베이스와 테이블이 아직 존재하지 않으면 생성하도록 하겠습니다.
[04:24]
그리고 마지막으로, 현재 단계에서는 사용자나 인증을 추가하지 마세요.
[04:28]
저 혼자만 사용할 거니까요.
[04:33]
앱을 간단하게 유지하고 앱을 유용하게 만들기 위한
[04:38]
최소한의 기능만 추가하세요.
[04:40]
앱을 유용하게 만들기 위한 기능들만요.
[04:43]
이제 이걸 Claude에게 보내겠습니다.
[04:46]
좋습니다.
[04:47]
빠르게 살펴보겠습니다.
[04:49]
프로젝트 설정 지침이 있고, 데이터베이스 설정도 있습니다.
[04:52]
그리고 우리가 만들어야 할 모든 컴포넌트들이 있습니다.
[04:53]
이제 제가 할 일은
[04:56]
실제로 이 모든 것을 코드 에디터로 복사해서
[04:58]
테스트해보는 것입니다.
[05:00]
좋습니다.
[05:02]
Cursor에서 이 빈 폴더를 열었습니다.
[05:04]
단순히 이 모든 지침을 따라가겠습니다.
[05:06]
이 프로젝트 설정 내용을 복사해서
[05:09]
터미널에서 실행하겠습니다.
[05:11]
이런 종속성들이 설치되는 동안
[05:13]
각 파일들을 수동으로 복사하겠습니다.
[05:15]
좋습니다.
[05:17]
이 파일들을 복사하는 동안
[05:19]
이 특정 라우트가 실제로 불완전하다는 것을 발견했습니다.
[05:22]
그래서 제가 단순히 한 일은
[05:25]
'계속'을 입력한 것이고, Claude가
[05:27]
나머지 컴포넌트들을 계속 생성할 수 있었습니다.
[05:29]
이것이 반드시 Claude의 잘못은 아닙니다.
[05:31]
아마도 어딘가에 최대 토큰 값이 설정되어 있을 것입니다.
[05:33]
하지만 이 모든 코드를 계속 복사하겠습니다.
[05:36]
좋습니다.
[05:38]
모든 코드와 컴포넌트를 복사했고
[05:40]
개발 서버를 시작했습니다.
[05:43]
그리고 이것이 현재 앱의 모습입니다.
[05:45]
이제 스타일링이 모두 엉망인 것 같습니다.
[05:47]
저는 이것을 고치지 않을 것입니다.
[05:49]
왜냐하면 이 모델들이 원샷 프롬프트로
[05:51]
무엇을 할 수 있는지 정말로 보고 싶기 때문입니다.
[05:53]
이제 '달리기'와 같은 것을 입력해보겠습니다.
[05:55]
날짜는 그대로 두고
[05:58]
30분 동안 달렸고 피곤했다고 해보겠습니다.
[06:01]
이 운동을 기록해보겠습니다.
[06:04]
달리기가 추가된 것을 볼 수 있습니다.
[06:08]
그리고 여기서 삭제할 수 있습니다.
[06:10]
또는 이 버튼을 클릭하면
[06:13]
추가 운동도 추가할 수 있는 것 같습니다.
[06:15]
제가 테스트하고 싶은 것은
[06:17]
데이터가 지속되는지 여부입니다.
[06:20]
즉, 데이터가 실제로 데이터베이스에 추가되는지 말입니다.
[06:23]
이 페이지를 새로고침해보겠습니다.
[06:25]
달리기가 여전히 거기 있는 것을 볼 수 있습니다.
[06:28]
따라서 실제로 데이터베이스도 사용하고 있습니다.
[06:31]
코드를 보면 그렇게 많은 구문 오류는 없습니다.
[06:34]
하지만 실패하고 있는 이 하나의 import가 있는 것을 볼 수 있습니다.
[06:36]
그리고 스타일링이 제대로 작동하지 않는 것을 방해하는
[06:39]
다른 문제들이 있을 수도 있습니다.
[06:41]
실패하고 있습니다. 그리고 스타일링이
[06:43]
제대로 작동하지 않는 다른 문제들도
[06:45]
있을 수 있습니다. 하지만 Grok 4가
[06:47]
동일한 프롬프트로 어떤 성과를 보이는지 확인해보겠습니다.
[06:50]
Claude Sonnet을 Grok 4로 교체해보겠습니다.
[06:53]
그리고 채팅에서 정확히 동일한 프롬프트를 입력해서
[06:56]
Grok 4가 어떻게 하는지 살펴보겠습니다.
[06:59]
좋아요, 이 응답을 살펴보겠습니다.
[07:02]
주요 기능들을 제공해주고 있는데
[07:04]
실제로 정말 좋네요. Claude 4에서는
[07:06]
이런 것을 본 기억이 없거든요.
[07:08]
기술 스택의 분석을 제공해주고
[07:11]
프로젝트 설정
[07:13]
지침들을 제공해주고 있습니다.
[07:14]
이제 이 모든 지침을 실행하고
[07:17]
이 모든 파일들을 수동으로
[07:19]
복사해보겠습니다. 이 과정을 진행하면서
[07:22]
실제로 매우 흥미로운 것을
[07:24]
발견할 수 있었습니다.
[07:25]
Claude 4에서는 코드 중간에
[07:27]
일부 컴포넌트를 생성하고 나서
[07:29]
계속 진행하려면 'continue' 같은
[07:31]
명령어를 입력해야 했습니다.
[07:33]
이는 단순히 최대 토큰이
[07:35]
어딘가에 설정되어 있기 때문일 수도 있습니다.
[07:37]
하지만 Grok에서는 실제로
[07:39]
완전한 뷰를 얻을 수 있습니다.
[07:41]
스크롤을 내리면 모든 것을 볼 수 있습니다.
[07:43]
모든 코드와 앱을 실행하는 지침들
[07:47]
그리고 추가 메모들을 얻을 수 있습니다.
[07:49]
따라서 우리는 단일 응답으로
[07:51]
모든 것을 얻을 수 있었던 것 같습니다.
[07:54]
그리고 이 응답은 Claude 4에서
[07:55]
받은 것보다 훨씬 짧습니다.
[07:58]
하지만 물론 최종 결과에 달려있죠.
[07:59]
흥미롭게도 Grok 4는
[08:02]
TypeScript 대신 JavaScript를 사용하기로 결정했습니다.
[08:04]
그리고 많은 프로덕션 급
[08:06]
애플리케이션의 경우
[08:08]
TypeScript를 사용하는 것이 좋습니다.
[08:10]
따라서 프롬프트를 줘보겠습니다.
[08:12]
TypeScript를 대신 사용해달라고 했습니다.
[08:15]
JavaScript가 기본값이고 TypeScript가 아닌 것이
[08:18]
흥미롭다고 생각했습니다.
[08:20]
좋아요. 이제 TypeScript로
[08:22]
솔루션을 제공해준 것 같습니다.
[08:24]
계속해서 이 모든 것을
[08:26]
복사하겠습니다. 좋아요.
[08:28]
모든 파일을 복사했습니다.
[08:31]
Grok이 말하기를 앱을 실행하려면
[08:33]
이 tsconfig.json
[08:36]
파일을 추가해야 한다고 하는데
[08:38]
우리는 이미 가지고 있습니다.
[08:41]
그런 다음 이 명령을 실행하라고 합니다.
[08:44]
터미널에서 이것을 실행하고
[08:47]
이 페이지를 열어보겠습니다.
[08:49]
좋아요, 실제로 이 앱에 스타일링이
[08:51]
적용된 것 같습니다. 운동 기록으로 가보겠습니다.
[08:54]
이 폼이 훨씬 더 좋아 보이고
[08:57]
shadcn 컴포넌트를 사용하는 것 같습니다.
[09:00]
운동의 경우 스쿼트라고
[09:03]
입력하겠습니다. 10세트에 10회로 하고
[09:06]
운동 추가를 클릭하겠습니다.
[09:09]
좋아요, 이것은 단순히
[09:11]
더 많은 운동을 추가할 수 있게 해줍니다.
[09:14]
운동 저장을 클릭해보겠습니다.
[09:16]
Zod 라이브러리에서 오류가
[09:19]
발생하는 것 같습니다. 이 오류를 복사해서
[09:23]
Grok 4에게 주고
[09:25]
이 문제를 해결할 수 있는지 확인해보겠습니다.
[09:27]
좋아요, 우리가 해야 할
[09:29]
몇 가지 변경사항을 알려주고 있습니다.
[09:31]
이 모든 코드를 복사하고
[09:33]
다시 시도해보겠습니다. 좋아요.
[09:36]
모든 것을 복사했습니다. 다시 저장해보겠습니다.
[09:38]
운동 로그 기록됨이라는 메시지를 받았습니다. 대시보드로 돌아가보겠습니다.
[09:40]
대시보드에서 운동 하나가 로그됐다는 걸 확인할 수 있습니다.
[09:43]
기록 페이지로 가면 이 날짜 아래에 항목이 있는 것을 볼 수 있습니다.
[09:45]
이걸 확장하면 아무것도 표시되지 않는 것 같습니다.
[09:48]
하지만 흥미로운 점은 운동 하나가 로그됐다고 나와 있다는 것입니다.
[09:51]
제가 생각하기에는 이게 데이터베이스에서 운동 기록을 가져오는 것 같습니다.
[09:53]
하지만 UI에서 제대로 표시되지 않고 있습니다.
[09:55]
진짜 테스트는 이 페이지를 새로고침했을 때입니다.
[09:57]
여전히 하나의 항목이 보이는데, 이는 SQL 데이터베이스가
[09:59]
실제로 생성되었고 이 데이터가 지속되고 있다는 의미입니다.
[10:01]
마지막으로 한 번 더 시도해보겠습니다.
[10:03]
채팅에서 말해보겠습니다.
[10:06]
운동을 로그한 후 대시보드에서 하나의 운동이 있는 것을 볼 수 있습니다.
[10:09]
카운터만 보이고, 기록 페이지에 가면
[10:11]
운동이 없다고 나옵니다.
[10:14]
마지막으로 한 번 더 기회를 주고 결과를 보겠습니다.
[10:18]
잠재적인 수정사항을 제공하고 있습니다.
[10:21]
이걸 복사해서 다시 시도해보겠습니다.
[10:27]
변경사항을 적용했습니다. 기록 페이지로 가보겠습니다.
[10:31]
이걸 확장하면 이제 실제로 운동 기록이 보입니다.
[10:35]
댓글로 어떤 모델이 이 앱을 만드는 데 더 좋았는지 알려주세요.
[10:38]
제 생각에는 Claude가 애플리케이션을 생성하는 데
[10:40]
훨씬 더 많은 토큰을 사용했습니다.
[10:41]
첫 번째 시도에서 데이터베이스는 제대로 만들었지만
[10:44]
스타일링이 완전히 잘못되었습니다.
[10:46]
반면 Grok은 훨씬 적은 토큰을 사용했고
[10:48]
최소한의 애플리케이션을 요청했는데
[10:51]
Grok이 실제로 제가 요청한 것을 제공했다고 생각합니다.
[10:54]
하지만 기록 보기가 작동하도록 하기 위해 세 번이나 다시 물어봐야 했습니다.
[10:56]
이제 Grok 4는 비전 기능도 지원합니다.
[10:58]
워크플로우에 비전 기능을 추가하는 방법을 살펴보겠습니다.
[11:00]
마지막으로 Grok의 기본 웹 검색 기능도 살펴보겠습니다.
[11:04]
먼저 비전 기능을 추가해보겠습니다.
[11:06]
이걸 Grok 비전 데모라고 부르겠습니다.
[11:08]
이번에는 간단하게 유지하겠습니다.
[11:11]
수동 트리거를 추가하겠습니다.
[11:14]
다음으로 HTTP 노드를 추가하겠습니다.
[11:16]
N8N의 Grok 노드가 현재 이미지 처리를 지원하지 않기 때문입니다.
[11:18]
대신 Grok API를 사용해서 이미지를 분석하겠습니다.
[11:20]
메서드를 POST로 변경하겠습니다.
[11:23]
URL에는 https://api.x.ai/v1/chat/completions를 입력합니다.
[11:26]
인증 아래에서 일반 자격증명 유형을 클릭합니다.
[11:28]
OAuth 유형에서 헤더 OAuth를 선택합니다.
[11:30]
새로운 자격증명을 만들어보겠습니다.
[11:32]
이걸 X AI 인증 데모라고 부르겠습니다.
[11:35]
이 필드의 이름은 authorization이라고 해야 하고
[11:37]
정확히 이렇게 입력해야 합니다.
[11:40]
값에는 bearer를 입력해야 합니다.
[11:42]
메모장을 사용하고 있는 이유는
[11:44]
이 필드에 입력하면 실제로 마스킹되어서
[11:47]
제가 무엇을 하는지 보실 수 없기 때문입니다.
[11:50]
이 값은 bearer 다음에 공백 그리고
[11:53]
앞서 생성한 API 토큰입니다.
[11:56]
XAI 토큰입니다.
[11:58]
이 모든 것을 이 필드에 붙여넣으면 됩니다.
[12:01]
메서드를 POST로 변경하겠습니다.
[12:03]
URL에는 https://api.x.ai/v1/chat/completions를 입력합니다.
[12:07]
인증 아래에서 일반 자격증명 유형을 클릭합니다.
[12:16]
OAuth 유형에서 헤더 OAuth를 선택합니다.
[12:19]
새로운 자격증명을 만들어보겠습니다.
[12:22]
이걸 X AI 인증 데모라고 부르겠습니다.
[12:24]
이 필드의 이름은 authorization이라고 해야 하고
[12:27]
정확히 이렇게 입력해야 합니다.
[12:32]
값에는 bearer를 입력해야 합니다.
[12:34]
메모장을 사용하고 있는 이유는
[12:37]
이 필드에 입력하면 실제로 마스킹되어서
[12:40]
제가 무엇을 하는지 보실 수 없기 때문입니다.
[12:43]
이 값은 bearer 다음에 공백 그리고
[12:46]
앞서 생성한 API 토큰입니다.
[12:48]
XAI 토큰입니다.
[12:50]
이 모든 것을 이 필드에 붙여넣으면 됩니다.
[12:53]
그러면 제대로 작동할 것입니다.
[12:56]
다음 단계로 넘어가보겠습니다.
[13:00]
이제 모든 설정이 완료되었습니다.
[13:03]
비전 기능을 테스트해볼 준비가 되었습니다.
[13:06]
그런 다음 이것을 저장하세요. 이미 자격 증명을 만들었으므로 다시 수행하지 않겠습니다.
[13:10]
따라서 이미 만든 것을 선택하겠습니다.
[13:12]
그런 다음 send body를 활성화해보겠습니다.
[13:14]
그리고 specify body에서 JSON 사용을 클릭하세요.
[13:18]
그런 다음 이 JSON 필드에서 expression으로 전환하겠습니다.
[13:22]
이것을 확장해보겠습니다.
[13:24]
그리고 이 필드에 다음 JSON 구조를 붙여넣겠습니다.
[13:28]
이 비디오 설명에서 복사할 수 있습니다.
[13:30]
이것은 XAI가 기대하는 페이로드입니다.
[13:33]
여기서 사용자 메시지를 전달할 수 있습니다.
[13:35]
따라서 여기에서 간단히 '이미지를 설명하세요'와 같이 말할 수 있습니다.
[13:37]
그런 다음 image URL 아래에 이미지 URL을 제공할 수 있습니다.
[13:42]
예를 들어 픽셀로 가서 이 이미지를 가져오겠습니다.
[13:45]
그런 다음 URL을 복사하고 이 필드에 붙여넣겠습니다.
[13:47]
이제 우리가 해야 할 일은 단계를 테스트하는 것뿐입니다.
[13:50]
그리고 좋습니다. 응답을 살펴보겠습니다.
[13:53]
여기서 어시스턴트의 응답을 볼 수 있습니다.
[13:57]
그리고 내용에서 이렇게 말하고 있습니다:
[14:00]
"이 이미지는 고요하고 그림 같은 해변 장면을 담고 있습니다.
[14:02]
바다를 내려다보는 야외 카페나 테라스에서 찍은 것 같습니다."
[14:04]
좋습니다. 이것이 워크플로우에서 Grok Vision을 사용하는 방법입니다.
[14:07]
그리고 마지막으로 Grok은 내장된 웹 검색 기능도 제공합니다.
[14:09]
따라서 N8에서 이 에이전트에게 'X AI의 최신 뉴스는 무엇입니까?'와 같은 것을 질문했다면
[14:11]
우리는 단순히 2024년 10월의 오래된 답변을 받게 될 것이고, 물론 이것은 최신 뉴스가 아닙니다.
[14:15]
이제 N8이 가까운 미래에 웹 검색을 가능하게 하는 기능을 출시하기를 바라지만, 지금 그 기능을 사용하려면 다음과 같이 할 수 있습니다.
[14:27]
수동으로 다른 트리거 노드를 추가하겠습니다.
[14:29]
그런 다음 XAI API를 호출할 것이므로 HTTP 요청 노드를 다시 추가하겠습니다.
[14:34]
방법으로는 post를 선택하겠습니다.
[14:37]
URL의 경우 비전 기능에 사용한 것과 동일한 엔드포인트를 사용하겠습니다.
[14:40]
인증의 경우 일반 자격 증명 유형을 선택하고
[14:43]
이전에 만든 header O와 X AI 헤더를 선택하겠습니다.
[14:45]
그런 다음 body에서 이것을 JSON으로 변경하겠습니다.
[14:48]
expression으로 전환해보겠습니다.
[14:50]
이것을 확장해보겠습니다.
[14:52]
그런 다음 이 페이로드를 추가하겠습니다.
[14:55]
그리고 다시 비디오 설명에서 복사할 수 있습니다.
[14:58]
그리고 우리가 하는 일은 사용자 메시지를 전달하는 것입니다.
[15:01]
그리고 우리는 또한 검색 매개변수 속성을 포함하고 있습니다.
[15:04]
이것은 N8 팀이 가까운 미래에 상당히 쉽게 추가할 수 있는 것 같습니다.
[15:06]
하지만 이 간단한 매개변수는 웹 검색 모드를 활성화할 것입니다.
[15:09]
이제 단계를 실행하면
[15:11]
2025년 7월 13일 기준으로 최신 정보를 제공하는 에이전트의 응답을 받게 됩니다.
[15:13]
그리고 아래로 스크롤하면 인용문도 받게 됩니다.
[15:16]
많은 다른 인용문과 함께 최신 정보를 제공합니다.
[15:19]
이 비디오를 즐겼기를 바라며, 그렇다면
[15:22]
좋아요 버튼을 누르고 더 많은 N8 콘텐츠를 위해 내 채널을 구독해주세요.
[15:25]
YouTube가 다음 비디오를 흥미롭게 생각할 것입니다.
[15:27]
따라서 지금 화면의 카드를 클릭하고
[15:29]
다음에 만나뵙겠습니다.
[15:31]
[15:33]
[15:36]
[15:38]
[15:40]
[15:43]
[15:46]
[15:49]
[15:51]
[15:54]
[15:58]
[16:00]
[16:03]
[16:06]
[16:08]
[16:10]
[16:12]
[16:14]
[16:16]
[16:18]
[16:20]