Quickstarters
Feature Overview
How to Build a Backend for ASP.NET Core?
33 분
소개 이 튜토리얼에서는 back4app을 사용하여 asp net core의 백엔드를 구축하는 방법을 배웁니다 데이터베이스 관리, 클라우드 코드, rest 및 graphql api, 사용자 인증, 실시간 쿼리와 같은 back4app의 필수 기능을 통합함으로써 asp net core 애플리케이션을 위한 완전한 백엔드 솔루션을 얻을 수 있습니다 이 접근 방식은 최소한의 설정으로 서버 측 논리를 처리하면서 확장 가능한 웹 애플리케이션을 구축하는 것을 지원합니다 back4app을 사용하면 asp net core 프로젝트의 백엔드 개발 속도를 높일 수 있습니다 신뢰할 수 있는 웹 api 인프라, 데이터베이스 연결 및 강력한 클라우드 기능을 지원하는 오픈 소스 플랫폼의 이점을 누릴 수 있습니다 이 튜토리얼이 끝나면 향상된 사용자 경험을 제공하고 실시간 데이터를 처리하는 안전하고 확장 가능한 백엔드의 작동하는 기반을 갖게 됩니다 그런 다음 필요에 따라 net core 솔루션을 확장하거나 다른 서비스와 통합할 수 있습니다 전제 조건 back4app 계정과 새로운 back4app 프로젝트 back4app 시작하기 https //www back4app com/docs/get started/new parse app 계정이 없으시면 무료로 생성할 수 있습니다 asp net core 개발 환경 net sdk(버전 6 0 이상)가 설치되어 있는지 확인하세요 net 다운로드 https //dotnet microsoft com/en us/download c# 및 asp net core에 대한 친숙함 공식 asp net core 문서 https //learn microsoft com/en us/aspnet/core/?view=aspnetcore 6 0 선택 사항 parse net sdk를 사용할 계획이라면 parse sdk dotnet https //github com/parse community/parse sdk dotnet 또는 csproj 파일에 참조가 필요합니다 시작하기 전에 이러한 모든 필수 조건이 준비되어 있는지 확인하세요 back4app 프로젝트와 asp net core 환경이 준비되어 있으면 단계별로 따라하기가 훨씬 쉬워집니다 1단계 – back4app에서 새 프로젝트 만들기 및 연결하기 왜 이 단계인가? 당신의 asp net core 백엔드는 back4app 프로젝트로 시작됩니다 이 프로젝트는 데이터베이스, 보안 규칙 및 앱 설정을 관리하는 서버 측 기반입니다 프로젝트 만들기 로그인 하여 back4app 계정에 접속하세요 대시보드에서 “새 앱”을 클릭하세요 앱 이름을 지정하세요 (예 “aspnetcore backend tutorial”) 생성 후, 대시보드에 목록이 표시됩니다 이 새로운 앱은 백엔드 개발 작업을 위한 주요 허브입니다 parse net sdk 설치 (선택 사항) 직접 rest api 또는 graphql 를 사용할 수 있지만, parse net sdk 는 asp net core 솔루션에서 데이터 작업을 단순화할 수 있습니다 통합하려면 parse sdk를 추가하세요 csproj에 추가하거나 nuget 패키지 관리자를 통해 추가하세요 sdk를 초기화하세요 asp net core 애플리케이션에서 (예 program cs 또는 startup cs ) 플레이스홀더를 back4app 앱의 “앱 설정” > “보안 및 키”에서 가져온 자격 증명으로 교체하세요 이렇게 하면 asp net core 프로젝트가 back4app의 서버 측 환경에 연결됩니다 2단계 – 데이터베이스 설정 1\ 데이터 모델 생성 back4app 대시보드를 사용하여 클래스 스키마를 정의하세요 예를 들어, todo 클래스에 title (문자열) 및 iscompleted (부울)과 같은 열이 있습니다 2\ ai 에이전트를 사용하여 데이터 모델 생성 back4app 대시보드에서 ai 에이전트를 열고 데이터 모델을 설명하세요 예를 들어, “내 asp net core 애플리케이션을 위한 새로운 todo 클래스를 생성하세요 ” ai 에이전트가 스키마를 설정해 줍니다 3\ parse net sdk를 사용한 데이터 읽기 및 쓰기 다음은 c#에서 todo 항목을 생성하고 가져오는 방법입니다 using parse; // create a new todo public async task\<parseobject> createtodo(string title, bool iscompleted) { var todo = new parseobject("todo") { { "title", title }, { "iscompleted", iscompleted } }; return await todo saveasync(); } // fetch all todos public async task\<ienumerable\<parseobject>> fetchtodos() { var query = new parsequery\<parseobject>("todo"); return await query findasync(); } 4\ rest api를 사용한 데이터 읽기 및 쓰기 대안으로, rest api 접근 방식을 사용할 수 있습니다 curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo 5\ graphql api를 사용한 데이터 읽기 및 쓰기 사용하려면 graphql , back4app graphql 엔드포인트에 쿼리 또는 변형을 전송하세요 mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } 6\ 실시간 쿼리 작업하기 대시보드에서 live queries를 활성화하여 실시간 업데이트를 활성화하세요 ( 서버 설정 ) 그런 다음 net 또는 websocket 접근 방식을 사용하여 구독하세요 이렇게 하면 웹 애플리케이션 의 데이터가 추가 호출 없이 신선하게 유지됩니다 3단계 – acl 및 clp로 보안 적용하기 acl 및 clp 개요 acl(액세스 제어 목록) 은 개별 객체를 보호합니다 clp(클래스 수준 권한) 은 전체 클래스를 보호합니다 이러한 계층적 접근 방식은 asp net core 환경에서 데이터를 안전하게 유지합니다 클래스 수준 권한 설정 back4app 대시보드에서 데이터베이스 탭을 엽니다 todo 클래스를 선택합니다 클릭 클래스 수준 권한 공용 또는 인증된 역할에 대한 읽기/쓰기를 사용자 정의합니다 코드에서 acl 구성하기 parse net sdk를 사용하면 객체 수준에서 acl을 설정할 수 있습니다 var todo = new parseobject("todo") { { "title", "private task" } }; // restrict read/write to only a particular user var acl = new parseacl(); acl setpublicreadaccess(false); acl setpublicwriteaccess(false); acl setreadaccess(user objectid, true); acl setwriteaccess(user objectid, true); todo acl = acl; await todo saveasync(); 4단계 – 클라우드 코드 함수 작성 클라우드 코드란? 클라우드 코드 는 back4app의 서버 측 에서 실행됩니다 이는 검증, 트리거 또는 asp net core 프로젝트 에 대한 추가 논리에 이상적입니다 민감한 프로세스를 안전하게 유지하고 클라이언트에서 분리할 수 있습니다 예제 클라우드 함수 // main js example parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); 배포 클라우드 코드를 배포하려면 back4app cli b4a deploy 대시보드 코드를 클라우드 코드 > 함수 에 붙여넣고 배포 를 클릭하세요 클라우드 함수 호출 net에서 public async task\<dictionary\<string, object>> gettextlength(string text) { var parameters = new dictionary\<string, object> { { "text", text } }; var result = await parsecloud callfunctionasync\<dictionary\<string, object>>("calculatetextlength", parameters); return result; } 또는 rest curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"text" "hello back4app"}' \\ https //parseapi back4app com/functions/calculatetextlength 5단계 – 인증 구성 사용자 인증 활성화 asp net core는 자체적으로 아이덴티티를 관리할 수 있습니다 하지만 원하신다면, parse의 사용자 클래스로 이를 위임할 수 있습니다 back4app은 비밀번호 해싱, rest api 세션 및 기타 보안 세부정보를 처리합니다 // sign up public async task signupuser(string username, string password, string email) { var user = new parseuser { username = username, password = password, email = email }; await user signupasync(); } // log in public async task\<parseuser> loginuser(string username, string password) { return await parseuser loginasync(username, password); } 소셜 로그인 통합 facebook , google , 또는 원하는 경우 back4app 대시보드에서 oauth 설정을 구성하여 다른 공급자를 추가할 수 있습니다 소셜 로그인 문서 https //www back4app com/docs/platform/sign in with apple 6단계 – 파일 저장 처리 파일 업로드 이미지나 문서를 업로드하려면 parsefile 을 사용하세요 public async task\<parsefile> uploadimage(byte\[] filebytes, string filename) { var parsefile = new parsefile(filename, filebytes); await parsefile saveasync(); return parsefile; } 파일 보안 파일 업로드를 앱 설정 > 보안 및 키 , 누구가 파일을 업로드하거나 접근할 수 있는지를 조정하여 구성하세요 이는 웹 애플리케이션 에서 사용자 데이터를 보호합니다 7단계 – 이메일 인증 및 비밀번호 재설정 왜 중요한가 이메일 인증은 사용자가 제공한 이메일을 소유하고 있음을 보장합니다 비밀번호 재설정은 asp net core 솔루션에서 안전한 사용자 경험을 위해 중요합니다 back4app에서 활성화하기 back4app 대시보드에서 이메일 설정 으로 이동하세요 이메일 인증 활성화 enable email verification 을 켭니다 브랜딩에 맞게 비밀번호 재설정 템플릿을 조정하세요 8단계 – 클라우드 작업으로 작업 예약하기 백그라운드 작업 자동화하기 클라우드 작업을 사용하여 오래된 데이터를 삭제하거나 알림을 보내는 등의 반복 작업을 실행합니다 예를 들어, cleanupoldtodos // main js parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; }); 백4앱 대시보드에서 서버 설정 > 백그라운드 작업 아래에 일정을 설정합니다 9단계 – 웹훅 통합하기 웹훅 사용하기 웹훅을 사용하면 asp net core 백엔드가 데이터가 변경될 때마다 외부 서비스를 호출할 수 있습니다 예를 들어, 새로운 todo 가 생성될 때 슬랙 채널에 알림을 보냅니다 웹훅으로 이동합니다 더보기 > 웹훅 새 엔드포인트를 추가합니다 이벤트를 선택합니다 (예 todo 생성 ) 10단계 – back4app 관리 패널 탐색하기 개요 back4app 관리 앱 은 비기술 사용자가 코드에 접근하지 않고도 데이터를 관리(crud)할 수 있도록 도와줍니다 모델 중심적이며 직관적입니다 활성화 하려면 앱 대시보드 > 더보기 > 관리자 앱 > 관리자 앱 활성화 관리자 사용자를 생성하고 하위 도메인을 선택하세요 그런 다음 새 자격 증명으로 로그인하세요 관리자 앱을 사용하면 귀하와 귀하의 팀이 필수 데이터 작업을 신속하게 처리할 수 있어 협업이 촉진되고 개발 시간이 절약됩니다 결론 back4app을 사용하여 데이터, 보안 및 기능을 간소화하는 asp net core의 백엔드를 구축하는 방법을 배웠습니다 오픈 소스 플랫폼과 net core 기술을 결합함으로써 이제 다음과 같은 것을 갖추게 되었습니다 acl 및 clp가 있는 확장 가능한 데이터베이스 구조 즉각적인 데이터 업데이트를 위한 실시간 라이브 쿼리 안전한 서버 측 로직을 위한 클라우드 코드 웹 개발 흐름을 위한 통합 웹 api 엔드포인트 백엔드를 확장하기 위한 자동화된 클라우드 작업 및 웹후크 데이터 관리를 위한 사용하기 쉬운 관리 패널 이러한 기초가 마련되면, 탁월한 사용자 경험을 제공하고 대규모 트래픽을 손쉽게 처리하는 완전한 asp net core 애플리케이션을 개발할 수 있습니다 다음 단계 생산 환경으로 이동 보안 규칙을 강화하고, 성능을 최적화하며, back4app 분석을 활용하세요 고급 기능 추가 역할, 역할 기반 접근 또는 제3자 api(예 stripe, slack)로 실험하세요 클라우드 코드에 대해 더 깊이 파고들기 사용자 정의 트리거를 작성하고, 외부 서비스와 통합하거나, 복잡한 워크플로를 처리하세요 공식 back4app 문서 검토 back4app 문서 https //www back4app com/docs/ 는 고급 사용에 대한 지침을 제공합니다 asp net core 프로젝트 확장 을 통해 더 풍부한 mvc 패턴, 마이크로서비스 또는 전문 인증 흐름을 추가하세요