WeniVooks

검색

바이브코딩 에센셜 with claude code

비개발자의 백엔드 배포

9. 비개발자의 백엔드 배포

처음 웹 서비스를 만들고 배포해본 사람에게는 큰 재미와 동시와 막막함을 함께 느낍니다. 더 무엇을 공부해야 할지, 어디에 배포해야할지 알기 힘들기 때문이죠. 만약 처음 입문하신 분이라면 GitHub Page를 통해 간단한 서비스를 백엔드 없이 좀 더 운영해보시는 것을 권해드립니다. '운영'을 한다는 것은 사용자 피드백도 받아본다는 얘기입니다. 여기서 자연스럽게 얻어지는 지식들이 있습니다.

그리고 좀 더 서비스를 확장하고 싶을 때 이 챕터를 보시면 좋을 것 같습니다.

1. 비개발자를 위한 배포 서비스는 아직 없다

아쉽게도, 비개발자를 위한 배포서비스는 아직 없습니다. 배포라는 행위 자체가 개발자인 것을 염두해두고 만든 서비스여서 대부분의 배포가 매우 어렵고, 복잡합니다. 왜냐하면 배포에서 고려해야 할 것이 너무나 많기 때문이에요.

예를 들어, 악의적인 정보 탈취, 권한 탈취, 홈페이지 위변조 공격 등 다양한 유형의 악의적인 행위는 서비스가 잘되고 커지면 반드시 들어오는 공격들입니다. 여러분의 서비스가 특별하지 않더라도, 해커는 자동화된 프로그램을 이용하여 의미없는 공격을 불특정 사이트에 감행하는 경우도 많습니다.

만약 여러분의 ID, PW가 유출되면, 누군가 여러분 서버로 들어와서 비트코인을 채굴해 갈 수도 있습니다. 서버비는 여러분이 내고요. 따라서 로그인 조차도 꽤나 복잡한 경우가 많습니다.

쉬우면서도 무료인 서비스는 거의 없습니다. 무료여도 한시적으로 무료인 경우가 많죠. Render는 여러분이 가볍게 배포를 경험해보기 좋습니다.

2. 프롬프트와 개발

아래와 같은 간단한 프롬프트로 Django 유튜브 서비스를 개발할 수 있습니다. Django를 선택한 이유는 관리자 페이지 때문입니다. 개발을 처음 하는 사람이 관리자 페이지까지 만들기는 매우 힘든 일입니다.

나는 유튜브와 비슷한 동영상 스트리밍 서비스를 간단히 만들려고해. 나는 코딩을 인생에 있어서 한 번도 해본적이 없는 사람이라 사용 방법까지 정리해줘. python은 설치했어.

내가 필요한 **요구사항**은 아래와 같아.

- 유튜브와 비슷한 UI
- 클릭했을 때 영상 재생
- 로그인(로그인한 사용자가 영상을 올릴 수 있는 형태는 아니고, 비공개된 영상을 볼 수 있는 서비스야)
- 나는 admin 페이지에서 영상을 올려, 영상을 올릴 수 있는 사람은 나 혼자야.
- 배포는 render에서 할 거야. 그래서 requirements.txt 파일이 필요하다네! render 서비스에서 배포할 때 처음에 `gunicorn 프로젝트명.wsgi`으로 시작한데! 참고해줘.
나는 유튜브와 비슷한 동영상 스트리밍 서비스를 간단히 만들려고해. 나는 코딩을 인생에 있어서 한 번도 해본적이 없는 사람이라 사용 방법까지 정리해줘. python은 설치했어.

내가 필요한 **요구사항**은 아래와 같아.

- 유튜브와 비슷한 UI
- 클릭했을 때 영상 재생
- 로그인(로그인한 사용자가 영상을 올릴 수 있는 형태는 아니고, 비공개된 영상을 볼 수 있는 서비스야)
- 나는 admin 페이지에서 영상을 올려, 영상을 올릴 수 있는 사람은 나 혼자야.
- 배포는 render에서 할 거야. 그래서 requirements.txt 파일이 필요하다네! render 서비스에서 배포할 때 처음에 `gunicorn 프로젝트명.wsgi`으로 시작한데! 참고해줘.

파이썬은 아래 페이지에서 다운로드 받을 수 있습니다.

https://www.python.org/

실행하면 이전에 프로젝트와 달리 꽤나 긴 시간이 걸립니다. 랜딩 페이지처럼 간단하게 만들 수 있는 것이 아니기 때문에 그렇습니다.

완성된 코드는 GitHub에서 다운로드 받아 사용해보셔도 됩니다.

https://github.com/paullabkorea/vibe_django_test

실행방법을 정리해달라고 했기 때문에 해당 폴더 어딘가 정리된 문서가 있을 것입니다. 정리된 문서대로 실행해보겠습니다. 터미널에서 아래 코드를 입력합니다.

python manage.py runserver
python manage.py runserver

만약 남이 만든 코드를 가져왔거나, GitHub에서 다운로드를 받은 경우에는 위 명령어 이전에 아래 명령어를 입력하여 설치하는 과정을 거쳐야 합니다.

pip install -r requirements.txt
pip install -r requirements.txt

사용법.md를 참고해서 아래 URL에 접속합니다.

http://127.0.0.1:8000/
http://127.0.0.1:8000/

로그인이 완료되면 영상을 올려보도록 합니다. http://127.0.0.1:8000/admin 로 접속하여 Videos를 눌러 비디오를 올립니다.

아래처럼 입력하는 창이 뜹니다. 필요한 정보를 입력하고 저장합니다.

http://127.0.0.1:8000/ 페이지에 다시 접속을 해보면 올라온 영상을 볼 수 있습니다.

영상 재생도 잘 됩니다.

이렇게 Django를 사용하면 관리자 페이지에서 간단하게 콘텐츠를 관리할 수 있습니다. 비개발자도 충분히 가능한 수준입니다. 나중에 배포할 때도 Render 같은 서비스를 사용하면 간단하게 배포할 수 있습니다.

8.3 결제 연동