1달 간의 블로그 플랫폼 선택 장애

마지막 업데이트: 2022년 1월 27일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기
    모든 API의 사용량 측정항목은 기간 및 API를 기준으로 필터링할 수 있습니다. 응답 코드, API, 사용자 인증 정보별로 그룹화된 트래픽, 오류, 지연 시간도 확인할 수 있습니다.

[초보가능] NFT 만들기 팔기 (2) NFT 플랫폼 선택 및 메타마스크 지갑 생성

이번 포스팅에서는 앞선 포스팅에 이어 두번째로 NFT 만들기에 대해서 NFT 플랫폼 선택 방법 및 장단점 그리고 전자지갑인 메타마스크 지갑 만들기 방법에 대해 정리해보았습니다.

참고로 이번 포스팅은 “NFT 만들기 팔기 시리즈”로 아래와 같이 4가지 포스팅으로 정리하고 있습니다.

NFT 만들기 팔기 (2) NFT 플랫폼 선택 및 메타마스크 지갑 생성

실은 대부분 찾아보면 굉장히 수수료가 많이 드는 오픈씨 이더리움 기반으로 설명을 하는 경우가 많아 이번 시리즈에서는 오픈씨 폴리곤 기반 이더리움을 통한 NFT 민팅 및 리스팅 방법을 설명하려고 합니다.

플랫폼 명이나 가상화폐 이름 등 관련 용어가 생소할 수 있는데 우선 차근차근 아래 세션에서 설명을 하도록 하겠습니다.

이번 포스팅에서는 우선 NFT 거래 플랫폼 종류와 장단점, 그리고 NFT 민팅 플랫폼은 무엇이 있는지 정리하고 메타마스크 지갑 생성 방법에 대해 정리해보겠습니다.

NFT 거래 플랫폼 선택

우선 NFT 작품 거래 플랫폼 선택이 필요한데요,

여러가지 NFT 거래 플랫폼이 존재하며 그 중 유명한 곳으로는 오픈씨(OpenSea), 래리플(Rarible), SuperRare, Nifty Gateway, 1달 간의 블로그 플랫폼 선택 장애 Foundation 등이 있습니다.

이중에서 오픈씨(OpenSea, https://opensea.io/ )와 래리블(Rarible, https://rarible.com/ ) 은 이더리움 블록체인으로 NFT를 생성할 때 특별한 가스비(gas fee)가 없는 특징이 있습니다.

두 플랫폼 모두 “lazy miniting” 시스템을 사용하는 것인데요, 일단 NFT를 생성하고 팔기 위한 리스팅(listing) 하기 전까지는 블록체인에 생성하지 않는다는 것 입니다.

그러므로 특별한 가스비(gas fee)가 들지는 않지만 실제로 팔려고 sell을 누르고 리스팅(listing) 을 하려고 하면 가스비(gas fee)가 필요한 것을 확인할 수 있습니다.

또한 오픈씨나 래리블에서는 작품을 판매 시 2.5%정도의 비용을 가져갑니다.

이번 시리즈 – NFT만들기에서는 오픈씨가 NFT 작품거래 플랫폼 중에서 가장 사용자가 많으며, 사용하기도 용이하기 때문에 오픈씨를 통한 방법에 대해 설명하려고 합니다.

메타마스크 폴리곤

참고로 21년 3분기에는 전체 NFT 거래량의 97%가 오픈씨에서 일어났다는 통계 근거도 있습니다.

NFT 민팅 플랫폼 선택

NFT 작품 거래 플랫폼으로 오픈씨를 선택했다면 오픈씨를 기반으로한 민팅 플랫폼을 선택해야 1달 간의 블로그 플랫폼 선택 장애 합니다.

대표적인 민팅 플랫폼으로는 오픈시, 크래프터 스페이스, 크래프트 맨십이 존재합니다. 참고로 NFT화(민팅) 하는 과정에 있어 작품을 NFT화 하는 것(민팅)과 판매를 개시하는 것(리스팅)은 별개의 부분으로 나눠지는데요, 오픈씨에서는 민팅과 리스팅을 모두 진행이 가능합니다.

NFT를 거래할 수 있는 지갑의 종류 또한 앞서 선택한 NFT 거래 플랫폼과 NFT 민팅 플랫폼에 의해 정해집니다.

단, NFT민팅 플랫폼을 크래프터 스페이스나 크래프트 맨십을 선택했다면 클레이튼 기반의 카이카스 지갑을 사용해야 합니다. 오픈씨를 민팅 플랫폼으로 선택했다면 이더리움 또는 폴리곤 기반 이더리움의 메타마스크 사용이 가능합니다.

메타마스크 폴리곤

이번 시리즈에서는 위의 이미지와 같이 앞서 설명한 바와 같이 가장 초보자가 익숙한 오픈씨를 NFT 마켓플레이스, 민팅 및 리스팅 플랫폼으로 사용하고 메타마스크 폴리곤 기반으로 NFT 만들기 방법에 대해 설명하도록 하겠습니다.

이러한 방법의 장점으로는 당연히 NFT 시장이 큰 오픈씨(Opensea)를 활용한다는 점이 있고요, 수수료가 없다는 특징이 있는 반면에 폴리곤 기반 이더리움 전환이 귀찮다는 단점이 존재합니다.

메타마스크 가입 및 메타마스크 지갑 만들기

우선 메타마스크에 가입 및 메타마스크 지갑 생성을 위해서는 크롬 브라우저가 필요합니다. 크롬 브라우저의 확장 프로그램으로 진행하는 것이 매우 수월합니다.

1. 크롬 웹브라우저 실행 > 크롬 웹스토어 접속 > Metamask 검색

크롬 웹브라우저를 실행시키고 크롬 웹스토어에 접속해줍니다. 참고로 웹스토어는 여기 링크를 통해 접속이 가능합니다.

웹스토어에 접속하여 좌측 상단의 스토어 검색에서 Metamask를 검색한 다음 우측 하단에 있는 여우 모양의 아이콘으로 된 확장 프로그램을 선택합니다.

메타마스크 지갑 만들기

2. Metamask 페이지 > “Chrome에 추가” 누르기

Metamask 페이지가 나타나면 오른쪽 상단의 Chrome에 추가 버튼을 눌러줍니다.

참고로 유사한 확장 프로그램이 많으므로 매우 유의해야하는데요, 아래와 같은 제공업체가 맞는지 아이콘과 앱 이름이 맞는지 확인이 필요합니다.

메타마스크 지갑 만들기

3. 환영 메시지 > “시작하기” 누르기

메타마스크 크롬 확장프로그램으로 설치가 완료 되면 아래와 같은 환영 메세지 화면이 나오고 여기에서 “시작하기”를 선택합니다.

혹시라도 아래 화면이 나오지 않는다면 크롬 우측 상단에 있는 퍼즐 모양 버튼을 클릭해서 메타마스크를 바로 선택해서 진입하는 방법도 있습니다.

메타마스크 지갑 만들기

4. Metamask 첫 페이지 > “지갑 생성” 누르기

Metamask가 처음이세요? 화면이 나타나면 “지갑 가져오기”와 “지갑 생성” 선택이 가능한데, 여기에서 “지갑 생성”을 눌러줍니다.

메타마스크 지갑 만들기

5. MetaMask 개선 참여 > 아무거나 선택

처음 접속할 경우 “MetaMask 개선에 참여”라는 페이지가 나타나는데요, 꼭 동의함을 누르지 않아도 됩니다. 아무거나 선택해줍니다.

메타마스크 지갑 만들기

6. 8자리 이상 비밀번호 만들기

8자리 이상의 비밀번호를 만들고 이용약관에 동의합니다.

메타마스크 지갑 만들기

7. 지갑보호하기 내용 확인 > 비밀 복구 구문 기록해두기

비밀 복구 문구 라는 화면이 나오는데 여기에서 화면 중간에 있는 검은색 자물쇠로 되어 있는 영역을 눌러주면 12개의 단어가 나타납니다. 이 단어들을 본인 만이 아는 공간에 따로 기록해둡니다.

가능하다면 컴퓨터 내부에 저장하면 해킹이나 피싱 위험이 높으므로 가능하면 손으로 따로 종이에 메모해두는 것을 추천합니다.

여기서 나타난 12개의 단어는 어느 누구에게도 알려주면 안됩니다.

메타마스크 지갑 만들기

8. 비밀 백업 구문 확인해주기

자물쇠 버튼의 아이콘을 눌러 나타난 12개의 단어를 기록해 놓았다면

아래와 같이 비밀 문구 확인 페이지가 나오는데 여기에서는 선택했던 단어 12개를 차례대로 선택합니다.

메타마스크 지갑 만들기

9. 축하합니다. 문구 확인 > “모두 완료” 누르기

아래와 같이 축하합니다. 문구가 나타나면 메타마스크 지갑 생성, 메타마스크 계정 생성이 완료됩니다.

메타마스크 지갑 만들기

위와 같은 방법으로 메타마스크 지갑 만들기가 가능합니다. 참고로 NFT나 암호화폐를 거래할때는 보통 ‘0x’로 시작하는 메타마스크 지갑주소를 사용합니다.

오늘 포스팅에서는 위와 같이 NFT 플랫폼 종류와 장단점, 그리고 NFT 민팅 플랫폼은 무엇이 있는지 정리하고 메타마스크 지갑 생성 방법에 대해 정리해보겠습니다.

위와 같이 메타마스크 지갑 생성이 완료되었다면 다음 포스팅에서는 NFT 거래 플랫폼과 NFT 민팅 플랫폼으로 선택한 오픈씨에 메타마스크 지갑을 연동하고 수수료가 무료인 폴리곤 마켓 연동 방법 및 거래 방법에 대해 정리해보겠습니다.

기술 블로그: 1달 간의 블로그 플랫폼 선택 장애

기술 블로그: 1달 간의 블로그 플랫폼 선택 장애

Photo by Markus Winkler / Unsplash

Tistory를 버렸다.

원래는 오래전부터 Tistory라는 블로그에 글을 써왔습니다. 이외에도 네이버 블로그 또한 사용해봤었지만 저와는 맞지 않아서 Tistory로 넘어왔었습니다. 지금은 누구나 Tistory에 가입이 가능하지만, 그때 당시에는 초대장을 받아야지만 가입이 가능해서 초대장을 받으려고 작지 않은 노력을 했던 적이 있습니다. 게다가 이쁜 스킨을 사용하기 위해서 50불 정도하는 스킨을 구매했던 적도 있구요.

하지만 여러 노력이 들어갔던 Tistory를 놔두고 다른 플랫폼으로 넘어간 이유가 무엇일까요?

우선 글을 작성하는데 있어서 크고 작은 불편함이 많았습니다. 예전에는 Tistory에서 구형 에디터를 사용해서 많은 불편함이 있었지만, 지금은 그나마 새롭게 나온 에디터를 사용해서 예전보다는 편하게 글을 작성할 수 있게 되었습니다. 하지만 글꼴이 자꾸 바뀐다거나 폰트크기가 고정되지 않는다던가 하는 크고 작은 문제들이 발생했고 글을 작성하는데 있어서 무시할 수 없는 불편함이 다수 있었습니다.

게다가 카카오에서 브런치를 출시하고 나서 Tistory의 포지션이 굉장히 애매하게 되었습니다. Tistory에서 밀어줬던 서비스들이 브런치로 넘어가게 되었고 Tistory는 말그대로 애물단지가 되어버렸습니다. 그래도 이용자가 많기 때문에 완전히 버리지는 못하고 있는 듯 합니다.

그래서 사실 많은 미련을 가지고 있긴 했지만 개인적인 고민 끝에 Tistory를 놓아주고 다른 플랫폼을 찾기로 결정했습니다.

여러가지 플랫폼 블로그 플랫폼

  • Tistory
  • 네이버 블로그
  • 브런치
  • Velog
  • Medium
  • Github 1달 간의 블로그 플랫폼 선택 장애 Pages
  • 개인 호스팅 (Wordpress, Ghost, etc.)

1. Tistory

  • 커스터마이징이 가능한 디자인
  • 통계기능과 구글 애드센스 가능
  • 무난하게 작성하면서 무난하게 관리할 수 있음
  • 다양한 주제로 글 작성을 해도 좋음
  • 브런치 출시 이후 애매해진 포지션
  • 개발자가 아니라면 조금은 어려울 수 있음
  • 크고 작은 에디터 오류

2. 네이버 블로그

  • 한국에서 유입량이 가장 많은 블로그
  • 큰 노력 없이 글 작성을 시작할 수 있음
  • 이웃 소통이 있어서 연결고리 생성 가능
  • 구글 검색은 꿈도 꾸지 못함 (할 수 있어도 많은 노력 필요)
  • 마크다운 없음
  • 코드블럭 없음
  • 디자인 커스터마이징이 어려움

3. 브런치

  • 일단 디자인 자체가 감성적이면서 깔끔함
  • 생각적기, 에세이 등에 굉장히 적합함
  • 글 작성에만 집중할 수 있음
  • 작가들의 글 수준이 높음
  • 나쁘지 않은 검색 SEO
  • 작가신청을 통해야만 발행이 가능
  • 마크다운 없음
  • 코드블럭 없음
  • 글의 분위기가 (암묵적으로) 정해져있음

4. Velog

  • 깔끔한 디자인
  • 마크다운 지원
  • 개발자 특화 블로그
  • TIL 작성에 적합함
  • 디자인 불가로 인한 개인 페이지의 개성 부족
  • only 마크다운
  • 최근에 통계기능이 생겼는데 아직 부족함
  • 1명의 개발자가 운영
  • 개발 관련 글만 작성해야 될 것 같음

5. Medium

  • 깔끔한 디자인
  • 마크다운 지원
  • 많은 기업들이 기술 블로그로 활용 중 (당근마켓, 쿠팡, 직방, Airbnb. )
  • 재밌는 글들이 많음
  • 최적화된 SEO
  • Publication 유료화
  • 한글 폰트가 별로임
  • 대부분 1달 간의 블로그 플랫폼 선택 장애 추천 글이 영어임
  • 구독형 컨텐츠

6. Github Pages

  • 마크다운 지원
  • Github 연동 가능
  • 커스터마이징 가능
  • 포트폴리오 블로그로 적합함
  • 어려움
  • 생각보다 글 올리기 불편함
  • 이미지 넣기가 불편함

7. 개인 호스팅 (Ghost 기준)

  • 마크다운 지원
  • 커스터마이징 끝판왕
  • 무엇보다 내 웹사이트가 생김
  • 높은 자유도
  • 많이 어려움
  • 호스팅, 도메인 비용이 들어감
  • 관리에 시간을 많이 들여야 함

Ghost 플랫폼을 고른 이유

정말 여러 곳을 이용해보고 글을 써보면서 완벽한 플랫폼은 없다고 생각했습니다. 가장 좋은 것은 여러 곳을 이용해보는 것인데 블로그 특성상 여러 곳에 왔다갔다 하기 쉽지는 않습니다. 그러한 고민을 하던 중, 굉장히 깔끔하고 매력적인 디자인을 가진 한 웹사이트를 발견했고 그 사이트를 분석하다가 Ghost 라는 CMS를 알게되었습니다.

Ghost는 Medium과 비슷한 글쓰기 경험을 가졌으며 내 맘대로 커스터마이징이 가능하다는 점과 깔끔한 디자인에 잘 갖춰진 SEO, 그리고 어떠한 주제의 글을 적어도 어색함이 없는 등 여러 요소들에 매력을 느꼈고 바로 호스팅 업체를 통해서 구축을 하였습니다.

플랫폼 선택

Google Maps Platform의 보고에서는 Google Cloud 콘솔에서 기본 API 사용량, 할당량, 결제 정보를 쉽게 볼 수 있는 사전 정의되고 시각적으로 표현된 보고서를 제공합니다. API 호출 수, API 사용 할당량까지 얼마나 남았는지를 빠르게 확인하고 시간 경과에 따른 결제 사용량을 모니터링할 수 있습니다.

  • 사용량 보고서: 프로젝트에서 프로젝트와 연결된 사용자 인증 정보를 사용하여 Google Maps Platform API에 보낸 요청의 수를 보고합니다.
  • 할당량 보고서: 분당 요청 수로 그룹화할 수 있는 할당량 사용량을 그래프로 보고합니다. 선택한 API의 현재 할당량 한도는 할당량 사용량 그래프 아래의 표에 표시됩니다.
  • 결제 보고서: 시간에 따른 비용을 누적 선 차트로 보고합니다. 적용된 모든 사용량별 크레딧과 당월 전체의 총 예상 비용을 포함하여 당월의 할당량 사용량을 확인할 수 있습니다.
  • 참여 보고서: Locator Plus 사용자의 조회수, 상호작용 횟수, 참여율을 보고합니다.

요청이 사용량, 할당량 또는 결제 보고서에 표시되는지 여부를 정의하는 응답 상태 및 응답 코드의 전체 목록은 아래의 응답 상태 및 보고서를 참고하세요.

Cloud 콘솔을 사용하여 Google Maps Platform 사용량, 할당량, 결제 보고서를 확인하세요.

사용량 보고서

사용량은 프로젝트에서 프로젝트와 연결된 사용자 인증 정보를 사용하여 Google Maps Platform API에 보낸 요청의 수를 기반으로 합니다. 요청에는 성공적인 요청, 서버 오류를 유발한 요청, 클라이언트 오류를 유발한 요청이 포함됩니다. 사용자 인증 정보에는 API 키와 클라이언트 ID(프리미엄 플랜 및 이전된 프리미엄 플랜 프로젝트의 경우)가 포함됩니다.

사용량 측정항목은 표(요청, 오류, 지연 시간)와 그래프(트래픽, 오류, 지연 시간)로 표시됩니다. 추적 목적상:

    모든 API의 사용량 측정항목은 기간 및 API를 기준으로 필터링할 수 있습니다. 응답 1달 간의 블로그 플랫폼 선택 장애 코드, API, 사용자 인증 정보별로 그룹화된 트래픽, 오류, 지연 시간도 확인할 수 있습니다.

API 및 서비스 대시보드 페이지

API 및 서비스 대시보드 페이지에는 프로젝트에 대해 사용 설정된 모든 API(Google Maps Platform API 및 기타 API와 서비스)의 사용량 측정항목이 간략하게 표시됩니다.

대시보드 페이지에는 그래프 세 개와 표 하나가 표시됩니다. 기간(1시간~최근 30일)을 선택하여 그래프와 표에 표시되는 사용량을 필터링할 수 있습니다.

트래픽 그래프에는 API별 초당 쿼리 수(QPS)가 표시됩니다. 오류 그래프에는 API별로 오류를 유발한 요청의 비율이 표시됩니다. 지연 시간 그래프에는 API별 요청 지연 시간의 중앙값이 표시됩니다.

그래프 아래의 표에는 사용 설정된 API와 서비스가 표시됩니다. 요청 수는 선택한 기간의 요청 수입니다. 오류 수는 이 중 오류를 유발한 요청의 수입니다. 지연 시간(중간 지연 시간 및 백분위수)은 이러한 요청의 지연 시간입니다.

API 모니터링

API 및 서비스 대시보드 페이지에 액세스하는 방법:

    Cloud 콘솔에서 프로젝트 선택기 페이지를 엽니다.

자세한 내용은 API 사용량 모니터링을 참고하세요.

Google 지도 개요 페이지

Google 지도 개요 페이지의 표에는 최근 30일간 사용 설정된 API 및 사용 요청이 표시됩니다. API별 요청은 그래프 형식으로도 표시됩니다. 청구 그래프에는 최근 3개월의 현재 청구액과 총 사용량이 표시됩니다.

사용 설정된 API 및 지난 30일간의 API 요청 수가 표시된 표를 보여주는 개요 차트 스크린샷

Google Maps Platform 개요 페이지에 액세스하는 방법:

    Cloud Console에서 Google Maps Platform 페이지를 엽니다.

Google Maps Platform API 페이지

Google 지도 API 페이지에는 표 두 개가 포함되어 있습니다. 사용 설정된 API 표에는 사용 설정된 각 API의 최근 30일간 요청 수, 오류 수, 평균 지연 시간이 표시됩니다. 추가 API 표에는 사용 설정되지 않은 API가 표시됩니다.

API

Google Maps Platform API 페이지에 액세스하는 방법:

    Cloud Console에서 Google Maps Platform 페이지를 엽니다.

Google 지도 측정항목 페이지

Google 지도 측정항목 페이지에는 트래픽, 오류, 중앙값 지연 시간 등 세 가지 그래프가 표시됩니다. 그래프의 사용 데이터는 응답 코드, API, API 메서드 또는 사용자 인증 정보를 기준으로 그룹화할 수 있습니다.

측정항목 페이지의 그래프 아래에는 선택한 API의 요청 수, 오류 수, 지연 시간을 보여주는 API 표가 포함됩니다.

상단에 있는 API 드롭다운과 오른쪽에 있는 필터링 옵션을 사용하면 특정 또는 다수의 API, 사용자 인증 정보, 응답 코드 및 플랫폼을 선택하여 표시되는 사용량 측정항목을 1달 간의 블로그 플랫폼 선택 장애 필터링할 수 있습니다. 또한 표시되는 사용량 측정항목에서 기간 (1시간~최근 30일) 및 세부단위(초당 또는 일당)를 선택할 수도 있습니다.

트래픽, 오류, 지연 시간 중앙값 등 세 가지 그래프를 보여주는 측정항목 페이지

플랫폼 필터는 단일 API를 선택한 경우에만 표시됩니다.

Google Maps Platform API 측정항목 페이지에 액세스하는 방법:

    Cloud Console에서 Google Maps Platform 페이지를 엽니다.

응답 코드 그래프

응답 코드별 트래픽응답 코드별 오류 그래프에는 사용량이 응답 코드 클래스별로 분할되어 표시됩니다. 아래 표에는 Google Maps Platform API 응답 상태와 응답 코드 클래스 사이의 매핑이 표시되어 있습니다.

청구 가능한 요청이며 할당량을 사용합니다.

Places API의 경우 참조된 위치(place_id)를 장소 데이터베이스에서 찾을 수 없음을 나타냅니다.

Roads API의 경우 입력을 도로에 적절하게 스냅하지 못했음을 나타냅니다.

상태 코드 및 오류 메시지에 대한 자세한 내용은 관심 있는 API의 응답 문서를 참고하세요(예: 지오코딩 응답, 경로 응답).

Google Maps Platform 솔루션 매개변수

Google Maps Platform에서는 빠른 활용을 위해 다양한 종류의 샘플 코드를 제공합니다. 예를 들어 Cloud Console에서 빠른 빌더를 사용하고, 업종별 솔루션 구현 가이드를 따르며, Codelab에서 학습할 수 있습니다.

Google에서는 샘플 코드 사용에 관한 정보를 수집하는 solution_channel 쿼리 매개변수를 API 호출에 포함하여 솔루션 사용과 개선 방법을 파악합니다.

  • solution_channel 쿼리 매개변수는 솔루션 샘플 코드에 기본적으로 포함되어 있습니다.
  • 쿼리 매개변수는 솔루션 채택에 대한 분석을 Google에 반환하여 1달 간의 블로그 플랫폼 선택 장애 향후 반복 작업에서 솔루션 품질을 개선합니다.
  • 샘플 코드에서 solution_channel 쿼리 매개변수와 해당 값을 삭제하여 쿼리 매개변수를 사용하지 않을 수 있습니다.
  • 이 매개변수를 유지할 필요는 없습니다. 쿼리 매개변수를 삭제해도 성능에는 영향을 미치지 않습니다.
  • 쿼리 매개변수는 샘플 코드 사용을 보고하는 용도로만 사용됩니다.
  • 쿼리 매개변수는 모든 API 관련 분석 및 보고와는 별개입니다. 즉, 솔루션 샘플 코드에서 매개변수를 삭제해도 내부 Maps JavaScript API 보고 기능은 사용 중지되지 않습니다.

할당량 보고서

할당량은 프로젝트에서 Google Maps Platform API에 요청할 수 있는 요청 수의 한도를 설정합니다. 요청은 하루당, 분당, 사용자당 등 세 가지 방법으로 제한할 수 있습니다. 성공적인 요청과 서버 오류를 유발한 요청만 할당량에 포함됩니다. 인증에 실패한 요청은 할당량에 포함되지 않습니다.

할당량 사용량은 Cloud Console의 할당량 페이지에 그래프로 표시되며 분당 요청으로 그룹화할 수 있습니다. 선택한 API의 현재 할당량 한도는 할당량 사용량 그래프 아래의 표에 표시됩니다.

Google 지도 할당량 페이지

Google 1달 간의 블로그 플랫폼 선택 장애 지도 할당량 페이지에는 선택한 특정 API의 할당량 한도 및 할당량 사용량이 표시됩니다.

Google Cloud Console의 할당량 사용량 차트에는 API 키 및 클라이언트 ID의 총 트래픽이 표시됩니다. 클라이언트 ID 트래픽은 Cloud Console의 측정항목 차트에도 표시됩니다.

이 페이지에는 할당량을 사용하는 요청, 즉 성공적인 요청( OK , ZERO_RESULTS , DATA_NOT_AVAILABLE )과 서버 오류를 일으키는 요청( NOT_FOUND , INVALID_REQUEST/INVALID_VALUE (잘못된 매개변수 값), UNKNOWN_ERROR )만 표시됩니다.

클라이언트 오류를 유발한 요청, 즉, 인증/승인/잘못된 인수 오류( REQUEST_DENIED , OVER_QUERY_LIMIT , INVALID_REQUEST (잘못된 매개변수, 요청 파싱 오류))는 할당량을 사용하지 않으며 표시되지 않습니다.

대부분의 Google Maps Platform API(Static Maps API, Street View Static API, Geocoding API, Directions API, Places API, Time Zone API, Geolocation API, Elevation API)에 있어 할당량 단위는 요청입니다. 그러나 다음과 같은 예외가 있습니다.

  • Distance Matrix API의 경우 할당량 단위는 출발지-목적지 쌍인 요소입니다.
  • Maps JavaScript API의 경우 할당량 단위는 지도 로드입니다.
  • Android용 Maps SDK와 iOS용 Maps SDK의 경우 할당량 단위는 스트리트 뷰 요청/파노라마 로드입니다(지도 로드는 무료이며 할당량을 사용하지 않습니다).

Google Cloud Console의 지도 할당량 페이지 스크린샷 선택기를 사용하여 API별 할당량을 표시한 후 해당 API에 대해 설정된 할당량을 기준으로 지도 로드를 표시합니다.

Google Maps Platform 할당량 페이지에 액세스하는 방법:

    Cloud Console에서 Google Maps Platform 페이지를 엽니다.

할당량 단위

아래 표에는 Google Maps Platform API의 할당량 단위가 표시되어 있습니다.

Google Maps Platform API 할당량 단위
지도
Android용 Maps SDK 파노라마 1개
iOS용 Maps SDK 파노라마 1개
Maps Static API 요청 1회
Maps JavaScript API 지도 로드 1회
Street View Static API 요청 1회
Maps Embed API 지도 로드 1회
경로
Directions API 요청 1회
Distance Matrix API 요소 1개(출발지-목적지 쌍)
Roads API 요청 1회
장소
Places API 요청 1회
Geocoding API 요청 1회
Geolocation API 요청 1회
Time Zone API 요청 1회

결제 보고서

결제 보고서 보기

Google Maps Platform 제품 사용에 대한 결제 보고서는 Google Cloud Console에서 확인할 수 있습니다(결제 참고).

결제 보고서에 액세스하는 방법:

    Cloud Console에서 프로젝트 선택기 페이지를 엽니다.

결제 보고서 차트 이해하기

결제 보고서에는 시간에 따른 비용이 누적 선 차트로 표시됩니다. 기본 뷰에는 적용된 모든 사용량별 크레딧과 당월 전체의 총 예상 비용을 포함하여 모든 제품에 대해 프로젝트별로 그룹화된 당월의 일일 사용량별 비용이 표시됩니다. 차트에서 각 선(및 요약 표의 행)은 프로젝트에 해당하며, 프로젝트는 가장 큰 비용부터 가장 작은 비용 순으로 표시됩니다. 결제 보고서 차트를 해석하는 방법에 대해 자세히 알아보세요.

미리 설정된 기본 뷰를 사용하여 차트와 표를 표시하는 결제 보고서 스크린샷

그림 1: 미리 설정된 기본 뷰를 사용하여 차트와 표를 표시하는 결제 보고서

팁: SKU당 사용량 및 비용 분석

사용한 만큼만 지불하는 요금 모델의 세부정보와 이 모델이 구현에 미치는 영향을 더 자세히 알아보려면 SKU별 사용량 및 비용을 확인하세요.

그림 2: SKU별 사용량 및 비용 항목이 표시된 결제 표 그림 3: 결제 보고서 필터

SKU별로 항목을 표시하도록 보고서 보기를 변경하는 방법:

사용 가능한 다른 결제 보고서 필터는 기간, 프로젝트 ,제품, SKU, 위치 등이 있으며, 위치 필터의 경우 API 요청이 제공되는 위치별로 필터링할 수 있습니다.

제품 외에 사용량의 출처를 분류하려면 표시된 값 중 하나를 기준으로 결제 보고서를 그룹화하세요. Google Maps Platform API와 관련된 3개의 키는 goog-maps-api-key-suffix(API 키의 마지막 4개 문자), goog-maps -platform-type(플랫폼: Android, iOS, 자바스크립트, 웹 서비스) 및 goog-maps-channel(API 쿼리에서 얻은 숫자 채널 값)입니다. 필터링 및 그룹화에 대해 자세히 알아보기

오른쪽 패널에서 비용에 크레딧 포함 체크박스를 선택 해제하여 사용량별 크레딧을 제외하도록 차트 뷰를 변경할 수 있습니다.

사용량 모니터링 및 제한

예산을 계획하고 비용을 관리하는 방법은 다음과 같습니다.

    지출액이 특정 금액에 도달하는지 여부를 추적할 수 있습니다. 예산을 설정해도 API 사용량이 제한되지 않으며 지출액이 지정된 금액에 근접할 때 알림만 보냅니다. 하면 청구 가능한 API 사용 비용을 관리할 수 있습니다. 일일 요청 수 한도를 설정하면 지출 금액을 제한할 수 있습니다. 지출하려는 금액에 따라 간단한 식을 사용하여 일일 한도를 결정하세요. 예: (월간 지출/SKU당 요금)/30 = 일일 요청 수 한도(API 1개의 경우) 구현에 따라 청구 가능 API를 여러 개 사용할 수 있으므로 필요한 경우 식을 조정하세요. 매월 미화 200달러의 Google Maps Platform 크레딧을 사용할 수 있으므로 이를 계산에 포함해야 합니다.

채널별 사용량 추적

숫자 채널을 통해 사용량을 추적하려면 API 요청에 'channel' 매개변수를 추가해야 합니다. 0~999 사이의 숫자만 1달 간의 블로그 플랫폼 선택 장애 채널 값으로 사용할 수 있습니다. 예를 들면 다음과 같습니다.

  • Geocoding Web Service API
  • Maps JavaScript API

결제 보고서에서 직접 채널 사용량을 모니터링할 수 있습니다. 채널은 라벨 아래 goog-maps-channel 키로 표시됩니다.

SKU 및 채널별로 결제 보고서를 필터링하는 방법:

라벨 키 goog-maps-channel별로 그룹화하여 각 채널에서 발생한 비용을 확인합니다.

요청에 채널 사용량 데이터를 구현한 후 데이터가 결제 보고서에 반영되기까지 최대 24시간 지연될 수 있습니다.

BigQuery로 결제 데이터 내보내기

BigQuery Export를 사용하면 하루 종일 세부적인 Cloud Billing 데이터(예: 사용량 및 예상 비용 데이터)를 지정한 BigQuery 데이터 세트로 자동으로 내보낼 수 있습니다. 그런 다음 BigQuery에서 결제 데이터에 액세스하여 자세히 분석할 수 있습니다. 이렇게 하면 Google Maps Platform 사용량의 출처를 한층 더 세밀하게 파악할 수 있습니다.

BigQuery Export를 사용하고 데이터를 쿼리하려면 아래의 샘플 쿼리를 사용해 보세요. 이 쿼리를 실행하기 전에 다음 작업을 실행해야 합니다.

  • 계정에서 결제 및 BigQuery 결제 내보내기를 사용 설정합니다.
  • 표 형식은 PROJECT_ID . DATASET_NAME .gcp_billing_exportv1 BILLING_ACCOUNT_ID 이며 여기에서
    • PROJECT_ID 는 실제 프로젝트 ID입니다(예: 'my-project-123456').
    • DATASET_NAME 은 사용자가 만든 데이터 세트의 이름입니다(예: 'SampleDataSet').
    • BILLING_ACCOUNT_ID 는 결제 계정 ID를 참조한 것으로, 앞에 'gcp_billing_export_v1'이 붙고 대시(-)가 밑줄(_)로 변경됩니다. 예를 들어 결제 계정 ID 123456-7890AB-CDEF01 은 gcp_billing_export_v1_123456_789AB_CDEF01 이 됩니다.

    관련 리소스

    응답 상태 및 보고서

    아래 표에는 사용량 보고서의 응답 상태, HTTP 응답 코드 클래스, 사용량 보고서 HTTP 응답 코드 클래스가 표시되어 있으며 해당 요청이 사용량, 할당량 및 결제 보고서에 표시되는지 여부를 나타냅니다.

    응답 상태 HTTP 응답 코드 클래스
    (2xx, 3xx, 4xx, 5xx)
    HTTP 응답 코드 클래스 - 사용량 보고서
    (2xx, 3xx, 4xx, 5xx)
    사용량 보고서 할당량 보고서 결제 보고서
    확인 2xx,
    3xx
    2xx,
    3xx
    DATA_NOT_AVAILABLE,
    NOT_FOUND,
    ZERO_RESULTS
    2xx 2xx
    NOT_FOUND(Street View Static, Geolocation 및 Roads API),
    ZERO_RESULTS(Street View Static API)
    4xx 4xx
    INVALID_REQUEST(잘못된 매개변수 값),
    MAX_ROUTE_LENGTH_EXCEEDED,
    MAX_WAYPOINTS_EXCEEDED,
    2xx/4xx 4xx
    INVALID_REQUEST(잘못된 매개변수/매개변수 누락, 요청 파싱 오류) 2xx/4xx 4xx 아니요 아니요
    REQUEST_DENIED 2xx/4xx 4xx 아니요 아니요
    OVER_DAILY_LIMIT,
    OVER_QUERY_LIMIT,
    RESOURCE_EXHAUSTED,
    dailyLimitExceeded,
    rateLimitExceeded,
    userRateLimitExceeded
    2xx/4xx 4xx 아니요 아니요
    UNKNOWN_ERROR 2xx/5xx 5xx 아니요

    참여 보고서

    Locator Plus 사용자는 분석 대시보드를 통해 데이터에서 유용한 정보를 분석하고 생성하여 쇼핑객이 매장 검색 기능을 얼마나 잘 사용하고 있는지 명확하게 파악할 수 있습니다. 조회수, 검색 및 장소 세부정보와의 상호작용 횟수, 전반적인 참여율 등 주별 실적을 측정할 수 있습니다. 또한 대시보드는 내 구현과 다른 소매업체를 비교하여 중요한 벤치마크를 제공합니다.

    • Google Cloud 콘솔에서 Locator Plus로 이동합니다.
    • Google Cloud 콘솔의 참여 보고서 섹션으로 이동하여 분석 대시보드를 확인합니다.

    벤치마킹 보고서를 사용하면 데이터를 공유하는 다른 업체의 집계된 업종 데이터와 내 데이터를 비교할 수 있습니다. 이러한 비교를 통해 유용한 관련 정보를 얻고 의미 있는 목표를 설정하고 업계 동향을 파악하며 경쟁업체 대비 실적을 파악할 수 1달 간의 블로그 플랫폼 선택 장애 있습니다.

    벤치마킹 데이터를 확인하기 위해 내 참여 데이터가 Google 벤치마크에 익명으로 포함됩니다. 참여 데이터를 벤치마킹 보고서에 익명으로 표시하고 포함하지 않으려면 지원 티켓을 제출하세요. 지원 티켓은 일반적으로 3일 이내에 처리됩니다.

    Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

    Contents Review 2

    456억 원의 상금이 걸린 의문의 서바이벌을 다룬 넷플릭스 드라마 은 전 1달 간의 블로그 플랫폼 선택 장애 세계 시청 순위 1위를 기록하며 흥행에 성공했다. 콘텐츠 속 세계관과 넷플릭스라는 플랫폼이 만나 이뤄낸 시너지를 들여다본다.

    대중매체가 된 넷플릭스?

    요즘 넷플릭스 드라마 에 관련된 여러 현상을 보노라면 넷플릭스가 마치 대중매체가 된 것 같다. 동시간대에 일방적으로 송출된 방송으로 만들어진 비슷한 생각, 관심, 재미, 의제로 통일된 그런 세계 말이다. 은 실시간 시청이 아닌 VOD 형식임에도, 전 세계적으로 문화적 동시성을 실현해 보이고 있다. 이전의 그 어떤 넷플릭스 오리지널 콘텐츠도 이런 적은 없었다.

    방송의 일방적인 힘이 구현해 내던 ‘텔레비전 리얼리즘’의 세계가 아니라 수용자 개개인의 선택에 의한 ‘플랫폼 리얼리즘’의 세계를 목격하는 것은 무척 흥분되는 일이다. OTT는 이른바 텔레비전 특유의 현재성(nowness)이 결여 되었음에도, 수많은 관련 뉴스와 비평, 블로그, 유튜브 클립, 그런 작업물을 실어 나르는 SNS 바이럴 등 미디어와 미디어를 넘나드는 확산가능성(spreadbility)이 어떤 리얼리즘을 실현한다. 이런 일은 앞으로도 계속될 것이다. 문화의 변화를 가리키라면 바로 이런 것일 거다.

    하지만 은 원래 대중적 회자가 힘든 서사극(epic) 형식이다. 서사극은 글로벌 TV로서 넷플릭스가 전 세계 각기 다른 수용자층으로부터 일괄출시를 통한 몰아보기를 이끌어 내기 위해 전략적으로 선택한 극 형식이다. 황동혁 감독이 10여 년 전에 들었던 말처럼, 은 “이상하고 현실성이 떨어진다”. 맞는 말이다. 원래 서사극이 그렇다. 하지만 에 대한 부정적인 어투는 어디까지나 전통적인 드라마 시장에 심취해 있는 국내 투자자와 제작사, 배급사들의 인식 때문이다. 그들이 생각하는 것은 시공간적으로 ‘이곳’의 현실과 동기화된 ‘드라마’이다. 그에 반해 서사극은 이곳으로부터 벗어나 ‘어딘가로 갔다 오는’ 이야기이다. 그런 이야기는 당연히 이상하고 현실성이 떨어진다. 하지만 그래서 오히려 국경도 인종도 무관하게 그런 취향을 가진 사람들이라면 누구나 재미있게 즐길 수 있다. 글로벌 비즈니스를 지향하는 사업자에게는 반드시 필요한 서사 형식이다. 넷플릭스 플랫폼이 취향을 계열화하는 알고리즘에 힘을 쓰는 이유다.

    플랫폼, 규칙이라는 적

    그렇다고 넷플릭스의 서사극이 현실과 완전히 동떨어진 이야기만 하는 것은 아니다. 어딘가에 가서 겪는 사건은 기본적으로 그것을 겪는 주체들의 사회적 또는 역사적 문제인 게 대부분이다. 그래서 에서 중요한 것은 게임 자체가 아니라 게임의 세계를 야기하는 이곳의 구조적 힘이다. 그것은 개별 인물들의 사연을 통해 설득력을 얻는다. 주요 인물들의 사연은 이렇다. 쌍용자동차 문제, 묻지마 투자, 북한 이탈 주민, 양아치, 외국인 노동자 등. 이런 문제들은 노사관계, 실업, 민족적 이질성, 생명 경시, 외국인 차별, 그리고 이 모든 것의 원인이자 결과인 부의 양극화 문제와 결부되어 있다.

    각자의 사연으로 돈이 필요한 주인공들은 게임에 참여하게 된다

    이런 문제들은 보이지 않는 어떤 ‘규칙’에 의해 규율된다. 현실에서 그것은 대체로 패스와 탈락으로 이분화된다. 이 규칙은 우리나라의 교육, 취업, 복지, 예능 심지어 재난지원금에조차 전방위적으로 작용한다. 그러고 보면 이 세계는 특정한 규칙과 기준으로 세팅된 플랫폼과 같다. 의 섬 속 세계는 그런 세계로부터 탈출한(?) 이들이 게임의 규칙에 동의하고 벌이는 패자부활의 플랫폼이다. 하지만 이 두 세계는 구조적으로 데칼코마니이다. 끊임없이 강조되는 엄격한 규칙과 과정, 공간적으로 분화된 기능과 역할, 게임 참여자는 물론이거니와 운영자에게도 똑같이 요구되는 행위규범 등 과장은 있을지언정 현실 세계와 별반 다르지 않다.

    현실이나 섬 속의 세계나 플랫폼을 움직이는 것은 자본의 힘이다. 이 게임의 설계자인 일남 할배는 자신을 “돈을 굴리는 사람”이라고 말하고 많은 여운을 남긴 채 숨을 거둔다. 게임을 통해서라도 사그라지는 기억을 잡고 싶어서였을까? 그와 전 세계 투자자들은 돈의 힘으로 인간을 ‘말’로 움직이는 피의 카니발 플랫폼을 완성했다. 말은 패스와 탈락으로 디자인된 일남 할배의(그리고 우리의) 추억 속 ‘놀이’를 규칙에 따라 재연할 따름이다. 일남 할배의 말처럼, 돈이 많은 사람은 더 이상의 자극을 찾지 못해서, 돈이 없는 사람은 시도해볼 만한 희망의 끈이 없어서 가능한 일이다. 1회전에서 화들짝 놀라 게임을 포기했던 사람들의 90% 이상이 죽음을 기다리는 게임의 세계로 다시 돌아온다. 어머니의 수술비, 빚쟁이의 독촉, 양아치의 칼, 부모의 몸값에 내몰리는 그들의 감정에 이입해보면, 공정하게 규칙화된 플랫폼은 이전의 삶을 리셋할 수 있는 유일한 수단처럼 보인다. 하지만 그 게임의 규칙이 곧 적이라는 것을 죽음으로 알게 된다. 인간에 대한 존중이 없는 공정한 규칙이란 게 얼마나 허망한 것인가?

    공정, 가면과 트레이닝복… 의 콘텐츠 공학

    넷플릭스가 에서 주목한 것은 패스와 탈락으로 이분화된 우리 사회의 규칙, 즉 ‘공정’의 코드이다(을 이나 과 비교하는 것에는 동의하기 힘들다). 그리고 그것의 글로벌 코드화 가능성이다. 넷플릭스가 어떤 서사극을 만들었다면, 그것이 제작된 국가에서는 물론이거니와 전 세계적으로 보편적인 취향에 호소하기 때문이다. 아래 인용문은 이를 잘 보여준다. 넷플릭스가 보기에, 에서 공정은 “지역 관객들이 선호”하면서 “보편적인 매력”을 지닌 것이다. 로컬-글로벌 코드의 결합은 넷플릭스가 콘텐츠를 생산함에 있어 일관되게 고수하는 ‘글로벌 콘텐츠 분업화’ 전략의 원천이다. 넷플릭스가 유럽에서는 역사, 남미에서는 범죄, 북미에서는 과학, 그리고 이곳 한국에서는 부조리를 선택한 것은, 적어도 콘텐츠 공학 측면에서 그것이 해당 국가나 문화가 지닌 상대적 강점(?) 또는 차별적 문화 코드이면서 동시에 전 세계적으로 보편적인 취향 매력을 발산하기 때문이다.

    넷플릭스는 멕시코에서는 와 , 콜롬비아에서는 , 브라질에서는 를 제작하는데, 회사는 이들 프로그램들이 라틴아메리카 대륙 전체와, 약간의 행운을 기대하면 전 세계에 걸쳐 시청될 것임을 잘 알고 있다. 이런 의미에서 넷플릭스는 지역 관객들이 선호하지만 보편적인 매력을 지닌 범죄, 가족, 사회적 불평등, 축구 등의 주제에 기반한 시리즈를 매우 현명하게 만들고 있다. (『넷플릭스의 시대』, 397쪽)

    넷플릭스가 로컬로부터 발견한 코드를 실현하는 방식은 우리가 생각하는 것보다 훨씬 꼼꼼한 공식을 통해서다. 분업화는 기본적으로 안방의 TV가 아니라 글로벌 TV를 지향하는 넷플릭스가 문화 할인(cultural discount)을 극복하는 방법이다. 문화 할인은 특정 서사의 내용이 그것의 배경이 되는 문화적 맥락(cultural context)에 강하게 의존할수록 커진다. 가령 지상파의 일일극은 한국적 맥락을 이해하는 한국인들에게는 시청하기 좋지만(요즘에는 그것을 어려워하는 시청자가 무척 많은 것 같다), 외국인들에게는 시청부담이 무척 큰 하이 콘텍스트(high context) 드라마 형식이다. 전통적으로 텔레비전 드라마의 리얼리티는 시청자가 있는 이곳의 현실과 드라마 속 현실을 (비록 과잉 표현되는 부분이 있지만) 일치시키기 때문이다.

    하지만 서사극은 기본적으로 문화적 맥락과 무관하게 이해할 수 있는 형식이다. 오히려 이곳과 다르게, ‘낯설게’하는 것이 미덕이다. 넷플릭스는 서사극 형식 위에 앞서 말한 로컬과 글로벌 코드를 적절하게 배합하는데, 이때 인물은 물론이고 국가, 조직, 기업, 가족 등 서사에 동원되는 각종 요소의 설정이나 역할은 인종, 지역, 문화 등에 따라 각기 다르게 적용된다. 이는 로컬로부터 시작된 코드를 로우 콘텍스트(low context)화 하는 전술이다.

    의 트레이닝복, 직관적인 도형과 가면, 유니폼, 투자자들의 가면, 이동 구조물 등은 그것이 한국에서만 벌어지는 일이 아님을 강조하는 로우 콘텍스트 장치들이다. 의 달리 가면과 빨간색 유니폼 또한 그렇다. 에서 허둥대다 못해 서로 대립하는 경찰, 무능하기 이를 데 없는 금융당국, 은행 탈취에 오히려 환호하는 군중은 남유럽 국가들의 거버넌스의 한 단면이지만 어딘지 모르게 이곳의 시청자들에게도 어필하도록 재처리된 로우 콘텍스트이다. 그런 식으로 우리는 로부터 정부와 기업, 법률전문가 등이 벌이는 현대사회의 정치(반드시 미국만 그런 것이 아닌)의 한 단면을 목격하게 된다. 만약 남미에서 를 만들었다면, 훨씬 더 폭력적인 세계와 결합된 범죄물이 되었을 것이다. 로우 콘텍스트화를 통해 해당 서사극이 특수한 사건이 아니라 보편적인 매력으로 재탄생하는 것이다.

    요컨대, 지금 우리가 즐기고 있는 넷플릭스 시리즈물은 콘텐츠 생산의 분업화 전략의 토대 위에 서사극, 로컬과 글로벌 코드, 로우 콘텍스트 등 구체적인 제작 공식을 통해 완성된 것이다. 그것이 기여하는 바는 몰아보기와 서사극적 시청(epic viewing) 경험이다. 서사극적 시청은 서사극을 시청하는 것을 지칭하는 것이 아니라 어떤 콘텐츠든지 연속적인 과잉 시청을 통해 얻는 즐거움을 뜻한다. 콘텐츠 산업은 물론 미디어 비평도 을 몰아보기로만 봤겠지만, 이제는 서사극적 시청 경험에 대해 말해야 한다.

    이 전 세계 83개국에서 넷플릭스 시청 순위 1위를 기록했다. 관련 비평이 차고 넘친다. 오늘 아침에는 의 배경음악에 대한 글을 읽었다. 이 기세라면 올해의 핼러윈 코스튬은 단연 ○△□ 가면일 것이다. 동시대의 감성에 이토록 호소했던 OTT 시리즈물이 있었던가?

    며칠 전 필자는 홈쇼핑 채널에서 오징어를 구매했다. 여러 채널에서 한꺼번에 팔기에 쫓기듯 지갑을 열었다. 이것도 의 리얼리즘 효과인 건가? 이제 곧 도착할 오징어를 씹으며 드라마를 다시 정주행해 볼까 한다. OTT 서사극이 ‘재시청’(재방송이 아니라)에서 얼마나 많은 보상을 주는지 독자들도 아시리라. 혹시 모르지, 쉬운 게임 위에 복잡한 서사를 위한 뿌려놓은 시즌 1에서 뭔가 큰 떡밥(일남 할배와 기훈의 관계나 공유 또는 이병헌, 걸인을 도와준 이의 실체 같은 것)을 얻을지도.

    필자 소개

    • 임종수
    • 세종대 미디어커뮤니케이션학과 교수, 세종대 글로벌미디어소프트웨어융합연계전공(GMSW) 센터장, 한국언론학회 방송과 뉴미디어 연구회장. 텔레비전과 일상성에 대한 다양한 연구를 발표해 왔으며, 최근에는 텔레비전과 OTT 문화와 제도에 대한 연구를 수행 중이다.


0 개 댓글

답장을 남겨주세요