영상 스타일 적용 02 | Whiteboard Explainer로 C언어 for문 실행 순서를 판서 영상으로 바꾸기
AI AUTOMATA · VIDEO STYLE 사례02 · Whiteboard Explainer
for문은 어떤 순서로 실행될까 — 코드·변수·출력을 연결하는 판서 영상
for 문 한 줄에는 초기식, 조건식, 증감식이 나란히 적혀 있습니다. 그런데 컴퓨터가 실행하는 순서는 적힌 순서와 다릅니다. 이 글은 교재의 CODE 7.1을 한 장의 화이트보드 위에서 직접 실행해 보이는 영상을 만들고, 그 영상을 만든 스타일 지침과 프롬프트, 검증 과정을 함께 공개합니다.
① 원본 스타일: Whiteboard Explainer
원본은 Lemomo(LemoLab)가 공개한 영상 스타일 모음 Lemo-Opuscar의 Whiteboard Explainer(식별자 whiteboard)입니다. 시연 작품은 Einstein in Your Pocket(1:51)으로, 휴대전화가 GPS로 위치를 아는 원리를 한 장의 화이트보드에 그려 가며 설명합니다. 아래 영상은 원작자의 작품이며, 원본 주소를 그대로 연결했습니다.
원작: Lemomo / LemoLab, Einstein in Your Pocket — Whiteboard Explainer 시연 영상(CC BY 4.0). 이 플레이어는 원본 저장소의 영상 주소를 연결합니다. 재생되지 않으면 아래 ‘원본 영상 열기’를 이용하세요.
원본 영상 열기 ↗원본 STYLE.md ↗원본 DEMO.md ↗공식 갤러리 ↗
② 왜 for 문에 판서 스타일을 골랐나
for 문을 처음 배울 때 가장 자주 틀리는 것은 문법이 아니라 순서입니다. 교재 193쪽은 for ( ① 초기식; ② 조건식; ④ 증감식) { ③ 실행문 }처럼 번호를 붙여 이 점을 짚습니다. 괄호 안에 적힌 순서는 ①②④인데, 실제로는 ③이 ④보다 먼저 실행된다는 것이지요. 순서를 설명하는 데에는 ‘무엇이 먼저 나타나는가’ 자체가 설명이 되는 매체가 유리합니다.
Whiteboard Explainer의 STYLE.md는 바로 그런 규칙을 갖고 있습니다. 모든 글자와 그림이 실제 획순대로 쓰이며, 보드 전체가 하나의 지도처럼 영역마다 다른 생각을 담고, 카메라가 영역 사이를 이동합니다. 또 보드에서 움직일 수 있는 것은 자석뿐이고, 지우개는 지난 내용을 지우되 흔적을 남깁니다. 이번 영상은 이 규칙들을 for 문의 실행 과정에 하나씩 대응시켰습니다.
- 획순대로 쓰기 → CODE 7.1을 한 번만 판서하고, 그 위에서 ①②④와 ③을 차례로 표시했습니다.
- 한 장의 보드 → 코드, 흐름도(그림 7.2), 변수 i, 콘솔을 한 화면에 두어 서로의 연결이 보이게 했습니다.
- 자석만 움직인다 → 화살표 자석은 코드의 현재 줄을, 둥근 자석은 흐름도의 현재 단계를 가리킵니다.
- 지우개는 흔적을 남긴다 → i 값과 조건 검사 결과를 매번 지우고 새로 씁니다. 지난 값의 희미한 흔적이 ‘값이 바뀌었다’는 사실을 보여 줍니다.
- 전체 보드로 물러나기 → 마지막에 보드 가장자리 너머로 물러나 코드·흐름도·콘솔이 한 그림이었음을 보여 줍니다.
③ 교재 내용: 기초 C언어 7장 for 문
| 교재 | 기초 C언어 (이은상), Chapter 07 반복문 · Section 01 for 문 |
|---|---|
| 쪽 | 193쪽(기본 형식 ①~④), 194쪽(그림 7.2 for 문의 동작 순서, CODE 7.1), 195쪽(RESULT와 회차별 설명) — PDF 쪽과 인쇄 쪽이 같음을 페이지 이미지로 확인 |
| 학습목표 | for 문의 초기식·조건식·실행문·증감식이 어떤 순서로, 몇 번 실행되는지 설명하고, 반복이 끝날 때 제어 변수의 값을 말할 수 있다. |
| 입력자료 | CODE 7.1 원문 9줄, RESULT 6줄, 그림 7.2의 동작 순서, 195쪽 회차별 설명 |
#include <stdio.h>
int main(void) {
int i;
for (i = 1; i <= 5; i++) {
printf("Hello, World! (%d번째)\n", i);
}
printf("반복문이 종료되었다.\n");
return 0;
}
CODE 7.1 | for 문을 이용한 반복 출력 (교재 194쪽). 교재의 줄번호 01~09는 코드가 아니므로 옮기지 않았습니다.
Hello, World! (1번째) Hello, World! (2번째) Hello, World! (3번째) Hello, World! (4번째) Hello, World! (5번째) 반복문이 종료되었다.
RESULT (교재 195쪽). 이번 작업에서 gcc 13.3.0으로 직접 컴파일·실행한 출력과 글자 단위로 같았습니다.
④ 실제 적용 방법과 도구
이번 영상은 설치형 스킬을 호출하지 않았습니다. 원본 저장소에는 Claude Code 플러그인 스킬(lemo-opuscar)이 있지만, 이번 작업에서는 설치하지 않았고 호출하지도 않았습니다. 대신 저장소를 내려받아 styles/whiteboard/STYLE.md를 읽고, 같은 폴더의 렌더링 엔진 demo/engine/wb.js(MIT)를 그대로 가져와 이번 교재 내용의 장면 파일(film.js)을 새로 썼습니다. 원작 데모의 이야기·그림·카메라 경로·음악은 쓰지 않았습니다.
| 항목 | 실제 사용한 것 |
|---|---|
| 스타일 지침 | STYLE.md v2(no hands), 저장소 커밋 3961ddb(2026-10-22), STYLE.md 마지막 변경 a401d6c |
| 렌더링 엔진 | 원본 wb.js 사본. 수정은 한글을 별도 글꼴로 넘기는 1줄뿐 |
| 작업 AI | Claude(설정 모델 claude-opus-5-5, 실제 응답 모델은 다를 수 있음) — 클라우드 작업 환경에서 실행 |
| 렌더러 | Chromium 153 + Playwright 1.63 (화면을 한 프레임씩 그려 저장), Node.js 22.23 |
| 인코딩 | ffmpeg 6.1.1, H.264 1920×1080 24fps, AAC |
| 한글 판서 | Gaegu(SIL OFL 1.1)를 골격선화해 만든 단선 획 글꼴(직접 변환, scikit-image 0.26) |
| 효과음 | Python(numpy/scipy)으로 획·지우개·자석마다 새로 합성. 음성·음악 없음 |
| 검증 | gcc 13.3.0으로 CODE 7.1과 계측 코드 실행, 완성 MP4 전체를 1초 간격 프레임으로 확인 |
| 비용·계정 | 유료 결제·새 계정 없음. 원본 저장소와 글꼴은 무료 공개 자료. Claude 사용 요금제·토큰 비용은 미확인 |
⑤ 따라 하기: 교재 → 지침 → 프롬프트 → 렌더링 → 검증
1. 입력 파일을 준비합니다. 교재 PDF에서 설명할 쪽을 정하고, 코드는 추출 텍스트가 아니라 페이지 이미지와 대조해 옮깁니다. 이번에는 194쪽 CODE 7.1과 그림 7.2, 195쪽 RESULT를 이미지로 확인했고, 줄번호와 특수 공백이 코드에 섞이지 않았는지 따로 검사했습니다.
2. 스타일 지침을 붙입니다. 원본 STYLE.md 전문을 작업 폴더에 두고, 엔진을 쓸 경우 저장소의 커밋을 기록합니다. 지침은 질감·색·카메라·소리의 규칙이지, 원작 영상의 대본이 아닙니다.
3. 프롬프트를 실행합니다. 아래 ⑥의 최초 프롬프트처럼 교재 원문, 장면별 시간, 색의 의미, 검증 방법을 함께 줍니다. 특히 “코드는 한 번만 판서하고 현재 위치는 자석으로 표시한다”처럼 무엇을 반복하지 않을지를 분명히 해야 영상이 산만해지지 않습니다.
4. 정지 화면으로 먼저 봅니다. 이번 작업에서는 전체 렌더링 전에 주요 시점의 정지 화면을 여러 번 뽑아 글자 크기, 라벨 잘림, 자막 띠와의 겹침을 고쳤습니다.
5. 렌더링합니다. 89초 영상(2,131프레임)을 프레임 단위로 그려 MP4로 묶고, 효과음을 합쳤습니다.
6. 검증합니다. 영상 속 콘솔을 실제 실행 결과와 대조하고, 완성 MP4를 처음부터 끝까지 1초 간격으로 확인합니다. 문제가 나오면 고친 뒤 다시 렌더링하고 다시 확인합니다(이번에는 2차 렌더링에서 통과).
⑥ 복사해서 쓰는 프롬프트 전문
자체 응용문아래 네 프롬프트는 AI 오토마타가 작성한 것입니다. 원작자의 공개 프롬프트는 원본 STYLE.md이며, 이것은 그 번역본이 아닙니다. ‘최초·점검·수정’은 이번 작업에서 실제로 수행한 내용을 정리한 것이고, ‘확장’은 아직 실행하지 않았습니다.
최초 프롬프트 (실제 사용 · 정리본)
lemo-opuscar 저장소의 styles/whiteboard/STYLE.md(Whiteboard Explainer v2, no hands)를 끝까지 읽고 그 규칙으로 영상을 만들어라.
렌더링은 저장소의 styles/whiteboard/demo/engine/wb.js(MIT)를 사용한다. 원작 데모(Einstein in Your Pocket)의 이야기·그림·카메라 경로·음악·엔드카드는 쓰지 않는다.
시작할 때 사용하는 모델, 실행 환경, 읽은 파일과 커밋을 먼저 밝혀라. 파일에 접근하지 못하면 추정으로 대체하지 말라.
[교재 입력 — 기초 C언어 7장 194~195쪽. 반드시 페이지 이미지로 대조]
CODE 7.1 | for 문을 이용한 반복 출력
#include <stdio.h>
int main(void) {
int i;
for (i = 1; i <= 5; i++) {
printf("Hello, World! (%d번째)\n", i);
}
printf("반복문이 종료되었다.\n");
return 0;
}
RESULT: Hello, World! (1번째) ~ (5번째) 다섯 줄, 마지막 줄 "반복문이 종료되었다."
그림 7.2 동작 순서: ① 초기식(최초 1회) → ② 조건식 → 참이면 ③ 실행문 → ④ 증감식 → 다시 ② / 거짓이면 반복 종료
교재 193쪽 번호: for ( ① 초기식; ② 조건식; ④ 증감식) { ③ 실행문 }
(PDF 줄번호 01~09와 특수 공백은 코드에 넣지 않는다.)
[연출]
- 한 장의 화이트보드(5000×2200)에 지역을 나눈다: 제목·출처 / CODE 7.1 / 흐름도(그림 7.2) / 변수 i 상자 / 콘솔 / 실행 횟수 정리 / 확장 질문.
- 코드는 처음 한 번만 판서하고, 이후에는 다시 쓰지 않는다. 지금 실행 중인 위치는 자석 두 개로 표시한다:
화살표 자석 = 코드의 현재 줄, 둥근 자석 = 흐름도의 현재 단계. 자석은 보드에서 움직일 수 있는 유일한 물체다.
- 손·팔·커서를 그리지 않는다. 마커는 떠서 그리고, 쉴 때는 화면 밖에 주차한다.
- i 값은 지우개로 지우고 새로 쓴다(흔적이 남는다). 조건 검사 결과 "k <= 5 참"도 매번 지우고 새로 쓴다.
- 흐름도 상자 옆에 실행될 때마다 바(다섯 개 묶음)를 그려 횟수가 영상 속에서 저절로 쌓이게 한다.
- 색: 검정 = 코드·구조, 파랑 = 값·출력(콘솔, i 값), 주황 = 지금 중요한 것(①~④ 표시, 거짓 경로, 자석, 바, 최종 질문).
- 판서 한글은 단선 획으로 실제 획순처럼 쓴다. 단선 한글 글꼴이 없으면 OFL 손글씨 글꼴을 골격선화해 만들고, 원본 대비 변형으로 기록한다.
[장면 — 약 89초, 1920×1080, 24fps]
0–5초: 질문 "for 문은 어떤 순서로 실행될까?"와 출처(기초 C언어 7장 · 194쪽 CODE 7.1 · 그림 7.2) 판서
5–14초: CODE 7.1 아홉 줄 판서
14–17초: for 줄을 확대해 i = 1 / i <= 5 / i++ 위에 ①②④, printf 줄 앞에 ③ 표시
18–31초: 펜이 이끄는 카메라로 흐름도 판서(① → ② → 참 → ③ → ④ → 다시 검사 → 거짓 → 종료)
31–34초: i 상자와 콘솔 상자 판서 후 전체 실행 화면으로
34–60초: ① 1회, 1·2회차는 천천히, 3~5회차는 빠르게. 매 회차 ② 검사 → ③ 콘솔 한 줄 → ④ i 지우고 새 값
60–68초: 여섯 번째 검사 "6 <= 5 거짓"을 확대해 강조 → 자석이 거짓 경로로 종료 → 마지막 printf "반복문이 종료되었다."
68–82초: 실행 횟수 정리(① 1회, ② 6회, ③ 5회, ④ 5회, 출력 5줄, 끝날 때 i = 6) → 확장 질문 "i < 5 로 바꾸면 몇 번 출력될까?"(교재 원문 아님 표시)
82–89초: 보드 가장자리 너머로 물러나 전체 보드를 한 그림으로 보여주고 끝낸다.
[소리·자막]
- 승인된 음성을 이 환경에서 쓸 수 없으면 음성을 넣지 말고 한국어 자막형으로 만든다. 임의 기계 TTS 금지.
- STYLE.md 7절대로 모든 획·지우개·자석에 효과음을 새로 합성해 넣는다. 원작 음원·음악은 쓰지 않는다. 음악은 넣지 않는다.
- 자막은 화면 아래 12% 띠, 한 줄 44자 이하, 최소 1.8초 유지.
[검증]
- CODE 7.1을 실제 C 컴파일러로 실행해 콘솔 6줄을 영상 속 콘솔과 글자 단위로 대조한다.
- 초기식 1회, 조건식 6회, 실행문 5회, 증감식 5회, 종료 시 i = 6을 계측 코드로 확인하고 영상 속 바의 개수와 대조한다.
- 렌더링한 MP4 전체를 1초 간격 프레임으로 확인해 라벨 잘림, 자막 가림, 오탈자를 찾는다.
- 렌더링하지 않은 결과를 완성이라고 쓰지 않는다.점검 프롬프트 (실제 수행)
방금 렌더링한 완성영상.mp4를 처음부터 끝까지 1초 간격 프레임으로 모두 보고 다음을 표로 보고하라. 1) 화면 가장자리에서 반쯤 잘린 라벨(제목, 출처 줄, 흐름도 글자)이 있는 시간대 2) 자막 띠에 가려 읽을 수 없는 판서 3) 콘솔 6줄이 gcc 실행 결과와 글자 단위로 같은지 4) 흐름도 옆 바의 개수가 ① 1, ② 6, ③ 5, ④ 5인지 5) 한글 판서에서 빠진 글자나 '?'로 대체된 글자 문제마다 시간, 원인, 고칠 방법을 쓰고, 고치기 전에는 통과라고 쓰지 말라.
수정 프롬프트 (실제 수행 · 1차 렌더 점검 결과 반영)
1차 렌더의 문제를 고쳐 다시 렌더링하라. - 9.6~13.4초 코드 판서 구간에서 제목이 화면 위쪽에 반쯤 잘린다 → 카메라 줌을 0.95에서 0.88로 낮추고 중심을 (1190, 850~880)으로 옮겨 제목 전체와 코드 아홉 줄이 함께 들어오게 하라. - 14~17초 for 줄 확대에서 출처 줄이 위 가장자리에 걸린다 → 카메라 y를 935~945로 내려 출처 줄이 완전히 빠지게 하라. - 61~64초 "6 <= 5 거짓" 확대에서 흐름도의 '참' 라벨이 아래 가장자리에 반쯤 걸린다 → 카메라 y를 640~650으로 올려라. 수정 뒤 같은 점검 프롬프트로 전체 프레임을 다시 확인하라.
확장 프롬프트 (아직 실행하지 않음 · 교재 원문과 구분)
사례02와 같은 보드·엔진·색 규칙으로 변형 영상을 만든다. 화면 오른쪽 위에 "확장: 교재 원문 아님"을 판서한다. CODE 7.1의 조건식만 i <= 5 에서 i < 5 로 바꾼다. 나머지 코드는 그대로 둔다. gcc로 실행해 콘솔 4줄(Hello, World! (1번째)~(4번째))과 "반복문이 종료되었다."를 확인하고 영상과 대조한다. 횟수: 초기식 1회, 조건식 5회(마지막 5 < 5 거짓), 실행문 4회, 증감식 4회, 종료 시 i = 5. 원래 영상과 나란히 놓을 수 있게 같은 카메라 경로와 시간 구성을 유지하고, 달라진 장면(마지막 검사)만 주황으로 강조하라.
⑦ 이번 교재로 만든 영상
아래가 기초 C언어 CODE 7.1로 직접 만든 영상입니다(1:29, 1920×1080, 24fps, 음성 없음·한국어 자막·효과음 있음). 위 ①의 원작 영상과는 주제도 그림도 다른 별개의 작품이며, 원작에서 가져온 것은 스타일 규칙과 렌더링 엔진 코드입니다.



코드에 적힌 순서와 실행 순서
영상이 보여 주려는 핵심을 한 장으로 줄이면 아래와 같습니다. 위쪽 줄은 for 문 괄호에 적힌 순서이고, 아래쪽 줄은 컴퓨터가 실행한 순서입니다. 조건식은 참일 때 다섯 번, 거짓일 때 한 번 더, 모두 여섯 번 실행됩니다.
⑧ 원본 규칙과 이번 적용 대조표
원본 STYLE.md의 규칙을 이번 영상에서 어떻게 썼는지, 바꾼 부분은 왜 바꿨는지, 그리고 실제로 확인했는지를 정리했습니다. ‘확인’ 열은 완성 MP4의 프레임 또는 실행 결과로 직접 본 것만 적었습니다.
| 원본 규칙(STYLE.md) | 이번 적용 장면 | 변형과 이유 | 실행 확인 |
|---|---|---|---|
| 한 장의 보드, 영역 = 생각 | 제목·코드·흐름도·i·콘솔·정리·질문이 한 보드에 | 없음 | 82~89초 전체 보드 프레임 |
| 획순대로 쓰기, 말과 동시에 끝나기 | 코드 9줄, 흐름도, 콘솔이 실행 시점에 쓰임 | 음성이 없어 자막 시점에 맞춤 | 1초 간격 프레임 89장 |
| 단선 손글씨(EMS Tech) | 영문·기호·코드 | 한글은 EMS Tech에 없어 Gaegu를 골격선화한 단선 획으로 대체(원본 대비 변형) | 판서 한글 누락 0자(“장” 누락을 1차 정지화면에서 발견해 수정) |
| 손 없음, 떠 있는 마커 | 검정·파랑·주황 마커가 그리고 화면 밖으로 주차 | 없음 | 프레임에서 손·커서 없음 |
| 자석만 움직인다 | 화살표 자석(코드 줄), 둥근 자석(흐름도 단계) | 원작의 지도 핀 자석 대신 새 모양 두 개를 그림(원작 그림 복제 방지) | 34~68초 자석 이동 |
| 지우개는 흔적을 남긴다 | i 값 5회, 조건 결과 5회 지우고 새로 씀 | 없음(강도 90%) | 지우개 10회, 흔적 확인 |
| 색 3개, 의미 고정 | 검정 구조 / 파랑 값·출력 / 주황 현재·강조 | 원작은 파랑 = 신호. 이번에는 파랑 = 출력·값으로 의미만 바꿈 | 전 구간 3색 |
| 카메라: 펜이 이끌기, 멈춰 읽기, 휙 이동, 전체로 물러나기 | 흐름도 판서, 실행 화면 고정, 6<=5 확대, 정리 영역으로 이동, 액자까지 물러나기 | 없음 | 라벨 반쯤 잘림 3곳을 2차 렌더에서 수정 |
| 자막: 아래 12%, 44자 이하, 1.8초 이상 | 한국어 자막 24개 | 영문 Architects Daughter 대신 Gaegu Bold(한국어 가독성) | 자막 띠와 판서 겹침 점검 |
| 모든 획에 소리, 음악·음성 | 획·지우개·자석 효과음 | 승인 음성을 쓸 수 없어 음성 없음, 음악 없음, 효과음만 새로 합성 | 오디오 트랙 확인(−20 LUFS 목표) |
| 원작 엔드카드 복사 금지 | 보드 위 작은 판서 “AI 오토마타 · 사례02” | LemoLab 서명 없음 | 마지막 프레임 |
제작 흐름 한눈에 보기
⑨ 실제 오류와 해결, 연습, 한계, 출처
작업 중 실제로 만난 오류
| 문제 | 원인 | 해결 |
|---|---|---|
| 저장소 의존성 설치(npm install)가 실행되지 않음 | 작업 환경의 권한 정책 | 환경에 미리 설치된 Playwright로 프레임을 그리는 작은 렌더 스크립트를 직접 작성 |
| 한글이 ‘?’로 표시 | 원본 단선 글꼴 EMS Tech에 한글 없음 | Gaegu Light를 골격선화해 한글 단선 글꼴 생성 |
| ㅇ·ㅁ이 점으로 찌그러짐 | 닫힌 고리 획을 단순화할 때 시작점과 끝점이 같아 한 점으로 줄어듦 | 고리를 반으로 나눠 단순화 |
| ①~④와 “장”이 빠짐 | Gaegu에 원문자 없음, 처음 만든 글자 목록에 “장” 누락 | 원 + 숫자로 합성, 장면 파일의 한글 전체로 목록 자동 생성 |
| 흐름도 글자가 작고 ‘종료’ 상자가 자막 띠에 걸림 | 상자·글자 크기와 배치 | 상자와 글자 확대, 종료 상자 위로 이동 |
| 1차 렌더에서 제목·출처 줄·‘참’ 라벨이 화면 끝에 반쯤 잘림(3곳) | 카메라 위치 | ⑥의 수정 프롬프트대로 카메라를 옮겨 2차 렌더, 전체 프레임 재확인 |
독자 연습과 평가 기준
연습 1. 영상 마지막 질문처럼 조건식을 i < 5로 바꾸면 몇 줄이 출력될지 먼저 예측하고, 직접 컴파일해 확인해 보세요. 이것은 교재 원문이 아니라 확장 질문입니다.
확장 질문의 답 확인 (gcc 실행 결과)
Hello, World!가 1번째부터 4번째까지 4줄 출력되고 “반복문이 종료되었다.”가 이어집니다. 초기식 1회, 조건식 5회(마지막 검사 5 < 5가 거짓), 실행문 4회, 증감식 4회이며, 반복이 끝난 뒤 i는 5입니다.
연습 2. 다른 for 예제(예: 교재 196쪽 CODE 7.2 합계 계산)를 골라 ⑥의 최초 프롬프트에서 교재 입력만 바꿔 정지 화면 3장을 먼저 만들어 보세요.
| 평가 기준 | 통과 조건 |
|---|---|
| 코드 정확성 | 영상 속 코드가 교재와 글자 단위로 같고 줄번호가 섞이지 않음 |
| 실행 대조 | 영상 속 콘솔이 실제 컴파일·실행 결과와 같음 |
| 횟수 설명 | 초기식·조건식·실행문·증감식 횟수와 종료 시 변수 값이 맞음 |
| 스타일 규칙 | 코드를 반복해 다시 쓰지 않고, 손 없이, 3색 의미를 지킴 |
| 가독성 | 라벨이 화면 끝에서 반쯤 잘리지 않고 자막과 판서가 겹치지 않음 |
한계
- 음성이 없습니다. 기존에 승인된 목소리를 이번 작업 환경에서 쓸 수 없어, 임의의 기계 음성을 넣지 않고 자막형으로 만들었습니다.
- 음악이 없습니다. 효과음만 새로 합성했습니다. 원본은 음악과 내레이션이 있는 작품이라 분위기 차이가 있습니다.
- 한글 판서는 손글씨 글꼴을 기계적으로 골격선화한 것이어서 획순이 실제 한글 필순과 다를 수 있습니다.
- 원본 영상은 4초 간격 프레임으로 확인했고 소리는 듣지 않았습니다. 세부 동작과 음악은 STYLE.md·DEMO.md 문서로만 확인했습니다.
- 설치형 스킬(lemo-opuscar)을 쓰면 질문 단계·스토리보드 확인 등 진행 방식이 이번과 다를 수 있습니다. 이번 영상은 그 스킬의 결과물이 아닙니다.
원출처와 권리 확인 (확인일 2026-10-24)
- 원본 스타일·엔진: Lemo-Opuscar by Lemomo / LemoLab — github.com/lemomo-ai/lemo-opuscar (커밋 3961ddb). 코드·문서 MIT. 이번 영상은 엔진 코드(wb.js)를 MIT 조건으로 사용했습니다.
- 원본 시연 영상 Einstein in Your Pocket: CC BY 4.0, 저작자 LemoLab. 이 글에서는 원본 주소로 연결만 했고 편집하지 않았습니다.
- README 기준, 라이브러리로 만든 영상은 만든 사람의 것이며 표기 의무가 없습니다. 원작 데모의 엔드카드는 사용하지 않았습니다.
- 글꼴: EMS Tech(SIL OFL 1.1, Sheldon B. Michaels·Evil Mad Scientist), Gaegu(SIL OFL 1.1, The Gaegu Project Authors).
- 교재: 기초 C언어 7장 193~195쪽, CODE 7.1·그림 7.2 (저자 자료).
댓글
댓글 쓰기