자바용 Bookshelf 앱

Bookshelf 앱은 자바로 작성된 샘플 웹 앱으로, 다음을 포함한 다양한 Google Cloud Platform(GCP) 제품의 사용 방법을 보여줍니다.

  • App Engine 가변형 환경
  • Cloud SQL
  • Cloud Datastore
  • Cloud Storage
  • Compute Engine

이 가이드에서는 Bookshelf 앱을 살펴보고 GCP에서 제공하는 익숙한 기술과 서비스를 사용하여 앱의 각 기능이 구현되는 방식을 설명합니다.

Bookshelf 앱은 javax.servlet 웹 애플리케이션 프레임워크를 기반으로 하며 자바 서버 페이지를 사용합니다. Bookshelf 샘플 앱에서는 사용성 및 단순성을 위해 서블릿을 사용합니다. 하지만 여기에 설명된 개념 및 기술은 사용할 프레임워크에 관계없이 적용 가능합니다. 이 앱은 Spring Boot(샘플)와 같이 사용자가 선택한 다른 웹 애플리케이션 프레임워크에서도 구현할 수 있습니다.

컨트롤 및 도서 표지를 표시하는 Bookshelf 앱의 스크린샷

Bookshelf 샘플 앱은 도서 제목 모음을 저장합니다. 앱에 액세스할 수 있는 사용자는 목록에 도서를 추가할 수 있습니다. 샘플 앱은 사용자에게 다음 기능을 제공합니다.

  • 도서 목록을 볼 수 있습니다.
  • 목록에서 도서를 추가 및 삭제할 수 있습니다.
  • 도서 세부정보를 수정할 수 있습니다.
  • 도서의 표지 이미지를 업로드할 수 있습니다.
  • Google 계정으로 로그인하고 목록에 추가한 도서를 볼 수 있습니다.

목표

  • 샘플 앱 복제 또는 다운로드
  • 앱 빌드 및 로컬 머신에서 앱 실행
  • App Engine에 앱 배포
  • 샘플 코드 살펴보기
  • 앱에서 구조화된 데이터를 저장하는 방법 알아보기
  • 앱에서 Cloud Storage에 바이너리 데이터를 저장하는 방법 알아보기
  • 앱에서 사용자를 인증하는 방법 알아보기
  • 앱에서 Google Cloud Platform Console에 표시되는 이벤트 로그를 만드는 방법 알아보기

비용

이 가이드에서는 Compute Engine 등 비용이 청구될 수 있는 GCP 구성요소를 사용합니다.

이 가이드는 여러 단계로 이루어졌으며 각 단계는 자체 페이지에 설명되어 있습니다. 이 가이드의 마지막 페이지에 있는 리소스 삭제 안내는 GCP 서비스 비용이 계속 청구되지 않도록 방지하기 위한 내용입니다. 가이드의 모든 단계를 완료하지 않으려는 경우에는 마지막 페이지의 삭제 안내를 참조하세요.

시작하기 전에

  1. GCP Console을 사용하여 Google Cloud Platform 프로젝트를 설정합니다.
    1. 새 GCP 프로젝트를 만든 다음 App Engine 앱을 만들고 이 프로젝트에서 결제를 사용 설정합니다.
      App Engine으로 이동

      메시지가 표시되면 App Engine 앱을 배치할 지역을 선택한 후 결제를 사용 설정합니다. GCP 프로젝트가 만들어지면 대시보드가 열립니다.

    2. Cloud Datastore, Cloud Pub/Sub, Cloud Storage JSON, Stackdriver Logging, Google+ APIs를 사용 설정합니다.

      APIs 사용 설정

  2. App Engine에 자바 앱을 배포하려면 먼저 환경을 설정해야 합니다. 자세한 내용은 Apache Maven 및 App Engine 플러그인 사용을 참조하세요.
  3. Cloud SDK를 다운로드, 설치, 초기화합니다.
    Cloud SDK 다운로드
  4. GCP 서비스로 인증하기 위한 로컬 사용자 인증 정보를 가져옵니다.
    gcloud auth application-default login
  5. 기본 프로젝트가 올바른지 확인합니다.
    gcloud config list
    출력에 나열된 프로젝트 ID가 이 가이드에서 사용하려는 프로젝트가 아닌 경우 프로젝트를 설정하세요.
    gcloud config set project [YOUR_PROJECT_ID]
    [YOUR_PROJECT_ID]는 이 가이드에 사용하기 위해 만들거나 선택한 프로젝트 ID입니다.
  6. 샘플 저장소를 복제합니다.

    git clone https://github.com/GoogleCloudPlatform/getting-started-java.git

    또는 zip 파일로 샘플을 다운로드하고 압축을 풉니다.

이 가이드에서는 개발자가 자바에 익숙하고 자바 8Maven이 설치되어 있다고 가정합니다.

가이드 구조

Bookshelf 가이드는 여러 부분으로 구성되어 있으며 샘플 앱에서 다양한 GCP 서비스를 사용하는 방법을 보여줍니다.

이 가이드의 양식 부분에서는 앱이 웹 양식을 사용하여 도서 정보를 수신하고 저장하는 방법을 보여줍니다.

이 가이드의 구조화된 데이터 부분에서는 샘플 앱이 SQL 또는 NoSQL 데이터베이스에 도서 정보를 저장하는 방법을 보여줍니다.

앱의 웹페이지에는 사용자가 도서의 제목, 저자, 설명, 발행일을 입력할 수 있는 양식이 표시됩니다. 앱은 입력한 각 도서에 대한 정보를 데이터베이스에 저장하므로 나중에 보거나 편집하기 위해 검색할 수 있습니다. 가이드의 이 단계에서는 Cloud Datastore 또는 Cloud SQL 중 하나의 데이터베이스를 선택할 수 있습니다. 데이터베이스 중 하나를 선택하여 이 단계를 완료한 후에는 다음 단계로 이동할 수 있습니다.

가이드의 Cloud Storage 부분에서는 샘플 앱이 Cloud Storage에 바이너리 데이터를 저장하는 방법을 보여줍니다. 사용자는 앱의 웹페이지에서 각 도서의 표지 이미지를 지정할 수 있습니다. 그러면 앱은 Cloud Storage 버킷에 표지 이미지를 저장합니다.

가이드의 승인 부분에서는 앱이 사용자에게 로그인 과정을 제공하는 방법을 보여줍니다. 사용자가 로그인하면 입력한 도서는 개별 사용자와 연결됩니다. 로그인한 사용자는 익명의 사용자가 만든 도서와 자신의 도서를 모두 볼 수 있습니다. 다른 사용자는 로그인한 사용자가 만든 도서를 볼 수 없습니다.

가이드의 로깅 부분에서는 앱이 Google Cloud Platform Console에 표시되는 로그를 작성하는 방법을 보여줍니다. 앱을 개발하는 동안 이러한 유형의 로그에서 진단 정보를 얻을 수 있습니다.

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...