퀵스타터즈

루비를 위한 백엔드를 구축하는 방법은?

33min

소개

이 튜토리얼에서는 Ruby용 백엔드를 구축하는 방법을 배울 것입니다.

우리는 데이터베이스 관리, 클라우드 코드 함수, REST 및 GraphQL API, 사용자 인증, 실시간 쿼리(라이브 쿼리)와 같은 필수 Back4App 기능을 살펴볼 것입니다.

Ruby 프로그래밍 언어와 Back4App을 활용함으로써, 소프트웨어 개발 생태계와 쉽게 통합되는 안전하고 확장 가능하며 강력한 백엔드를 얻을 수 있습니다.

이 접근 방식은 Parse를 기반으로 구축된 오픈 소스 웹 플랫폼을 사용하여 시간과 노력을 절약합니다. 빠른 개발 원칙으로 개발 프로젝트를 가속화하는 방법을 보게 될 것입니다.

그 과정에서 고급 보안 기능을 사용하고, 클라우드 작업으로 작업을 예약하며, 외부 통합을 위한 웹후크를 설정하는 방법을 배울 것입니다.

마지막에는 웹 애플리케이션 프레임워크 구조를 설계하고 이를 프로덕션 애플리케이션으로 확장할 준비가 될 것입니다.

다음과 같은 작업을 수행할 수 있습니다:

  1. 데이터 모델, 객체 지향 논리 및 실시간 데이터를 위해 Ruby를 Back4App과 통합합니다.
  2. 모델-뷰-컨트롤러(MVC) 스타일 또는 선호하는 다른 아키텍처에서 애플리케이션 개발을 위한 개발 프로세스 모범 사례를 활용합니다.
  3. 안전한 사용자 인증, 클라우드 코드 트리거 등을 처리하여 백엔드 개발자로서의 역할을 강화합니다.
  4. Back4App의 유연한 기능을 사용하여 실제 요구 사항을 충족하도록 웹 애플리케이션을 더욱 개선합니다.

필수 조건

  • Back4app 계정 및 새로운 Back4app 프로젝트 Back4app 시작하기. 계정이 없으면 무료로 가입하세요.
  • 로컬 Ruby 환경 다음이 설치되어 있어야 합니다: Ruby 일반적으로 Ruby 2.6 이상이 권장됩니다.
  • Ruby 프로그래밍 언어에 대한 친숙함 Ruby 구문에 대한 기본 지식, 객체 지향 개념 및 일반 프로그래밍 언어 사용.
  • Bundler (선택 사항이지만 권장됨) Bundler는 웹 애플리케이션 프레임워크 또는 개발 프로젝트의 gem을 관리하는 데 도움을 줍니다. Bundler 공식 문서.

시작하기 전에 모든 필수 조건이 준비되어 있는지 확인하세요. Back4App 프로젝트를 생성하고 Ruby 환경을 준비하면 원활한 튜토리얼 경험을 제공할 수 있습니다.

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

  1. 이 단계가 중요한 이유 새로운 Back4App 프로젝트는 당신의 애플리케이션 개발의 기초입니다. 이곳은 데이터베이스를 호스팅하고, 사용자 인증을 관리하며, Cloud Code를 실행할 환경을 제공합니다.
  2. 새 프로젝트 만들기
    • Back4App에 로그인하세요.
    • Back4App 대시보드에서 새 앱을 클릭하세요.
    • 앱에 이름을 지정하세요 (예: “Ruby-Backend-Tutorial”).
  3. Parse SDK 설치 및 Back4App 연결 Ruby용 Parse SDK는 Back4App의 백엔드와 상호작용하는 데 도움을 줍니다. gem을 통해 설치할 수 있습니다:

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

1. 데이터 모델 만들기

Back4App에서 클래스는 데이터베이스 테이블과 같습니다. 예를 들어, 작업을 저장하기 위해 “Todo” 클래스를 만들 수 있습니다. Ruby에서 즉석에서 클래스를 만들거나 대시보드에서 정의하여 세밀한 제어를 할 수 있습니다.

2. AI 에이전트를 사용하여 데이터 모델 만들기

  1. 앱 대시보드에서 AI 에이전트를 엽니다.
  2. 데이터 모델을 설명하세요 간단한 언어로 (예: “제목, isCompleted 필드가 있는 Todo 앱”).
  3. AI 에이전트가 자동으로 스키마를 생성하도록 하세요.
Document image


3. 루비를 사용한 데이터 읽기 및 쓰기 (Parse SDK)

아래는 Ruby SDK를 사용하여 “Todo” 클래스에 새 레코드를 생성하는 간단한 예입니다:

Ruby


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

REST 인터페이스를 사용하여 레코드를 생성하고 검색할 수도 있습니다:

Bash


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

Back4App는 고급 웹 애플리케이션:

GraphQL


6. 라이브 쿼리 작업하기 (선택 사항)

Back4App 대시보드(서버 설정)에서 라이브 쿼리를 활성화하고, 환경이 WebSocket 연결을 지원하는 경우 Ruby 스크립트에서 구독하세요. 동시성을 지원하는 웹 애플리케이션 프레임워크에서도 실시간 업데이트에 사용할 수 있습니다.

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

1. 개요

ACL(액세스 제어 목록)과 CLP(클래스 수준 권한)는 객체 지향 방식으로 데이터를 보호합니다. ACL은 각 레코드를 읽거나 쓸 수 있는 사람을 결정할 수 있게 해줍니다. CLP는 전체 클래스에 대한 권한을 관리할 수 있게 해줍니다.

Document image


2. 클래스 수준 권한(CLPS) 및 ACL 설정하기

앱의 데이터베이스 섹션으로 가서 “Todo”와 같은 클래스를 선택하세요. “보안” 또는 “클래스 수준 권한”에서 클래스의 CLP를 구성하세요. 레코드에 ACL을 설정하려면:

Ruby


이렇게 하면 오직 소유자만 해당 Todo를 읽거나 쓸 수 있습니다.

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

1. 클라우드 코드의 필요성

클라우드 코드는 비즈니스 로직과 검증을 서버에 직접 내장하는 데 도움을 줍니다. 데이터 무결성을 보장하고 클라이언트에 노출되지 않은 작업을 수행하는 데 이상적입니다.

2. 예제 함수

프로젝트의 main.js (또는 유사한 파일)에서 Back4App에 클라우드 함수를 정의할 수 있습니다:

JS


참고: 우리의 주요 애플리케이션은 루비를 사용하지만, Parse의 클라우드 코드는 자바스크립트 기반입니다. 이것이 Back4App에서 서버 측 로직을 내장하는 방법입니다.

3. 배포

  • Back4App CLI:
  • Back4App 대시보드: 함수를 Cloud Code > Functions에 복사/붙여넣기하고 배포를 클릭하세요.

4. NPM 모듈

클라우드 코드 환경에 npm 모듈(예: axios)을 설치할 수 있습니다. 예를 들어:

Bash


당신의 main.js, 이를 요구하고 필요에 따라 외부 API 호출을 하세요.

5단계 – 인증 구성

1. 대시보드 설정

앱의 앱 설정에서 사용자 인증을 활성화합니다. Back4App은 Parse.User를 사용하여 사용자 관리를 수행합니다.

2. 루비로 가입 / 로그인

Ruby


3. 소셜 로그인

소셜 로그인을 통합하려면 (Facebook, Google, Apple), 소셜 로그인 문서를 참조하세요. 각 제공업체에 대한 구현 세부정보는 다릅니다.

6단계 – 파일 저장 처리

1. 파일 저장 설정

Back4App은 Parse::File 객체를 통해 파일 업로드를 관리합니다. 루비에서:

Ruby


2. 예시

사용자는 이미지, 문서 또는 기타 파일을 업로드할 수 있습니다. URL을 검색하여 프론트엔드 또는 기타 서비스에 표시합니다.

3. 보안 고려사항

필요한 경우 인증된 사용자에게만 파일 업로드를 제한하도록 앱을 구성하십시오.

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

1. 왜 중요한가

이메일 확인은 새 계정에 대한 유효한 이메일 주소를 보장합니다. 비밀번호 재설정은 사용자가 안전하게 계정을 복구할 수 있도록 합니다.

2. Back4App 대시보드 구성

  • 이메일 확인을 활성화하십시오.
  • 확인 및 비밀번호 재설정을 위한 사용자 정의 템플릿을 설정하십시오.

3. 코드 예제

루비에서 비밀번호 재설정을 요청할 수 있습니다:

Bash


이것은 사용자 이메일로 비밀번호 재설정 링크를 보냅니다.

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

1. 클라우드 작업의 기능

클라우드 작업은 오래된 데이터를 정리하거나 요약 이메일을 보내는 것과 같은 주기적인 작업을 실행합니다.

2. 예제 작업

JS


백4앱 대시보드에서 앱 설정 > 서버 설정 > 백그라운드 작업 아래에 일정을 설정하세요.

9단계 – 웹훅 통합

1. 정의

웹훅을 사용하면 백4앱에서 특정 이벤트가 발생할 때마다 외부 서비스에 HTTP 요청을 보낼 수 있습니다. 이는 제3자 서비스에 연결하거나 다른 프로그래밍 언어에서 작업을 트리거하는 데 유용합니다.

2. 구성

앱의 백4앱 대시보드로 가서 > 더보기 > 웹훅, 외부 서비스의 URL로 새 웹훅을 추가하세요.

3. 예제

새 “할 일”이 생성될 때마다 Stripe 또는 Slack에 데이터를 전송하세요. 또는 클라우드 코드에서 트리거를 정의하고 해당 트리거 내에서 HTTP 요청을 만들 수 있습니다.

10단계 – 백4앱 관리 패널 탐색

1. 찾는 방법

앱 대시보드에서 더보기 > 관리자 앱, 그런 다음 활성화하세요.

2. 기능

  • 코드 없이 데이터 관리를 위한 그래픽 인터페이스.
  • 로그 분석, 백그라운드 작업 예약 등을 위한 도구.
  • 비기술 사용자가 콘텐츠를 안전하게 관리할 수 있도록 하는 역할 기반 접근 제어.
관리자 앱 활성화
관리자 앱 활성화


결론

Back4App에서 Ruby 앱을 위한 안전하고 확장 가능한 백엔드를 구축했습니다. Parse API와 연결하기 위해 Ruby 프로그래밍 언어를 사용했습니다. 이제 개발 프로세스에는 다음이 포함됩니다:

  • 고급 보안 기능이 있는 데이터베이스 (ACL, CLP).
  • 실시간 데이터 업데이트를 위한 라이브 쿼리.
  • 클라우드 코드 트리거를 통한 맞춤형 비즈니스 로직.
  • 사용자 인증 및 파일 처리.
  • 클라우드 작업 및 외부 서비스에 대한 웹후크를 통한 예약 작업.
  • 데이터 관리를 위한 사용자 친화적인 관리 패널.

이 기반을 통해 웹 애플리케이션이나 다른 프로그래밍 언어 프로젝트를 실제 요구 사항에 맞게 확장할 수 있습니다.

경험이 풍부한 백엔드 개발자이든 루비를 처음 시작하는 사람이든, Back4App은 빠른 개발을 위한 객체 지향적이고 사용하기 쉬운 플랫폼을 제공합니다.

추가 API나 기능을 통합하고, 모델 뷰 컨트롤러(MVC) 패턴이나 다른 아키텍처 스타일에 맞게 더 많은 사용자 지정을 탐색해 보세요.

다음 단계

  • 생산 환경을 개선하세요 고급 캐싱, 역할 기반 접근 또는 성능 최적화를 추가하여.
  • 데이터 클래스 간의 더 복잡한 관계를 추가하세요 실제 사용 사례를 지원하기 위해.
  • 공식 Back4App 문서를 탐색하세요 보안, 성능 통찰 및 분석을 위해.
  • 다른 오픈 소스 웹 프레임워크로 실험해 보세요 애플리케이션의 기능을 확장하기 위해.

루비와 Back4App으로 더 강력하고 기능이 풍부한 웹 애플리케이션을 구축하는 것을 즐기세요!