구축을 통한 학습: SurrealDB University의 최신 튜토리얼
Source: Dev.to
Introduction
오늘 우리는 SurrealDB University에 새로운 강좌가 추가되었음을 기쁘게 발표합니다. SurrealDB와 그 쿼리 언어를 배우기에 최고의 장소인 이곳에 새 튜토리얼이 추가되어, 대학을 통한 SurrealDB 학습 방법이 네 가지가 되었습니다.
Existing Courses
SurrealDB University는 두 개의 강좌로 시작했습니다:
- SurrealDB Fundamentals – 영상 기반 강좌로, 최소 3시간이면 수강을 마칠 수 있습니다.
- Aeon’s Surreal Renaissance – 이야기를 통해 SurrealDB를 가르치는 책으로, 전체를 소화하는 데 며칠이 걸립니다.
이후 세 번째 강좌를 추가했습니다:
- Tour of SurrealDB – 30분 정도면 끝낼 수 있는 간결한 투어입니다.
이 강좌들은 세 종류의 학습자를 만족시켰지만, 네 번째 유형은 충족되지 않았습니다: 직접 만들면서 배우고 튜토리얼 마지막에 실행 가능한 프로젝트를 원하는 사람들.
Why a New Tutorial?
Aeon’s Surreal Renaissance의 마지막 네 챕터는 이미 느슨하게 구조화된 JSON 데이터를 이용해 영화 데이터베이스 프로젝트를 만드는 과정을 안내합니다. 하지만 사용자를 바로 그 챕터들로 안내하면 두 가지 문제가 발생했습니다:
- Pacing – 튜토리얼이 책의 마지막 부분부터 시작해 사전 지식을 전제로 합니다. 신규 사용자는 새로운 내용이 거의 없는 빠른 주제 전환을 겪게 됩니다.
- Spoilers – 해당 챕터들은 이야기를 마무리 짓는 부분이므로, 먼저 보여주면 스토리 경험이 스포일러가 됩니다.
따라서 우리는 이 내용을 독립적인 튜토리얼로 다시 작성했습니다.
Learning Path Overview
이 새로운 튜토리얼에서 여러분은 다음을 수행합니다:
- 느슨하게 타입된 JSON 데이터를 삽입합니다.
- 원본 데이터가 변환될 SurrealQL 타입을 배우고, 그 장점을 이해합니다.
- 변환을 수행할 함수들을 정의합니다.
- 영화 장르와 평점을 위한 데이터베이스 파라미터를 정의합니다.
- 변환된 영화 데이터를 삽입합니다.
- 스키마를 추가합니다.
- 인덱스를 정의하고, 그 중 두 개는 전체 텍스트 검색용입니다.
- 배우, 작가, 감독을 추가하고, 그래프 엣지를 통해 영화와 연결합니다.
- 다양한 역할을 가진 데이터베이스 시스템 사용자를 정의합니다.
- 비시스템 사용자가 엄격한 권한 하에 데이터베이스와 상호 작용할 수 있도록 접근 방식을 생성합니다.
- Surrealist와 터미널의
curl요청을 이용해 각 사용자 유형의 관점에서 데이터베이스를 테스트합니다.
튜토리얼은 약 12 000단어 정도이며, 집중해서 오후에 마치거나 여유 있게 이틀에 걸쳐 진행할 수 있는 분량입니다.
Extending the Project
데이터베이스가 가동된 뒤에도 계속 확장할 수 있습니다. 예를 들어:
- 전체 텍스트 인덱스의
edgengram필터를 활용해 사용자가 타이핑할 때 영화 제목과 줄거리를 실시간으로 표시하는 UI를 추가합니다 (예: “ter”를 입력하면 “Terminator 2” 결과가 표시됨). - 영화 데이터베이스를 이용하고 포스터 이미지 URL을 담은
Poster필드를 활용하는 Rust 프론트엔드를 통합합니다.
이 튜토리얼을 기반으로 확장이나 예제를 만들었다면, 예제 폴더에 추가하도록 풀 리퀘스트를 열어 주세요. 이는 여러분이 완성한 튜토리얼을 선보이고, 좋아하는 프로그래밍 언어의 백엔드로 SurrealDB를 통합하는 방법을 보여줄 좋은 기회가 됩니다.