데이터 구조 설계
최종 수정: 2026년 6월 22일
블로그 서비스를 만들려면, 먼저 어떤 데이터를 다루게 될지 정의해야 합니다. 화면을 구성하는 것만으로는 서비스가 동작하지 않습니다. 게시글의 내용, 이미지, 첨부파일 같은 정보가 어떤 형태로 저장되고 관리될지가 명확하게 설계되어야 합니다.
게시글에 필요한 것 정하기
이번 예제에서 만들 Tech Blog는 작성한 글을 방문자에게 전달하는 서비스입니다. 그래서 게시글 하나는 텍스트를 중심으로 구성되고, 필요에 따라 이미지를 넣거나 파일을 첨부할 수 있어야 합니다. 또 여러 게시글을 최신순으로 정렬해 보여줄 수 있어야 하고, 특정 게시글은 외부에 공개하지 않도록 설정할 수 있어야 합니다. 여기에 더해 게시글을 주제별로 나누는 카테고리도 필요합니다.
정리하면, 우리가 만들 게시글은 다음을 갖춰야 합니다.
- 텍스트 기반의 본문
- 이미지와 첨부파일
- 작성 시점 기준 정렬
- 공개 여부 설정
- 카테고리 분류
Content Type: 데이터의 설계도
WEEGLOO에서는 이런 데이터 구조를 정의하기 위해 Content Type이라는 리소스를 씁니다. Content Type은 일종의 "데이터 설계도"입니다. 어떤 항목(Field)을 가지는 데이터를 만들지 미리 정해 두는 틀입니다. 게시글 하나하나는 이 틀을 따르는 Content로 만들어집니다. 즉 Content Type은 데이터의 형태를 정하고, Content는 그 형태로 만들어진 실제 데이터입니다.
이제 Content Type 화면으로 가서 새 Content Type을 만듭니다. 이름은 Article로 합니다. 이 Content Type은 앞으로 블로그 게시글 하나하나를 나타내는 기준이 됩니다.
- 왼쪽 메뉴에서 Content Types를 누르세요.
- 오른쪽 위의 Create를 누르세요.
- 이름 칸에
Article을 입력하고 Continue를 누르세요.

게시글의 Field 구성하기
Content Type을 만든 뒤에는 게시글에 필요한 Field를 하나씩 추가합니다. Field는 게시글을 이루는 데이터 항목이고, 각 Field마다 어떤 타입의 값을 담을지와 필수 여부 등을 함께 정합니다.
다음과 같이 다섯 개의 Field를 구성합니다.
| Field | 타입 | 목록 타입 | 필수 |
|---|---|---|---|
title | Short Text | 아니오 | 예 |
body | Long Text | 아니오 | 예 |
images | Media | 예 | 아니오 |
attachments | Media | 예 | 아니오 |
category | Short Text | 아니오 | 예 |
title은 게시글의 제목입니다. 짧은 한 줄이므로 Short Text 타입으로 받고, 비어 있으면 안 되므로 필수로 둡니다.body는 실제 본문입니다. 문단이 긴 글이므로 Long Text 타입으로 두고, 역시 필수로 지정합니다.images는 한 장 이상 들어갈 수 있으므로 Media 타입을 목록 타입으로 사용으로 설정합니다. 그리고 이미지 파일만 올릴 수 있도록 허용 종류를 이미지로 제한합니다.attachments도 Media 타입을 목록으로 두되, 없어도 되므로 필수에서 뺍니다.category는 게시글을 분류하는 Field입니다. Short Text 타입으로 받고 필수로 둡니다. 더해서 정해진 값만 고르도록, 입력 가능한 값을Web·Mobile·Server·News네 가지로 제한합니다.

이렇게 Content Type을 정의해 두면, 이 구조를 바탕으로 실제 게시글 데이터를 만들 수 있습니다. Field의 타입·목록·필수·유효성 조건을 정하는 방법은 Content 모델링에서 더 자세히 다룹니다.
이제 데이터 구조가 준비됐으니, 다음 단계에서는 이 구조를 바탕으로 실제 게시글을 작성해 봅니다.
- 데이터 추가하기:
Article구조를 따르는 실제 게시글을 만들고 발행합니다.
