모범 사례 및 튜토리얼

튜토리얼: Vue.js, Node.js, Express 및 Couchbase Server를 사용하여 관심 지점 앱 빌드하기

Couchbase v5.5.0 red License Apache%202.0 green

구축할 내용

도시 목록에서 선택한 호텔 주변의 관심 지점(POI)을 표시하는 단일 페이지 웹 앱을 만들려고 합니다. POI는 대화형 Google 지도에 표시됩니다. 다음은 최종 결과를 보여주는 애니메이션입니다.

Animated Application Demo

좀 더 고급 기술을 보여주기 위해 몇 가지 추가 변형이 있습니다.

  • 도시는 같은 도시에 인근 호텔이 있는 공항을 매칭하여 선택됩니다.
  • REST 호출을 사용하여 POI를 검색하지만 데이터베이스에 저장합니다.
  • 클라이언트 측에서는 다음을 사용하여 푸시를 통해 데이터를 수신합니다. 서버 전송 이벤트.

코드는 짧지만 Vue의 반응형 데이터 바인딩 및 속성 종속성 기능을 사용하여 몇 가지 기술을 보여줍니다. Couchbase의 몇 가지 강력한 기능과 결합하면 많은 작업 없이도 멋지고 잘 작동하는 앱을 만들 수 있습니다.

필요한 것

이 앱은 전적으로 자바스크립트로 제작되었습니다. 시작하려면 몇 가지 준비물만 있으면 됩니다.

  1. Node.js 설치된
  2. 카우치베이스 서버 5.5.0 이상 설치

또한 다음을 위한 키도 받아야 합니다. Google 지도 자바스크립트 APIHERE REST API. 둘 다 무료로 사용할 수 있습니다(제한 사항 있음).

애플리케이션의 데이터는 Couchbase Server 배포에 기본 제공되는 샘플로 제공됩니다.

시작하기

웹 클라이언트 코드부터 시작하여 애플리케이션의 구조를 구축하겠습니다. 다음은 서버 측 Node + Express 코드입니다. 마지막으로 카우치베이스 서버 측을 살펴보겠습니다.

다음을 포함하여 N1Ql 쿼리에 대해 자세히 살펴보겠습니다. ANSI 가입. 이 앱은 새로운 이벤트 서비스 및 기능. 자바스크립트 코드를 살펴보는 것으로 마무리하겠습니다.

시작하려면 프로젝트를 보관할 새 디렉터리를 만듭니다. 명령 프롬프트를 열고 해당 디렉터리로 전환합니다.

웹 클라이언트 스켈레톤

Vue.js 클라이언트 스캐폴딩 생성하기

웹 클라이언트는 다음을 사용합니다. Vue.js.

Vue CLI를 사용하여 기본 프로젝트를 만들겠습니다. 다음을 사용하여 클라이언트와 서버 측을 쉽게 통합하는 방법을 보여드리겠습니다. 웹팩. 이렇게 하면 파일을 약간 재정렬해야 합니다.

아직 설치하지 않은 경우 npm을 사용하여 Vue CLI를 설치합니다.


저는 부트스트랩. Boostrap과 Vue를 통합하는 프로젝트는 적어도 두 개 이상 있습니다. 저는 부트스트랩 뷰. 이것은 실제로 필요하지 않습니다. 원한다면 이 종속성을 제거하는 것은 그리 어렵지 않습니다.

프로젝트 상용구를 만듭니다. 여기서 간단한 웹팩 템플릿이 등장합니다. 템플릿의 init 명령을 실행하면 몇 가지 질문이 표시됩니다. 기본값을 사용해도 괜찮습니다.

구조 조정 및 수정

이제 클라이언트 디렉토리로 전환합니다. 클라이언트 디렉터리에서 package.json 그리고 .gitignore 파일을 생성합니다. 이렇게 하면 프로젝트 전체에서 파일을 공유할 수 있습니다.


웹팩 구성에도 작은 버그가 있습니다. Open webpack.config.js. 로 시작하는 섹션 아래


옵션 줄을 다음과 같이 변경합니다.

종속성 설치 및 빌드

기본 종속성을 초기화하고 설치합니다.


다른 종속 요소를 설치합니다. 이들 중 다수는 표준 패키지(모건, 바디 파서)입니다. 저는 axios 네트워크 통화의 경우 sse-channel 는 멋진 서버 전송 이벤트 패키지입니다. 제가 사용해 본 다른 패키지보다 조금 더 정교하고 사용하기 쉽습니다. 그리고 Vue에서 Google 지도를 쉽게 작업할 수 있는 패키지가 있습니다. vue2-google-maps.

나머지 종속성은 다음과 같이 설치합니다. 여기에는 서버에 필요한 것들이 포함됩니다.


이렇게 하면 제대로 작동하는 Vue 기반 프런트엔드를 얻을 수 있습니다. 이를 구축하기 위해 package.json 를 한 단계 올리려면 npm 스크립트 섹션을 조정해야 합니다. 편집 package.json 를 프로젝트 루트에 추가하고 빌드 줄을 다음과 같이 변경합니다.


이제 클라이언트에서 npm 실행 빌드.

열 수 있습니다. index.html 파일을 실행해도 작동하지 않습니다. 서버 생성으로 건너뛰거나 독립 실행형 클라이언트만 확인하려는 경우 여기에서 문제를 해결해 보세요.

웹 서버 스켈레톤

프로젝트 루트로 다시 이동하여 서버 디렉터리를 준비합니다.

서버를 직접 만들어 보겠습니다. 새 파일을 편집하여 기본 앱을 시작합니다. app.js. 다음을 붙여넣고 저장합니다.

이것은 최종 버전의 간소화된 버전입니다. 앞서 만든 상용구 클라이언트를 제공하기만 하면 됩니다.

이 시점에서 다음을 실행할 수 있어야 합니다. 노드 app.js 를 클릭합니다. 브라우저 탭을 열고 다음 위치로 이동합니다. http://localhost:8080. 다음과 같은 내용이 표시될 것입니다.

Vue Client Template

클라이언트 및 서버 구체화하기

웹 클라이언트 코드

이제 돌아가서 실제 클라이언트를 만들어 보겠습니다. 클라이언트 디렉토리의 하위 디렉터리인 src를 클릭하고 파일을 엽니다. App.vue. 다음과 같이 업데이트합니다.

이것이 클라이언트 측 코드의 대부분입니다.

템플릿 섹션이나 CSS에 대해서는 자세히 설명하지 않겠습니다. 한 가지 멋진 요소를 지적하겠습니다. Here API는 무엇보다도 지도에서 사용하기에 적합한 아이콘에 대한 링크를 반환합니다. 흐름을 따라가다 보면 지도 마커가 포함 URL을 사용하여 해당 아이콘을 직접 로드하는 것을 볼 수 있습니다.

Vue 데이터 바인딩 설정

스크립트 섹션을 살펴보면 Vue의 반응형 기능을 많이 사용하는 것을 볼 수 있습니다. 이 부분을 이해하려면 Vue에 대해 어느 정도 익숙하다면 도움이 될 것입니다. 계산된 속성 및 감시자, 데이터, 메서드 및 라이프사이클 훅.

우리는 탑재 라이프사이클 콜백을 사용하여 서버에서 보낸 이벤트에 대한 리스너를 추가하고 처음에 도시 드롭다운 목록을 채울 수 있습니다. 여기서 비즈니스 로직의 더 무거운 작업은 데이터베이스 쿼리에서 이루어집니다.

도시 선택이 어떻게 작동하는지 추적해 보겠습니다. 버튼 드롭다운의 모든 항목에는 다음을 설정하는 클릭 리스너가 바인딩되어 있습니다. 선택 를 해당 항목의 도시 데이터에 추가합니다. 감시 메서드가 정의되어 있습니다. 선택. 또한 Vue는 계산된 프로퍼티를 자동으로 인식합니다. 디스플레이 에 따라 달라집니다. 선택.

즉, 드롭다운을 통해 도시가 선택될 때마다 일련의 활동이 이루어집니다. 변경 선택 원인 디스플레이 를 다시 계산하도록 설정합니다. 그러면 드롭다운 버튼 텍스트가 다음과 같이 설정됩니다. 디스플레이. . 선택메서드의 시계 섹션은 새 도시를 선택할 때마다 호텔 목록 테이블을 새로 고치도록 트리거합니다.

항목목적지 공급자 아래 메소드. 테이블을 새로 고치면 해당 코드가 실행됩니다. 원래 도시 목록과 마찬가지로 서버 REST 엔드포인트를 통해 데이터베이스에 대한 비동기 호출을 통해 호텔을 가져옵니다.

Vue는 여기서 많은 부분을 처리합니다. 예를 들어 테이블을 새로 고치는 호출은 데이터를 즉시 수신하지 않습니다. Vue는 REST 호출이 반환될 때마다 DOM의 관련 부분을 자동으로 다시 렌더링합니다. 우리는 다음과 같은 바인딩을 지정하는 것 외에는 배선을 제공할 필요가 없습니다. 항목 그리고 대상 공급자.

웹 클라이언트 완성하기

클라이언트 측을 완성하려면 몇 가지 짧은 단계를 더 거쳐야 하는데, Google 지도를 지원하는 모듈을 가져와서 키를 제공해야 합니다. 편집 main.js. 가져오기 줄을 추가하고 Vue에 새 컴포넌트를 사용하도록 지시합니다. 다음은 최종 코드입니다.

파일에서 Google 지도 API 키를 로드합니다. config.js. 해당 파일을 생성하고 지금은 이 플레이스홀더 코드를 추가합니다.

프로젝트를 다시 빌드(npm 실행 빌드). 서버를 시작하고 사이트를 다시 로드하면 다음과 같이 실제 클라이언트가 시작되는 것을 볼 수 있습니다.

Initial Version of Tutorial Client

웹 서버 코드

다음으로 서버 측을 작성하겠습니다. 서버는 웹 페이지를 제공하고 필요한 REST API를 노출합니다. API는 대부분 데이터베이스 기능을 편리하게 패키징한 것입니다.

서버 소스에서 원본 app.js 이걸로.

주요 차이점은 Couchbase 서버 노드 클라이언트 설정과 REST 엔드포인트에 대한 경로의 배선입니다. 그 외에도 http와 https를 통한 서비스와 같은 다른 추가 코드도 있습니다. 이러한 부분은 다루지 않겠습니다.

카우치베이스 서버에 연결

데이터베이스에 연결하기 위한 두 개의 코드 블록은 매우 간단합니다.

처음 세 줄은 Couchbase 노드 클라이언트를 가져오고, 데이터베이스 노드 클러스터를 나타내는 새 클러스터 객체를 생성하고, 해당 클러스터에 인증합니다. 그러면 데이터베이스에 대한 연결이 시작됩니다.

편의를 위해 클라이언트 및 클러스터 개체에 대한 참조를 다음 주소에 추가합니다. app.locals. 따라서 전 세계에서 사용할 수 있습니다.

마지막으로 이 코드는 두 버킷에 대한 연결을 설정하고 저장합니다. 버킷 는 카우치베이스의 높은 수준의 조직 구조입니다.

첫 번째 버킷은 Couchbase Server 설치와 함께 제공되는 샘플 데이터로 채우겠습니다. 두 번째 버킷의 경우, 여기서는 약간 수정하고 있습니다. 메타데이터 버킷이 필요합니다. 이벤트 서비스. 앞으로 살펴보겠지만 기본 버킷이 아닌 다른 곳에 저장해야 하는 몇 가지 추가 문서만 저장하면 됩니다. 세 번째 버킷을 만드는 대신 이벤트 발생 데이터와 함께 넣었습니다. 일반적으로 프로덕션 환경에서는 이 단축키를 사용하지 않습니다.

정적 파일 및 API 경로

클라이언트 코드에서 구축한 정적 페이지를 제공하고 서버 데이터 API를 구성하기 위해 Express에 지시해야 하는 코드가 몇 줄만 있습니다.

보일러 플레이트 index.html 앱의 홈 페이지에 dist 를 모든 파일 경로에 추가합니다. 즉, 정적 파일은 실제로 다음과 같은 루트 디렉터리에서 제공됩니다. /클라이언트/dist.

데이터 API를 두 개의 그룹으로 분리하여 일반적인 경로 하위 디렉토리에 있습니다. 로 시작하는 엔드포인트가 있습니다. 레코드. 데이터베이스에서 데이터를 검색합니다.

그리고 이벤트 경로는 고유합니다. 엔드포인트는 웹 클라이언트와 카우치베이스 이벤트 서비스 모두에서 사용됩니다.

이제 레코드 코드를 먼저 입력합니다.

데이터베이스 액세스 API

여기에는 세 가지 경로가 정의되어 있습니다, /목적지, /hotels/byCity/:id/선택/지역. 모두 기본 구조는 동일합니다. 데이터베이스 참조를 가져오고, 블루버드를 사용하여 쿼리 메서드의 프로미스 버전을 만들고, 쿼리 메서드에 대한 N1QL 쿼리를 실행하고 결과를 반환합니다.

가장 간단한 쿼리부터 시작해 보겠습니다.

N1QL 쿼리

우리는 /선택/지역 엔드포인트를 사용하여 사용자가 현재 선택한 호텔을 저장합니다. 다음은 쿼리 분석 결과입니다.

UPSERT 은 문서를 수정하거나 문서가 없는 경우 새로 만듭니다. 선택한 호텔의 지리적 위치를 문서에 다음과 같은 ID로 저장합니다. 트리거. 이상하게 들릴 수도 있습니다. 나중에 이벤트 코드에 대해 설명하면 더 이해가 쉬울 것입니다. 우리가 정말로 관심 있는 것은 호텔 위치가 아니라 근처의 관심 지점입니다. 이 문서는 이러한 관심 지점을 검색하는 시퀀스를 설정합니다. 따라서 문서를 호출하는 이유는 다음과 같습니다. 트리거.

다음은 생성된 문서의 예입니다.

트리거

이해하려면 /hotels/byCity/:id 쿼리를 사용하려면 먼저 몇 가지 예제 문서를 살펴보세요.

hotel_1359

airport_1361

호텔 테이블에는 호텔 이름, 주소, 지리적 위치, 공항 이름 및 공항 코드가 필요합니다. 당연히 두 문서의 데이터를 결합해야 합니다. 이를 위해 내부 가입. 쿼리는 다음과 같습니다.

살펴보면 동일한 버킷의 문서를 사용하여 조인을 수행할 수 있음을 알 수 있습니다. 더 명확하게 하기 위해 별칭을 사용했습니다. 각 문서의 도시를 사용하여 조인 조건을 구성합니다. 또한 문서 유형를 조인 조건과 어디 절을 추가합니다. 조인 조건은 매우 정교할 수 있습니다. 다음 내용을 읽어보세요. 블로그 게시물에서 자세한 내용과 예를 확인할 수 있습니다.

마지막으로 처음에 도시 목록을 어떻게 만들었는지 살펴봅시다. 다음은 /목적지엔드포인트.

반환되는 유일한 결과는 도시 이름 목록입니다. 이 경우 내부 조인을 필터로 효과적으로 사용하고 있습니다. 공항 도시와 호텔 도시를 일치시키면 두 도시가 모두 있는 도시 목록만 반환됩니다.

내부 조인은 알고리즘적으로 두 가지 접근 방식을 사용할 수 있습니다. 첫 번째로 살펴본 조인은 기본 중첩 루프 조인을 사용합니다.

이 마지막 예는 인메모리 해시 테이블을 사용합니다. 이렇게 하면 특히 두 데이터 집합 중 하나가 작은 경우 조인 속도를 크게 높일 수 있습니다. 여기서는 "USE HASH()" 힌트를 사용하여 쿼리 최적화를 원하는 방식을 N1QL에 알려줍니다. "프로브" 측면과 "빌드" 측면이 있습니다. 해시 테이블은 빌드 쪽 데이터에서 작성됩니다. 조인은 프로브 쪽 데이터에서 조회를 수행합니다.

위에서 제공한 힌트는 이 경우 프로브 측에 호텔 데이터를 사용하도록 N1QL에 지시합니다. 즉, 공항 데이터에서 테이블을 구축한 다음 호텔 데이터를 사용하여 해시 조회를 수행합니다.

이전에 해보지 않았다면 웹 관리 콘솔의 일부인 Couchbase Server 쿼리 워크벤치에서 이러한 쿼리를 직접 사용해 보시기 바랍니다.

서버 전송 이벤트

에 대한 이벤트 리스너 설정은 이미 언급했습니다. 서버 전송 이벤트 를 클라이언트 측에 표시합니다. 이 두 엔드포인트는 서버에 무엇이 필요한지 보여줍니다.

"가져오기" 버전의 poi 엔드포인트가 브라우저에서 호출될 때 이벤트 소스 가 구성됩니다. 호출자를 클라이언트로 추가하기만 하면 됩니다.

저희는 '포스트' 버전을 클라이언트에 데이터를 전송하는 중간 단계로 사용합니다. 그리고 res.send(''); 줄에서 작동 방식에 대한 힌트를 얻을 수 있습니다. 이벤트 코드에서는 N1QL cURL 기능을 사용하여 이 엔드포인트로 데이터를 푸시합니다. 빈 응답은 해당 트랜잭션을 종료하기 위한 것입니다.

그런 다음 서버는 데이터를 수신 중인 모든 클라이언트에 전달합니다. 더 자세한 내용이 있습니다. 더 자세히 알아보고 싶으시다면 이 문서 에는 좋은 정보가 있습니다.

서버 완료

프로젝트의 서버 측을 완성하려면 하위 디렉터리를 만듭니다. 경로 서버 디렉터리 아래에 있습니다.

복사 레코드 위의 코드를 경로 아래의 파일에 records.js. 복사 이벤트 라는 파일에 위의 코드를 events.js. 마지막으로 서버 디렉터리 자체에 다음과 같은 이름의 새 파일을 만듭니다. .env. 여기에 다음 구성 매개변수를 붙여넣고 저장합니다. (물론 필요에 따라 설정을 변경할 수 있습니다.)

이제 서버를 사용할 준비가 되었습니다. 서버 루트 디렉토리에서 노드 app.js. 클라이언트 코드를 먼저 빌드하는 것을 잊지 마세요.

카우치베이스 서버 이벤트 서비스 코드

이 앱을 작동시키는 마지막 특별한 소스는 다음과 같습니다. 5.5.0 버전에서 Couchbase는 이벤트 서비스. 5.5 릴리스 시리즈에서 제가 가장 좋아하는 새로운 기능입니다. 이 서비스의 일부로 제공되는 첫 번째 구성 요소는 Couchbase 함수입니다. 간단히 말해, 함수를 사용하면 코드를 실행할 수 있습니다. 데이터베이스 서버에서 데이터베이스의 변경 사항에 대한 응답으로

함수는 표준 자바스크립트로 작성되며, 일부 함수는 추가 및 제한 사항. 필요한 함수를 만들려면 다음 단계를 따르세요.

메타데이터 버킷 이벤트

먼저 이벤트 메타데이터를 위한 버킷을 생성합니다.

  • 필요한 경우 Couchbase Server 콘솔을 열고 로그인합니다.
  • 왼쪽 메뉴에서 '버킷'을 클릭합니다.
  • 오른쪽 상단 모서리에 있는 '버킷 추가'를 클릭합니다.
  • 입력 이벤트 을 입력하면 나타나는 대화 상자에서 버킷 이름을 입력합니다.
  • 완료하려면 "버킷 추가"를 클릭하세요.

함수 추가하기

이제 함수를 구성하고 코드를 추가합니다.

  • 왼쪽 메뉴에서 '이벤트'를 클릭합니다.
  • 오른쪽 상단 모서리에 있는 '기능 추가'를 클릭합니다.

그러면 대화 상자가 나타납니다.

  • 선택 여행 샘플 소스 버킷으로
  • 선택 이벤트 메타데이터 버킷으로
  • 입력 모니터 (또는 원하는 대로)를 함수 이름으로 입력합니다.
  • "바인딩"에서 다음을 설정합니다. 유형 를 "별칭"으로 변경합니다, 이름 를 "여행 샘플"로 설정하고 "DB"
  • "다음"을 클릭합니다: 코드 추가"

Adding a Function

그러면 코드 편집기로 이동합니다. 함수 서명이 미리 채워져 있습니다. 대신 이 코드를 복사하세요.

https://gist.github.com/HodGreeley/9e25f9072247e180ec5cd764d9048c3b#file-poi-js

함수 배포

이 코드를 배포하려면 먼저 '저장'을 클릭한 다음 왼쪽 메뉴에서 '이벤트'를 다시 클릭합니다. 함수에 대한 항목이 표시됩니다. 해당 막대의 아무 곳이나 클릭합니다. 해당 항목이 확장되는 것을 볼 수 있습니다.

Deploying a Function

"배포"를 클릭한 다음 "기능 배포"를 클릭하기만 하면 됩니다.

함수 코드 이해하기

온업데이트 는 문서가 변경될 때마다 호출됩니다. 이 함수는 문서와 문서 메타데이터를 매개변수로 받습니다.

저희는 트리거 문서를 변경하여 새 호텔을 선택했음을 나타냅니다. 첫 번째 줄은 문서 ID(문서 키라고도 함)를 기준으로 다른 모든 문서를 필터링합니다.

다음 줄은 몇 가지 흥미로운 점을 보여줍니다. Recall db 는 여행 샘플 버킷의 별칭입니다. db['here'] ID가 있는 문서를 직접 검색합니다. 여기. 여기에 필요한 자격 증명을 저장합니다. 여기 매핑 서비스.

관심 포인트 요청을 위한 URL과 데이터를 준비합니다. 여기에는 API에 흥미로운 기능이 많이 있습니다. 저희는 기본적인 요청만 하고 있습니다.

이 정보가 준비되었으므로 cURL 호출을 할 준비가 되었습니다. N1QL 쿼리를 작성하면 표준 JavaScript의 수정 사항 중 하나를 볼 수 있습니다: 쿼리 워크벤치에서 쿼리를 구성할 때와 마찬가지로 인라인으로 쿼리를 작성할 수 있습니다.

cURL 쿼리에서 또 다른 멋진 세부 사항을 볼 수 있습니다. N1QL은 결과를 필터링하기 위한 편리한 구문을 제공합니다. 경로를 추가하면 .results.item 끝까지 원하는 데이터만 확보합니다.

그런 다음 쿼리를 실행하고 동일한 쿼리를 사용하여 db[] 속기, 업데이트 poi 문서에 추가합니다. 이것은 함수를 사용하여 데이터를 보강하는 예시입니다. 다른 시나리오에서는 데이터베이스의 레코드에서 업데이트를 전적으로 도출할 수도 있습니다. 예를 들어 고객이 상품을 선택하면 장바구니의 모든 세부 정보를 입력할 수 있습니다.

마지막으로, 관심 지점을 손에 들고 다시 cURL을 사용하여 데이터를 웹 서버 엔드포인트로 푸시합니다. "포스트" 버전의 poi API는 들어오는 데이터를 수집하여 등록된 클라이언트에 다시 푸시합니다. 따라서 폴링할 필요 없이 클라이언트 UI가 데이터베이스 변경에 반응하도록 할 수 있습니다.

최종 단계

이제 이 모든 것을 통합할 준비가 되었습니다. 앱을 그대로 사용해 볼 수 있지만 지도 부분은 아직 작동하지 않습니다. 이를 위해서는 Google 지도 API 키와 HERE의 자격 증명 세트가 필요합니다.

지도 키는 config.js 파일을 추가합니다. HERE 키를 문서에 저장한 후 이벤트 버킷에 추가합니다. 관리자 콘솔에서 왼쪽 메뉴의 '문서'를 클릭한 다음 오른쪽 상단의 '문서 추가'를 클릭하면 바로 이 작업을 수행할 수 있습니다. 이것을 템플릿으로 사용하세요.

여기

마지막으로, 보안을 위해 cURL은 기본적으로 비활성화되어 있습니다. 관리자 콘솔에서 다음을 수행합니다.

  • 왼쪽 메뉴에서 '설정'을 클릭합니다.
  • 클릭하여 "고급 쿼리 설정"을 확장합니다.
  • "CURL() 함수 액세스"에서 "제한 없음"을 선택합니다.

이것은 not 프로덕션에 사용할 수 없습니다. 대신 선택한 URL 집합의 화이트리스트가 필요할 것입니다. 하지만 우리 프로젝트에는 이 방법이 적합합니다.

그런 다음 웹 서버 디렉토리에서 다음을 실행합니다. 노드 app.js. Open localhost:8080 (또는 브라우저의 .env)를 클릭하고 사용해 보세요.

출처

전체 앱의 소스는 GitHub에서 찾을 수 있습니다. 여기. 스크립트를 포함했습니다. 설정 를 실행하여 모든 준비를 간소화하세요. 그냥 실행 ./setup 를 클릭하고 키를 입력합니다. (먼저 실행 가능한 상태로 만들어야 할 수도 있습니다.) 그래도 다음을 실행해야 합니다. npm 설치를 클릭하고 클라이언트 코드를 빌드합니다.

웹 세미나

이 애플리케이션은 Couchbase 웨비나에서 데모의 일부로 사용되었습니다. 녹화본을 볼 수 있습니다. 여기. 다른 무료 웨비나 리소스 영역에 있습니다.

포스트 스크립트

Couchbase는 오픈 소스이며 무료 체험.
시작하기 와 함께 샘플 코드, 예제 쿼리, 튜토리얼 등.
더 많은 리소스 찾기 개발자 포털.
트위터에서 팔로우하기 카우치베이스 개발.
질문에 대한 답변을 게시할 수 있습니다. 포럼.
당사는 다음 사항에 적극적으로 참여합니다. 스택 오버플로.
질문, 의견, 보고 싶은 주제 등이 있으면 트위터에서 저에게 연락해 주세요. 호드그릴리

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 호드 그릴리, 개발자 옹호자, 카우치베이스

호드 그레이리는 실리콘밸리에 거주하는 카우치베이스의 개발자 옹호자입니다. 그는 소프트웨어 엔지니어 및 엔지니어링 관리자로서 20년 이상의 경력을 보유하고 있습니다. 그는 전산 물리학 및 화학, 컴퓨터 및 네트워크 보안, 금융, 모바일 등 다양한 소프트웨어 분야에서 일해 왔습니다. 2016년 카우치베이스에 합류하기 전에는 삼성에서 모바일 개발자 관계를 이끌었습니다. 컬럼비아 대학교에서 화학 물리학 박사 학위를 받았습니다.

댓글 하나

  1. 좋은 게시물입니다! 감사합니다.

    깃허브 리포지토리에 대한 첫 번째 링크가 잘못되었습니다. 끝에 ":"가 있습니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.