This lesson is only available in Korean for now.
From a single variable
to a real online store
You learn databases from the very beginning — analogies instead of jargon, and running things yourself instead of only reading about them.
Python and SQL both run right inside this page. There is nothing to install.
How you'll learn
📦Understanding by analogy
A variable is a labelled box; an index is the index at the back of a book. Unfamiliar ideas are explained in terms of things you already know.
▶️Run it yourself
Every piece of code has a run button. Change it, get it wrong, try it again.
🎨See it drawn
Every lesson comes with an illustration of the idea it teaches.
🛠️Learn by building
You genuinely finish a to-do app and an online store, and they are saved on a real server.
Full curriculum
01
변수 — 이름표를 붙인 상자
데이터베이스의 가장 작은 조상
✓
02
구조화된 변수 — 칸막이가 있는 하나의 상자
흩어진 상자들을 하나로 묶기
✓
03
레코드 — 한 사람의 학생증 한 장
데이터 세계의 '한 줄'
✓
04
CRUD — 데이터로 할 수 있는 일은 딱 4가지
만들기 · 읽기 · 고치기 · 지우기
✓
05
테이블 — 학생증을 모으면 출석부가 된다
레코드를 쌓아 만든 '표'
✓
06
데이터베이스 — 표들을 모아 둔 캐비닛
드디어 주인공의 등장
✓
07
인덱스 — 책 뒤에 붙은 '찾아보기'
10만 줄을 0.001초에 찾는 비결
✓
08
필드 — 세로 한 칸, 그리고 '타입'이라는 약속
표에 규칙을 심는 곳
✓
09
첫 번째 작품 — 할 일 목록 앱
지금까지 배운 걸 전부 합쳐 봅시다
✓
10
관계형 데이터베이스 — 표와 표를 잇는 열쇠
중복을 없애는 가장 우아한 방법
✓
11
DBMS — 데이터를 지키는 사서(司書)
데이터베이스와 DBMS는 다른 것입니다
✓
12
데이터는 어디에 저장될까 — 브라우저 vs 서버
혼자만의 서랍과 모두의 금고
✓
13
SQLite3 — 파일 하나가 곧 데이터베이스
풀스택 뼈대 ① 진실을 보관하는 층
✓
14
Flask — 요청을 받아 DB를 여는 문
풀스택 뼈대 ② 판단하는 층
✓
15
Jinja2 — 표의 한 줄이 화면의 한 줄이 되는 곳
풀스택 뼈대 ③ 화면을 만드는 층
✓
16
Bootstrap — 데이터를 '보기 좋은 화면'으로
풀스택 뼈대 ④ 꾸미는 층
✓
17
폼과 POST — 사용자의 입력이 DB로 들어가는 길
읽기만 하던 앱이 드디어 '쓰기'를 배웁니다
✓
18
졸업 작품 — 진짜 쇼핑몰 만들기
SQLite3 · Flask · Jinja2 · Bootstrap을 한 채의 집으로
✓
19
회원과 로그인 — '누구의 데이터인가'
심화편 · 세션과 비밀번호를 다루는 법
✓
20
배포 — 내 방 컴퓨터를 세상에 연결하기
도메인 · HTTPS · 리버스 프록시 · NAT 뚫기
✓