루비를 위한 백엔드를 구축하는 방법은?
이 튜토리얼에서는 Ruby용 백엔드를 구축하는 방법을 배울 것입니다.
우리는 데이터베이스 관리, 클라우드 코드 함수, REST 및 GraphQL API, 사용자 인증, 실시간 쿼리(라이브 쿼리)와 같은 필수 Back4App 기능을 살펴볼 것입니다.
Ruby 프로그래밍 언어와 Back4App을 활용함으로써, 소프트웨어 개발 생태계와 쉽게 통합되는 안전하고 확장 가능하며 강력한 백엔드를 얻을 수 있습니다.
이 접근 방식은 Parse를 기반으로 구축된 오픈 소스 웹 플랫폼을 사용하여 시간과 노력을 절약합니다. 빠른 개발 원칙으로 개발 프로젝트를 가속화하는 방법을 보게 될 것입니다.
그 과정에서 고급 보안 기능을 사용하고, 클라우드 작업으로 작업을 예약하며, 외부 통합을 위한 웹후크를 설정하는 방법을 배울 것입니다.
마지막에는 웹 애플리케이션 프레임워크 구조를 설계하고 이를 프로덕션 애플리케이션으로 확장할 준비가 될 것입니다.
다음과 같은 작업을 수행할 수 있습니다:
- 데이터 모델, 객체 지향 논리 및 실시간 데이터를 위해 Ruby를 Back4App과 통합합니다.
- 모델-뷰-컨트롤러(MVC) 스타일 또는 선호하는 다른 아키텍처에서 애플리케이션 개발을 위한 개발 프로세스 모범 사례를 활용합니다.
- 안전한 사용자 인증, 클라우드 코드 트리거 등을 처리하여 백엔드 개발자로서의 역할을 강화합니다.
- Back4App의 유연한 기능을 사용하여 실제 요구 사항을 충족하도록 웹 애플리케이션을 더욱 개선합니다.
- Ruby 프로그래밍 언어에 대한 친숙함 Ruby 구문에 대한 기본 지식, 객체 지향 개념 및 일반 프로그래밍 언어 사용.
시작하기 전에 모든 필수 조건이 준비되어 있는지 확인하세요. Back4App 프로젝트를 생성하고 Ruby 환경을 준비하면 원활한 튜토리얼 경험을 제공할 수 있습니다.
- 이 단계가 중요한 이유 새로운 Back4App 프로젝트는 당신의 애플리케이션 개발의 기초입니다. 이곳은 데이터베이스를 호스팅하고, 사용자 인증을 관리하며, Cloud Code를 실행할 환경을 제공합니다.
- 새 프로젝트 만들기
- Back4App에 로그인하세요.
- Back4App 대시보드에서 새 앱을 클릭하세요.
- 앱에 이름을 지정하세요 (예: “Ruby-Backend-Tutorial”).
- Parse SDK 설치 및 Back4App 연결 Ruby용 Parse SDK는 Back4App의 백엔드와 상호작용하는 데 도움을 줍니다. gem을 통해 설치할 수 있습니다:
Back4App에서 클래스는 데이터베이스 테이블과 같습니다. 예를 들어, 작업을 저장하기 위해 “Todo” 클래스를 만들 수 있습니다. Ruby에서 즉석에서 클래스를 만들거나 대시보드에서 정의하여 세밀한 제어를 할 수 있습니다.
- 앱 대시보드에서 AI 에이전트를 엽니다.
- 데이터 모델을 설명하세요 간단한 언어로 (예: “제목, isCompleted 필드가 있는 Todo 앱”).
- AI 에이전트가 자동으로 스키마를 생성하도록 하세요.
아래는 Ruby SDK를 사용하여 “Todo” 클래스에 새 레코드를 생성하는 간단한 예입니다:
REST 인터페이스를 사용하여 레코드를 생성하고 검색할 수도 있습니다:
Back4App는 고급 웹 애플리케이션:
Back4App 대시보드(서버 설정)에서 라이브 쿼리를 활성화하고, 환경이 WebSocket 연결을 지원하는 경우 Ruby 스크립트에서 구독하세요. 동시성을 지원하는 웹 애플리케이션 프레임워크에서도 실시간 업데이트에 사용할 수 있습니다.
ACL(액세스 제어 목록)과 CLP(클래스 수준 권한)는 객체 지향 방식으로 데이터를 보호합니다. ACL은 각 레코드를 읽거나 쓸 수 있는 사람을 결정할 수 있게 해줍니다. CLP는 전체 클래스에 대한 권한을 관리할 수 있게 해줍니다.
앱의 데이터베이스 섹션으로 가서 “Todo”와 같은 클래스를 선택하세요. “보안” 또는 “클래스 수준 권한”에서 클래스의 CLP를 구성하세요. 레코드에 ACL을 설정하려면:
이렇게 하면 오직 소유자만 해당 Todo를 읽거나 쓸 수 있습니다.
클라우드 코드는 비즈니스 로직과 검증을 서버에 직접 내장하는 데 도움을 줍니다. 데이터 무결성을 보장하고 클라이언트에 노출되지 않은 작업을 수행하는 데 이상적입니다.
프로젝트의 main.js (또는 유사한 파일)에서 Back4App에 클라우드 함수를 정의할 수 있습니다:
참고: 우리의 주요 애플리케이션은 루비를 사용하지만, Parse의 클라우드 코드는 자바스크립트 기반입니다. 이것이 Back4App에서 서버 측 로직을 내장하는 방법입니다.
- Back4App CLI:
- Back4App 대시보드: 함수를 Cloud Code > Functions에 복사/붙여넣기하고 배포를 클릭하세요.
클라우드 코드 환경에 npm 모듈(예: axios)을 설치할 수 있습니다. 예를 들어:
당신의 main.js, 이를 요구하고 필요에 따라 외부 API 호출을 하세요.
앱의 앱 설정에서 사용자 인증을 활성화합니다. Back4App은 Parse.User를 사용하여 사용자 관리를 수행합니다.
소셜 로그인을 통합하려면 (Facebook, Google, Apple), 소셜 로그인 문서를 참조하세요. 각 제공업체에 대한 구현 세부정보는 다릅니다.
Back4App은 Parse::File 객체를 통해 파일 업로드를 관리합니다. 루비에서:
사용자는 이미지, 문서 또는 기타 파일을 업로드할 수 있습니다. URL을 검색하여 프론트엔드 또는 기타 서비스에 표시합니다.
필요한 경우 인증된 사용자에게만 파일 업로드를 제한하도록 앱을 구성하십시오.
이메일 확인은 새 계정에 대한 유효한 이메일 주소를 보장합니다. 비밀번호 재설정은 사용자가 안전하게 계정을 복구할 수 있도록 합니다.
- 이메일 확인을 활성화하십시오.
- 확인 및 비밀번호 재설정을 위한 사용자 정의 템플릿을 설정하십시오.
루비에서 비밀번호 재설정을 요청할 수 있습니다:
이것은 사용자 이메일로 비밀번호 재설정 링크를 보냅니다.
클라우드 작업은 오래된 데이터를 정리하거나 요약 이메일을 보내는 것과 같은 주기적인 작업을 실행합니다.
백4앱 대시보드에서 앱 설정 > 서버 설정 > 백그라운드 작업 아래에 일정을 설정하세요.
웹훅을 사용하면 백4앱에서 특정 이벤트가 발생할 때마다 외부 서비스에 HTTP 요청을 보낼 수 있습니다. 이는 제3자 서비스에 연결하거나 다른 프로그래밍 언어에서 작업을 트리거하는 데 유용합니다.
앱의 백4앱 대시보드로 가서 > 더보기 > 웹훅, 외부 서비스의 URL로 새 웹훅을 추가하세요.
새 “할 일”이 생성될 때마다 Stripe 또는 Slack에 데이터를 전송하세요. 또는 클라우드 코드에서 트리거를 정의하고 해당 트리거 내에서 HTTP 요청을 만들 수 있습니다.
앱 대시보드에서 더보기 > 관리자 앱, 그런 다음 활성화하세요.
- 코드 없이 데이터 관리를 위한 그래픽 인터페이스.
- 로그 분석, 백그라운드 작업 예약 등을 위한 도구.
- 비기술 사용자가 콘텐츠를 안전하게 관리할 수 있도록 하는 역할 기반 접근 제어.
Back4App에서 Ruby 앱을 위한 안전하고 확장 가능한 백엔드를 구축했습니다. Parse API와 연결하기 위해 Ruby 프로그래밍 언어를 사용했습니다. 이제 개발 프로세스에는 다음이 포함됩니다:
- 고급 보안 기능이 있는 데이터베이스 (ACL, CLP).
- 실시간 데이터 업데이트를 위한 라이브 쿼리.
- 클라우드 코드 트리거를 통한 맞춤형 비즈니스 로직.
- 사용자 인증 및 파일 처리.
- 클라우드 작업 및 외부 서비스에 대한 웹후크를 통한 예약 작업.
- 데이터 관리를 위한 사용자 친화적인 관리 패널.
이 기반을 통해 웹 애플리케이션이나 다른 프로그래밍 언어 프로젝트를 실제 요구 사항에 맞게 확장할 수 있습니다.
경험이 풍부한 백엔드 개발자이든 루비를 처음 시작하는 사람이든, Back4App은 빠른 개발을 위한 객체 지향적이고 사용하기 쉬운 플랫폼을 제공합니다.
추가 API나 기능을 통합하고, 모델 뷰 컨트롤러(MVC) 패턴이나 다른 아키텍처 스타일에 맞게 더 많은 사용자 지정을 탐색해 보세요.
- 생산 환경을 개선하세요 고급 캐싱, 역할 기반 접근 또는 성능 최적화를 추가하여.
- 데이터 클래스 간의 더 복잡한 관계를 추가하세요 실제 사용 사례를 지원하기 위해.
- 공식 Back4App 문서를 탐색하세요 보안, 성능 통찰 및 분석을 위해.
- 다른 오픈 소스 웹 프레임워크로 실험해 보세요 애플리케이션의 기능을 확장하기 위해.
루비와 Back4App으로 더 강력하고 기능이 풍부한 웹 애플리케이션을 구축하는 것을 즐기세요!