퀵스타터즈

다트를 위한 백엔드 구축 방법?

25min

소개

이 튜토리얼에서는 Dart용 백엔드를 구축하는 방법을 배웁니다.

우리는 데이터베이스 관리, 클라우드 코드 함수, REST 및 GraphQL API, 사용자 인증, 실시간 쿼리(라이브 쿼리)와 같은 필수 Back4app 기능을 Dart 기반 프로젝트에 통합하는 데 집중할 것입니다.

Dart는 다재다능한 프로그래밍 언어이므로 간단한 웹 서버에서 전체 규모의 애플리케이션에 이르기까지 다양한 백엔드 프로젝트에 사용할 수 있습니다.

Back4app의 직관적인 환경을 활용하면 무거운 서버 유지 관리 없이 빠르게 강력하고 안전한 백엔드 프레임워크를 설정할 수 있습니다.

ACL, CLP, 백그라운드 작업 예약, 클라우드 코드로 사용자 정의 논리 생성과 같은 기능이 서버 측 작업을 어떻게 간소화하는지 확인할 수 있습니다.

이 튜토리얼을 완료한 후에는 Dart 백엔드를 확장하거나 더 고급 통합을 추가할 준비가 될 것입니다.

전제 조건

이 튜토리얼을 완료하려면 다음이 필요합니다:

  • Back4app 계정과 새로운 Back4app 프로젝트 Back4app 시작하기. 계정이 없으면 무료로 만들 수 있습니다.
  • 기본 Dart 개발 환경 Dart SDK와 원하는 편집기를 설치하여 설정할 수 있습니다. 자세한 내용은 Dart SDK 받기.
  • Dart 2.0 이상 환경이 최신 상태인지 확인하여 최근 Dart 기능과 패키지 선반 또는 기타 서버 측 라이브러리를 활용할 수 있도록 합니다.
  • Dart 및 백엔드 개념에 대한 친숙함 Dart가 처음이라면 Dart 공식 문서.를 검토하여 기본적인 유창성을 기르세요.

시작하기 전에 이러한 모든 전제 조건이 준비되어 있는지 확인하세요. Back4app 프로젝트가 준비되고 로컬 Dart 환경이 제대로 구성되어 있으면 더 쉽게 따라할 수 있습니다.

1단계 – Back4App에서 새 프로젝트 만들기 및 연결하기

  1. 왜 새로운 Back4app 프로젝트를 만들어야 하나요? 새로운 Back4app 프로젝트는 데이터베이스, 보안, API, 파일 저장소 등을 관리하는 백엔드의 기초를 형성합니다. Dart 기반 서버 측 논리를 구축할 수 있는 조직적인 구조를 제공합니다.
  2. Back4app 프로젝트 만들기
    • Back4app 계정에 로그인합니다.
    • Back4app 대시보드에서 “새 앱”을 클릭합니다.
    • 앱에 설명적인 이름을 지정합니다(예: “Dart-Backend-Tutorial”).
Document image


프로젝트가 생성되면 Back4app 대시보드에 나타납니다. 이 프로젝트는 Dart 애플리케이션의 모든 백엔드 설정을 구성하는 곳입니다.

  1. Parse SDK 설치 및 연결 Dart에는 공식 Parse SDK가 없지만, Back4app 통합을 가능하게 하는 parse_server_sdk와 같은 커뮤니티 유지 관리 라이브러리가 있습니다. Dart 프로젝트의 다음 종속성을 포함하여 추가할 수 있습니다.pubspec.yaml:
YAML


그런 다음 실행하십시오:

Bash


Parse 초기화를 Dart 코드에서 (예: main.dart 파일에서):

Dart


Back4app 대시보드에서 애플리케이션 ID, JavaScript 키, 및 Parse 서버 URL을 가져옵니다 ( “앱 설정” > “보안 및 키” 아래). 이 단계로 Dart 애플리케이션이 Back4app 백엔드 프레임워크와 안전하게 상호작용할 수 있습니다.

2단계 – 데이터베이스 설정

  1. 데이터 모델 생성 Back4app 대시보드에서 “데이터베이스” 섹션으로 이동하여 새 클래스를 생성합니다 (예: “Todo”). title (String) 및 isCompleted (Boolean)과 같은 필드에 대한 열을 추가합니다.
  2. AI 에이전트를 사용하여 데이터 모델 생성
    • 앱 대시보드에서 AI 에이전트를 엽니다.
    • 원하는 스키마를 설명합니다 (예: “제발 title 및 isCompleted 필드가 있는 ToDo 클래스를 생성해 주세요.”).
    • AI 에이전트가 스키마를 최종화하도록 합니다.
스키마 생성을 위한 AI 에이전트
스키마 생성을 위한 AI 에이전트

  1. SDK를 사용한 데이터 읽기 및 쓰기 parse_server_sdk 라이브러리를 사용하여 Dart 코드에서 데이터를 저장하고 쿼리할 수 있습니다. 예를 들어:
Dart

  1. REST API를 사용한 데이터 읽기 및 쓰기
Bash

  1. GraphQL API를 사용한 데이터 읽기 및 쓰기
GraphQL

  1. 실시간 쿼리 작업 (선택 사항) 실시간 업데이트를 활성화하려면 Back4app 대시보드(서버 설정)에서 실시간 쿼리를 켜십시오. 그런 다음 Dart에서 구독할 수 있지만, 전문 라이브러리가 필요할 수 있습니다. parse_server_sdk 라이브러리는 부분적인 실시간 쿼리 지원이 있을 수 있으니, 자세한 내용은 문서를 확인하십시오.

3단계 – ACL 및 CLP로 보안 적용하기

  1. 개요
    • ACLs (액세스 제어 목록): 객체 수준에서 읽기/쓰기를 제한합니다.
    • CLPs (클래스 수준 권한): 클래스 수준에서 읽기/쓰기를 제한합니다.
  2. 단계별
    • 클래스 수준 권한: Back4app 대시보드에서 데이터베이스 섹션을 열고, 클래스를 선택한 후 “보안” 아래에서 CLPs를 구성합니다.
    • 코드에서의 ACLs (parse_server_sdk 사용):
Dart


4단계 – 클라우드 코드 함수 작성

  1. 클라우드 코드의 필요성 클라우드 코드는 서버 측에서 사용자 정의 비즈니스 로직을 생성하는 데 필수적입니다. 이는 자체 인프라를 관리할 필요가 없게 해주며, 코드를 안전하고 확장 가능하게 유지합니다.
  2. 예제 함수 및 트리거 당신의 main.js (클라우드 코드용):
JS

  1. 배포
    • Back4app CLI 사용:
    • 대시보드 사용:
      1. 클라우드 코드로 가기 > 함수.
      2. 코드를 main.js에 붙여넣기.
      3. 클릭 배포.
  2. NPM 및 클라우드 코드 클라우드 코드에 추가 NPM 모듈이 필요한 경우, 프로젝트의 package.json. 이를 통해 외부 API 또는 고급 작업을 서버 측 코드에서 직접 통합할 수 있습니다.

5단계 – 인증 구성

  1. 사용자 인증 활성화 Back4app 대시보드에서 이메일 인증을 활성화하거나 소셜 로그인을 설정할 수 있습니다. 기본적으로 Parse 사용자 클래스는 비밀번호를 안전하게 저장합니다.
  2. 코드 샘플 (Dart에서 parse_server_sdk 사용):
Dart

  1. 소셜 로그인
    • Back4app 대시보드에서 Google, Apple, 또는 Facebook과 같은 제공자를 구성하세요.
    • 해당 parse_server_sdk 플러그인 또는 사용 가능한 경우 사용자 지정 OAuth 흐름을 구현하세요.

6단계 – 파일 저장 처리

  1. 파일 저장 설정 Back4app은 Parse API를 통해 업로드한 파일을 자동으로 호스팅합니다. 이미지, 문서 또는 모든 파일 유형을 저장할 수 있습니다.
  2. 예시 (Dart)
  3. 보안 고려사항 Back4app 대시보드에서 CLP 또는 사용자 역할을 조정하여 파일을 업로드하거나 검색할 수 있는 사람을 제어할 수 있습니다.

7단계 – 이메일 확인 및 비밀번호 재설정

  1. 개요 이메일 확인은 사용자가 등록한 이메일을 소유하고 있음을 확인하며, 비밀번호 재설정 링크는 분실된 자격 증명을 관리하는 안전한 방법을 제공합니다.
  2. Back4App 대시보드 구성
    • 이동 앱 설정 > 이메일.
    • 사용자 이메일 확인비밀번호 재설정을 활성화합니다.
    • 필요에 따라 이메일 템플릿을 사용자 정의합니다.
  3. 구현 사용자가 유효한 이메일로 가입하면 이메일 확인 링크를 받습니다. 비밀번호 재설정의 경우 ParseUser의 requestPasswordReset 메서드를 호출하거나(파스 서버 SDK에서 사용 가능한 경우) REST 엔드포인트를 호출합니다.

8단계 – 클라우드 작업으로 작업 예약하기

  1. 클라우드 작업의 기능 클라우드 작업을 사용하면 정해진 간격으로 작업을 예약할 수 있습니다. 예를 들어 오래된 기록을 정리하거나 주기적인 보고서를 전송하는 작업입니다. 이들은 사용자 트리거 작업과 독립적으로 백그라운드에서 작동합니다.
  2. 예시 main.js, 추가:
JS

  1. 일정 설정
    • 이동 앱 설정 > 서버 설정 > 백그라운드 작업.
    • 일정 cleanupOldTodos를 매일 또는 선택한 간격으로 실행되도록 설정합니다.

9단계 – 웹훅 통합

  1. 정의 웹훅은 Back4app 앱이 특정 이벤트에서 외부 서비스에 HTTP 요청을 할 수 있게 해줍니다. 이는 Slack이나 Stripe와 같은 서드파티 서비스와 통합하는 데 유용합니다.
  2. 구성
    • 이동 더보기 > 웹훅에서 Back4app 대시보드.
    • 클릭 웹훅 추가하고 엔드포인트를 제공하세요 (예: https://your-external-service.com/webhook-endpoint).
    • 트리거 이벤트를 지정하세요 (예: Todo가 생성된 후).
웹훅 추가
웹훅 추가

  1. 예시 Slack 웹훅 URL이 있는 경우, 새 Todo가 삽입될 때마다 알림을 받을 수 있도록 구성할 수 있습니다. Dart 백엔드와 외부 도구 간의 원활한 연결은 자동화를 향상시킵니다.

10단계 – Back4App 관리 패널 탐색

  1. 찾는 방법 Back4app 콘솔에서 더보기 > 관리 앱을 열고 패널을 활성화합니다.
  2. 기능
    • 데이터베이스 레코드를 쉽게 관리합니다.
    • 로그, 백그라운드 작업 및 분석을 검토합니다.
    • 사용자 접근 및 역할을 제어합니다.
관리자 앱 활성화
관리자 앱 활성화


결론

이 단계를 따르면 다음과 같은 작업을 수행했습니다:

  • Dart를 위한 안전한 백엔드 구축 on Back4app.
  • 데이터베이스 관리 Parse 클래스와 필드를 통해.
  • 서버 측 로직을 처리하기 위한 사용자 정의 클라우드 코드 생성.
  • 데이터 보안 ACL, CLP 및 사용자 인증을 사용하여.
  • 클라우드 작업으로 백그라운드 작업 예약.
  • 웹훅을 사용하여 외부 서비스 통합.
  • 데이터 관리를 쉽게 하기 위한 관리자 패널 탐색.

이 탄탄한 기초는 전체 규모의 웹 서버, 마이크로서비스 또는 특수 애플리케이션을 구축하든 관계없이 Dart 프로젝트를 효율적으로 배포할 수 있도록 준비시킵니다. 여기에서 백엔드 프레임워크를 확장하고, 더 복잡한 로직을 추가하거나 푸시 알림 또는 고급 분석과 같은 고급 기능을 통합할 수 있습니다.

다음 단계

  • 생산 준비 상태 탐색: 캐싱 전략을 사용하고, 동시성을 처리하며, 높은 트래픽을 위한 성능을 최적화합니다.
  • 고급 기능 통합: 역할 기반 접근 제어, 더 많은 소셜 로그인 또는 실시간 협업 도구와 같은 기능입니다.
  • 공식 Back4app 문서 확인 로그, 보안 및 성능 조정에 대한 더 깊은 통찰력을 얻기 위해.
  • 실험 package shelf와 같은 추가 패키지를 사용하여 Parse 기반 데이터 레이어와 함께 사용자 정의 웹 서버를 생성하고 Dart의 유연한 프로그래밍 언어로서의 기능을 활용합니다.

Dart용 백엔드를 구축하는 방법에 대한 이 지식을 통해 데이터 처리, 서버 측 프로세스 보안 및 앱의 워크플로 자동화를 강력하게 수행할 수 있습니다. 모든 것을 상당한 인프라 오버헤드 없이.