1일차 프로그램

2026.07.23(목) · 강사 안대진, 보조강사 이기영
1일차 한 줄 목표
"정보를 데이터로 바꾸는 눈(온톨로지 설계)"을 익히고, 바이브 코딩으로 부산 인문자료를 처음으로 화면에 시각화해 본다.

오늘의 산출물

팀 주제 확정 (부산 / 부산대 관련 인문 데이터)
팀별 온톨로지 설계 시트 1장 (개체 · 클래스 · 속성 · 관계)
데이터 표(CSV/JSON) 초안
지도 · 타임라인 · 워드클라우드 중 최소 1개의 시각화 프로토타입

준비물 점검

개인 노트북, 전원, 인터넷
LLM 구독 및 바이브 코딩 도구: Claude Code 권장 (Codex, Google AI Studio도 가능)
브라우저(Chrome/Edge 최신), 코드 에디터(VS Code 권장)

타임테이블

교시
시간
내용
방식
1차시
10:00–10:10
오리엔테이션
강의
10:10–11:00
① 왜 지금 '데이터 설계'인가 — AI 시대의 시맨틱 데이터 ② 온톨로지 설계 4단계 이론
강의
11:10–12:30
③ [워크숍] 부산 데이터로 온톨로지 설계하기
실습
12:30–13:00
팀 구성, 주제 논의
2차시
15:00–16:00
④ 시각화 유형·도구 지형 + 사례 갤러리
강의·토론
16:00–17:00
⑤ 바이브 코딩 기초 (Claude Code / Codex)
강의·시연
17:00–18:00
⑦ [실습] 지도·타임라인·워드클라우드, 배포 등
실습

1차시 · 시각화 도구 개론과 데이터 설계 기초

0. 오리엔테이션 (09:00–09:20)

강사·보조강사·수강생 소개, 팀 편성(3~4인 권장)
2일간의 여정 안내: 설계 → 데이터 → 시각화 → 스토리텔링 → 배포·발표
이 수업이 다른 '디지털 인문학 시각화' 수업과 다른 점 두 가지
1.
뻔한 툴 사용법을 배우지 않는다. 대신 ⓐ 데이터를 어떻게 설계할지(온톨로지)와 ⓑ 도구를 어떻게 고를지의 감각을 기른다.
2.
구현은 바이브 코딩으로 한다. "라이브러리 깔아서 지도 그려줘"라고 말하면 AI가 코드를 만든다. 우리는 무엇을·왜 만들지에 집중한다.
오늘 하루 머릿속에 남겨야 할 문장 하나 "무엇을 하나의 정보 단위로 떼어내고, 떼어낸 것들을 어떻게 다시 연결할 것인가?"

1. 왜 지금 '데이터 설계'인가 — AI 시대의 시맨틱 데이터 (09:20–09:50)

1-1. 디지털화(Digitization) vs 디지털 전환(Digital Transformation)

옛 사진첩을 스캔해서 PDF로 올리는 것은 디지털화입니다. 화면으로 옮겼을 뿐, 그 안의 인물·장소·사건은 여전히 "이미지 속"에 묻혀 있어 컴퓨터가 의미를 모릅니다.
반면 "이 사진은 누가, 어디서, 언제, 무슨 일과 관련되는가"를 명시적으로 정의해 서로 연결하면, 그때부터 데이터는 질문에 답할 수 있는 지식이 됩니다. 이것이 디지털 전환입니다.
디지털화 (Digitization)
디지털 전환 (Digital Transformation)
하는 일
자료를 화면으로 옮김
지식을 구조로 재구성
결과물
스캔본, PDF, 텍스트
개체·관계·맥락이 정의된 데이터
검색
단순 키워드
관계 기반 시맨틱 질의
확장
개별 파일로 고립
전 세계 데이터와 연결(LOD)

1-2. AI 시대에 온톨로지가 오히려 더 중요해진 이유

"LLM이 다 해주는데 왜 굳이 데이터를 설계하나?"라는 질문이 자연스럽습니다. 답은 세 가지입니다.
1.
환각(hallucination)을 줄인다. 온톨로지는 AI에게 "쓸 수 있는 어휘와 관계의 지도"를 쥐여 줍니다. 정의된 개념·관계만 쓰게 하면 AI가 지어내는 여지가 줄어듭니다.
2.
"관계"를 물을 수 있다. 단순 검색(벡터 검색 포함)은 "비슷한 문서"는 찾아도 "A가 비판적으로 인용한 B의 견해만 모아라" 같은 관계 질문에는 약합니다. 개체를 노드로, 관계를 엣지로 만들어 두면 이런 고차원 질의가 가능해집니다. (개념: Graph RAG → 여기에 온톨로지로 검증까지 하면 OG-RAG)
3.
재사용·연결이 된다. 잘 설계된 데이터는 지도·타임라인·네트워크 등 여러 시각화로 동시에 뻗어나가고, 외부 데이터(LOD)와도 이어집니다.
핵심: 온톨로지 설계는 "AI가 잘 다룰 수 있는 형태로 인문 지식을 번역"하는 일입니다. AI 시대에 사라지는 역량이 아니라, AI를 제대로 부리기 위한 전제 역량입니다.

1-3. 온톨로지 설계가 주는 세 가지 이점 (인문학 관점)

시맨틱 질의: 수백·수천 페이지를 다 읽지 않고도 "정약용이 비판적으로 인용한 송대 학자 견해"처럼 방향성·태도까지 담은 질문에 답을 얻습니다.
계보 추적: 엑셀 표로는 안 보이던 인물·해석·인용의 위계와 계보가 그래프로 드러납니다.
진짜 디지털 전환: 뭉뚱그려진 맥락을 명확한 단위로 분절하고 새로 연결하는, 고도의 학술 행위입니다.

2. 온톨로지 설계 4단계 이론 (09:50–10:30)

2-1. 아날로그의 '연속성'과 디지털의 '분절'

현실의 이야기는 하나로 이어져 있습니다. 그러나 컴퓨터는 모든 것을 잘게 나눈(분절된) 정보로만 다룹니다. 그래서 우리는 이어진 텍스트·사진·자료에서 의미 있는 조각을 식별하고, 그 조각들 사이의 관계를 정의해야 합니다. 이 "분절과 재연결의 설계도"가 온톨로지입니다.

2-2. 세 가지 요소로 자료 뜯어보기

인문 자료를 데이터로 옮길 때, 담긴 정보는 대개 세 층위로 나뉩니다.
형식 요소(Textual): 자료 자체의 구조 — 예) 사진, 일기, 편(篇)·장(章), 발간물 등
내용 요소(Contextual): 본문에 직접 등장하는 실체 — 예) 인물, 장소, 물품, 문헌
의미 요소(Reconstructed): 직접 드러나진 않지만 연구자가 재구성한 가치 — 예) 사건, 주제, 생활유형, 해석 태도
팁: 일기·사진·발간물처럼 인물·장소·물품이 풍부한 장르는 '분절의 감각'을 익히기에 가장 좋습니다. 부산 인문자료(피란 사진, 향토지, 구술 기록 등)가 딱 이 성격입니다.

2-3. 설계 4단계 — 오늘 우리가 따라갈 순서

단계
질문
결과물
① 개체(엔티티) 탐색
이 자료에 "실제로 존재하는 것"은 무엇인가?
개체 목록 (이중섭, 영도, 은지화 …)
② 클래스 설계
그 개체들을 어떤 범주로 묶을까?
클래스 목록 (Person, Place, Work …)
③ 속성 설계
각 개체가 가진 값(정보)은 무엇인가?
속성 표 (생몰년, 좌표, 제작연도 …)
④ 관계 설계
개체들은 서로 어떻게 이어지는가?
관계(트리플) 목록
클래스는 정답이 없습니다. 무엇을 클래스로 볼지는 "연구자가 대상을 어떤 시각으로 보느냐"에 따라 달라집니다. 같은 자료라도 미술사 관점과 도시사 관점의 설계가 다릅니다. → 이것이 인문학적 '해석'이 개입하는 지점입니다.

2-4. 관계를 적는 문법: RDF 트리플

관계는 주어(Subject) – 서술어(Predicate) – 목적어(Object) 세 칸으로 적습니다. 이걸 트리플(Triple) 이라 부르고, 점(개체) 두 개를 선(관계)으로 잇는 구조입니다.
트리플을 여러 개 쌓으면 그것이 곧 지식 그래프(네트워크) 가 됩니다. 즉, 관계를 잘 설계하면 네트워크 시각화는 저절로 나옵니다.
관계에 방향성과 태도를 넣으면 질의가 강력해집니다. 예) 단순히 references(참조)가 아니라 positiveReference(지지) / negativeReference(비판)로 나누면 "누가 누구를 비판했나"를 바로 뽑아낼 수 있습니다. (선행 연구: 변은미·이동학 2025 상서고훈·상서고주 온톨로지)

3. [워크숍] 부산 데이터로 온톨로지 설계하기 (10:40–11:40)

강사와 함께 하나의 예제로 4단계를 끝까지 걸어본 뒤, 팀별 주제에 그대로 적용합니다.

공통 예제 — "피란수도 부산 (1950–1953)"

아래 한 단락을 원자료라고 가정합니다.
"1950년 8월, 대한민국 정부는 부산을 임시수도로 정했다. 화가 이중섭은 원산에서 피란해 영도에 머물며 담뱃갑 은지(銀紙)에 그림을 그렸다. 국제시장과 40계단 일대에는 피란민이 모여들었고, 1953년 1월 국제시장에 큰불이 났다."
① 개체(엔티티) 탐색 — "실제로 존재하는 것"에 밑줄 긋기
유형 힌트
뽑아낸 개체
사람
이중섭, 피란민
장소
부산, 영도, 국제시장, 40계단, 원산
사건
정부 임시수도 이전(1950.8), 국제시장 화재(1953.1)
물건/작품
은지화(담뱃갑 그림)
② 클래스 설계 — 범주로 묶기
같은 성격끼리 묶어 영어 태그(클래스)를 붙입니다. (영어는 나중에 코드로 옮기기 위한 '꼬리표'일 뿐입니다.)
클래스
이 예제의 개체
Person
인물
이중섭
Place
장소
부산, 영도, 국제시장, 40계단, 원산
Event
사건
임시수도 이전, 국제시장 화재
Work
작품·물품
은지화
③ 속성 설계 — 각 개체가 가진 '값'
클래스마다 어떤 값(속성)을 기록할지 정합니다. 시각화가 요구하는 값을 미리 챙기는 것이 요령입니다. (지도 → 좌표, 타임라인 → 날짜)
클래스
필수 속성
Person
이름, 생몰년, 출신지
이중섭 / 1916–1956 / 원산
Place
이름, 위도·경도, 유형
영도 / 35.09, 129.07 / 섬
Event
명칭, 시작일, 장소
국제시장 화재 / 1953-01 / 국제시장
Work
제목, 재료, 제작시기
은지화 / 담뱃갑 은지 / 1950s
④ 관계 설계 — 트리플로 잇기
주어
서술어
목적어
이중섭
originFrom(출신)
원산
이중섭
evacuatedTo(피란함)
영도
이중섭
created(창작함)
은지화
은지화
createdAt(제작장소)
영도
임시수도 이전
occurredAt(발생장소)
부산
국제시장 화재
occurredAt(발생장소)
국제시장
이 설계가 곧바로 세 가지 시각화가 되는 이유
지도: Place의 위도·경도 → 피란수도 주요 장소 지도
타임라인: Event의 날짜 → 1950–1953 사건 흐름
네트워크: 위 트리플 → 인물–장소–작품–사건 관계망
하나를 잘 설계하면 세 개가 따라온다 — 이것이 "시각화 방법론"보다 "데이터 설계"를 먼저 배우는 이유입니다.

이제 여러분 차례 (팀별, 오후에 이어서 완성)

각 팀은 아래 설계 시트를 채웁니다. (부록의 템플릿 복제)
1.
우리 팀 주제의 원자료 한 단락(또는 사진 1~2장)을 고른다
2.
개체에 밑줄 → 클래스로 묶기 → 속성 표 → 관계(트리플) 목록
3.
"이 데이터로 어떤 질문에 답하고 싶은가?" 한 문장 적기 (예: "피란기 예술가들은 어디에 모였나?")

4. 시각화 유형·도구 지형 + 사례 갤러리 (11:40–12:00)

4-1. 어떤 데이터에 어떤 시각화? — "도구 사용법 말고 선택 감각"

이 수업에서는 TimelineJS·StoryMapJS 같은 도구의 버튼 위치를 외우지 않습니다. 대신 "내 데이터에는 어떤 시각화가 맞는가" 를 판단하는 감각을 기릅니다. 실제 구현은 바이브 코딩으로 라이브러리를 깔아서 합니다.
내 데이터의 성격
맞는 시각화
개념 이해용 도구
바이브 코딩 구현 라이브러리
장소·좌표·공간 분포·이동 경로
지도
StoryMapJS, Leaflet 서비스
Leaflet, MapLibre GL, Folium
연도·순서·시대 흐름
타임라인
TimelineJS
vis-timeline, D3
인물·영향·인용·계보 등 '관계'
네트워크
Gephi, Palladio
vis-network, Cytoscape.js, D3-force
관계를 한 줄로 정렬해 보기
아크 다이어그램
D3
단어 빈도·키워드 인상
워드클라우드
Voyant
wordcloud2.js, D3-cloud
스크롤에 따라 이야기 전개
스토리맵/스크롤리텔링
StoryMapJS
Scrollama + Leaflet
판단 기준 세 가지
1. 내 데이터에 좌표가 있나? → 지도
2. 내 데이터에 날짜/순서가 핵심인가? → 타임라인
3. 내 데이터의 매력이 연결 그 자체인가? → 네트워크
(둘 이상이면 결합하거나 스토리텔링으로 엮습니다.)

4-2. 사례 갤러리 — "최근의, 재미있는" 결과물들

각 사례는 "무엇을 봐야 하는가 / 왜 잘했는가" 관점으로 함께 뜯어봅니다.
① 수원시의원 아카이브https://suwon-archive-demo.vercel.app/#/
지방의회 인물·회기 데이터를 검색·필터·관계로 엮은 아카이브. 인물 데이터를 어떻게 구조화하면 탐색이 즐거워지는지의 모범.
② 양화진기록관 — 양화진의 묘비https://yanghwajinarchives.org/s/site/faceted-browse/1
Omeka S 기반. 패싯 브라우즈(유형·시기·주제로 좁혀가며 탐색)의 감각. 묘비라는 소박한 자료가 속성 설계로 탐색 가능한 데이터가 됨.
③ 깃발들 (Flaaags)https://flaaags.com/
세계의 깃발을 색·형태 등으로 분해해 보여주는 경쾌한 데이터 시각화. "작은 주제 + 명확한 속성 = 재미"의 좋은 예.
④ SUCHO Meme Wallhttps://www.sucho.org/memes
문화유산 아카이빙 프로젝트의 밈 벽. 아카이브도 유쾌할 수 있다는 것과, 이미지 컬렉션을 매력적으로 배치하는 법.
⑤ 홍콩 대중문화 지도 (Hong Kong Pop Culture Map)https://digital.lib.hkbu.edu.hk/culture-map/
DH Awards 2025 시각화 부문 우승작. 대중문화(영화·음악 등) 장소를 지도로 엮은 스토리텔링. 우리 부산 주제(영화·음악·문학의 장소)와 결이 매우 비슷 → 벤치마크 1순위.
2025 아르코예술기록원 구술일화를 바탕으로 한 한국 근현대예술인 관계망.pdf
5.7 MiB

4-3. 추가 추천 사례 (타임라인·지도·네트워크·바이브코딩)

Onassis — 카바피스의 알렉산드리아 (지도) https://cavafy-map.onassis.org/ · 카바피스 타임라인 https://cavafy-timeline.onassis.org/
→ 한 인물의 삶을 지도와 타임라인 두 방식으로 풀어낸 세련된 사례. "같은 데이터, 다른 시각화"의 교과서.
Senfl's World (지도) https://senfls-world.humap.site/map → 인물·작품의 지리적 이동을 지도로.
John Snow — 콜레라 지도 https://epi-snow.ph.ucla.edu/ → 지도 + 공간 분석의 고전을 디지털로. "지도가 곧 논증"이 되는 사례.
Walking with Hall (StoryMapJS) https://uploads.knightlab.com/storymapjs/9ce75a46676e87d25a174e399afb31e8/test-nino/index.html → StoryMapJS로 만든 걷기-스토리맵. 도구의 결과물 감각 확인용.
DH Vibe Coding Advent Calendar https://advent-calendar.humanities.tools/바이브 코딩으로 만든 DH 소품 모음. 우리 수업의 방식(작게, 빠르게, AI로) 그 자체. 아이디어 창고로 강력 추천.
토론(2~3분): "우리 팀 주제는 위 사례 중 무엇과 가장 닮았나? 왜?"

2차시 · 팀 프로젝트 기획과 데이터 시각화 실습

5. 바이브 코딩 기초 (13:00–13:40)

5-1. 바이브 코딩이란?

코드를 한 줄 한 줄 직접 타이핑하는 대신, 자연어로 의도를 말하면 AI 에이전트가 코드를 작성·수정·실행하는 방식입니다. 우리는 문법이 아니라 "무엇을 만들지, 왜 만들지" 에 집중합니다.
핵심 원칙: 도구(TimelineJS/StoryMapJS)의 사용법을 배우는 대신, 그 도구가 하는 일을 AI에게 "만들어 달라"고 시킵니다. 예) "TimelineJS 같은 연표를 vis-timeline으로 만들어줘."

5-2. 도구 선택지와 설치

도구
성격
비고
Claude Code (권장)
터미널/에디터 기반 에이전트, 파일·명령 실행
라이브러리 설치·서버 실행까지 자율 수행
Codex
코드 특화 에이전트
대안으로 사용 가능
Google AI Studio
웹 기반, 빠른 프로토타입
가벼운 실습에 적합
설치·로그인은 강사 안내에 따라 진행 (보조강사가 개별 지원)
작업 폴더 하나를 만들어 팀 프로젝트를 그 안에서 관리

5-3. 하네스·스킬 개념 (가볍게)

에이전트에게 작업 방식·전문 지식을 미리 주입해 두는 장치를 하네스/스킬이라 합니다. (예: 카파시(karpathy) 계열 스킬셋, superpowers 등) 오늘은 개념만 이해하고, 강사가 준비한 스킬을 얹어 실습 품질을 높입니다.
좋은 바이브 코딩 5원칙
1. 작게 시작한다 (마커 3개부터).
2. 한 번에 하나씩 시킨다.
3. 데이터를 먼저 깔끔한 표(CSV/JSON) 로 준비한다 → 시각화가 쉬워진다.
4. 결과를 눈으로 확인하고 다음 지시를 준다(반복).
5. 막히면 "에러 메시지 그대로" 붙여넣고 고쳐 달라고 한다.

6. [팀 워크숍] 주제 확정 & 온톨로지 설계 시트 (13:40–14:30)

6-1. 부산 / 부산대 인문 주제 후보 (브레인스토밍용)

피란수도 부산(1950–53): 예술가·피란민·임시수도 장소 → 지도+타임라인+네트워크
부산 원도심 근대건축: 개항~근대 건물·인물·용도 변천 → 지도+타임라인
산복도로/이바구길: 마을·계단·구술 기억 → 스토리맵
부산 배경 영화·부산국제영화제: 촬영지·감독·작품 → 지도+네트워크 (홍콩 문화지도 벤치마크)
부산의 문학: 요산 김정한 등 작가–작품–장소 → 네트워크+지도
부산 화교와 초량: 인물·상점·건물 → 지도+네트워크
부산대학교 역사·캠퍼스: 건물·사건·인물 연표 → 타임라인+지도
자갈치·국제시장 생활사: 물품·상인·사건 → 워드클라우드+지도
각 팀은 "우리가 답하고 싶은 질문 한 문장" 을 먼저 정하세요. 좋은 질문이 좋은 데이터 설계를 부릅니다.

6-2. 설계 시트 작성 (오전 워크숍 이어서 완성)

부록의 온톨로지 설계 시트 템플릿을 팀별로 복제해 채웁니다.
개체 목록 [ ] 클래스 [ ] 속성 표 [ ] 관계(트리플) [ ] 핵심 질문 1문장
완성한 팀은 강사·보조강사에게 30초 브리핑 → 즉석 피드백

7. [실습] 첫 시각화 만들기 (14:40–16:00)

목표: 팀 데이터로 지도 · 타임라인 · 워드클라우드 중 최소 1개의 작동하는 프로토타입을 만든다.

7-1. 1단계 — 데이터를 표로 정리 (15분)

시각화의 90%는 깔끔한 데이터에서 결정됩니다. 설계 시트의 개체·속성을 CSV/JSON으로 옮깁니다.
지도용 places.csv 예시
타임라인용 events.csv 예시

7-2. 2단계 — 바이브 코딩으로 구현 (50분)

아래 실습 프롬프트를 그대로 복사해 시작한 뒤, 눈으로 확인하며 다듬습니다.
지도 (Leaflet)
타임라인 (vis-timeline)
워드클라우드 (wordcloud2.js)
자주 만나는 상황
- 한글 깨짐 → "meta charset utf-8 넣고 폰트 지정해줘"
- 좌표가 엉뚱 → CSV의 lat/lng 순서·값 확인 요청
- 안 열림 → "에러 메시지 그대로" 붙여넣기

7-3. 3단계 — 확인 & 기록 (15분)

팀 폴더에 결과 파일 저장, 스크린샷 1장 남기기
"무엇이 보이는가 / 무엇을 더 하고 싶은가" 한 줄 메모 → 2일차 심화의 출발점

마무리 · 2일차 예고 (16:00)

오늘: 설계(온톨로지) → 데이터 → 첫 시각화까지 왔습니다.
내일: 네트워크(관계망) 시각화지도·타임라인 스토리텔링을 심화하고, 하나의 디지털 전시 페이지로 통합해 배포·발표합니다.
숙제(선택): 팀 데이터 표를 조금 더 채워오기, 참고할 사례 1개 더 찾아오기

부록 A. 온톨로지 설계 시트 템플릿 (팀별 복제)

팀명 / 주제:
답하고 싶은 질문(1문장):
① 개체 목록
#
개체 이름
유형 힌트(사람/장소/사건/물건…)
1
2
② 클래스
클래스(영문 태그)
소속 개체 예
Person
인물
Place
장소
Event
사건
Work
작품·물품
③ 속성
클래스
속성들
예시 값
Place
이름, 위도, 경도, 유형
Event
명칭, 날짜, 장소
④ 관계(트리플)
주어
서술어(관계)
목적어

부록 B. 부산 인문 데이터 출처 (실습용)

부산광역시립박물관·부산근현대역사관 소장자료 및 발간물
부산광역시 향토문화전자대전(부산향토문화백과)
국가유산청/국가기록원 부산 관련 사진·기록
부산대학교 도서관·기록관 자료
지역 신문 아카이브(부산일보 등)의 근현대 기사
공공데이터포털의 부산 문화·관광 데이터(좌표 포함)
저작권·이용조건을 확인하고, 출처를 데이터에 함께 기록하세요(속성 source).

부록 C. 오늘의 실습 프롬프트 모음

지도/타임라인/워드클라우드 프롬프트는 위 7-2 참조 (복사해 사용)
공통 접두어 추천: "너는 디지털 인문학 시각화를 돕는 개발자다. 데이터를 존중하고, 라이브러리는 알아서 설치하고, 결과를 로컬에서 열어 확인시켜라."