애플리케이션 디자인

Couchbase로 실제 웹 애플리케이션을 구축하는 방법

오픈소스 프로젝트의 가장 큰 장점 중 하나는 다양하고 협력적인 학습 환경을 조성할 수 있다는 점입니다. 서로 다른 배경을 가진 개발자들이 방법론을 비교하고 대조할 수 있으며, 가장 중요한 것은 서로에게서 배울 수 있다는 점입니다. 데모 앱을 바라보는 방식을 바꾸고 있는 오픈소스 이니셔티브 중 하나가 바로 실제 프로젝트.

The mother of all demo apps: RealWorld

리얼월드 프로젝트 소개

리얼월드 프로젝트는 오픈소스 사양으로 'Conduit'이라는 매체닷컴 클론을 복제합니다. 모든 개발자가 사양의 백엔드 및 프론트엔드 구현을 모두 만들 수 있습니다. 이 플랫폼을 통해 서로 다른 언어, 프레임워크, 데이터베이스를 사용하여 완전히 동일한 애플리케이션이 어떻게 구성되는지 확인할 수 있습니다.

데모 앱은 프레임워크와 데이터베이스의 기능을 이해하는 데 중요한 역할을 하지만, 그 구현은 실용성이 부족한 경우가 많습니다. 이러한 애플리케이션은 여기저기 흩어져 있어 찾아서 비교하기가 어렵습니다. RealWorld 프로젝트는 이러한 환경을 개선하고 개발자가 더 쉽게 시작할 수 있도록 하는 것을 목표로 합니다.

Conduit medium clone with Couchbase

Conduit이란 무엇인가요?

이 프로젝트는 프론트엔드 및 백엔드 애플리케이션을 위한 사양을 개발했습니다. 이 사양은 소셜 블로그 사이트인 Medium.com의 복제본인 'Conduit'을 생성합니다.

conduit: specification for both frontend and backend applications.

기여자는 원하는 언어, 프레임워크, 데이터베이스로 프론트엔드 또는 백엔드를 구현할 수 있습니다. 모두 동일한 사양을 준수하므로 프론트엔드와 백엔드를 서로 바꿀 수 있습니다.

현재 이 사이트에는 20개 언어와 다양한 프레임워크를 사용하는 약 100개의 백엔드 예제가 있습니다.

나의 기여: ASP.NET + Couchbase로 구축하기

이 이니셔티브에서 영감을 받아 저는 다음과 같은 여정을 시작했습니다. ASP.NET + Couchbase 구현. 이 프로젝트는 완료되면 RealWorld 인덱스 사이트에 제출되어 .NET 개발자에게 Couchbase로 자체 애플리케이션을 만들 수 있는 확실한 시작점을 제공합니다.

ASP.NET + Couchbase implementation

이 프로젝트에는 일련의 자동화된 테스트가 포함되어 있어 프로젝트가 유지보수 가능하고 최신 상태로 유지되도록 보장합니다. 또 다른 독특한 특징은 다음과 같이 실시간으로 공개적으로 구축된다는 점입니다. Twitch.tv.

Twitch.tv의 라이브 빌딩

왜 트위치인가? 트위치에는 상당한 규모의 "라이브 코딩" 커뮤니티. 라이브 코딩 세션을 통해 다른 사람들이 참여하고, 시청하고, 채팅하고, 기여하고, 심지어 협업할 수 있습니다. 하지만 다음과 같은 다른 라이브 비디오 플랫폼으로 확장하는 것을 고려하고 있습니다. YouTube 와 LinkedIn을 곧 출시할 예정입니다.

Twitch: The Live Coders

추가 보너스로 다음과 같은 LLM 도구를 사용하고 있습니다. ChatGPT 그리고 GitHub 코파일럿 채팅 를 사용하여 프로젝트를 더 빠르게 빌드하는 방법을 실험해 보았습니다. 그 과정에서 개발자들이 이러한 도구의 장단점을 이해할 수 있도록 돕고자 합니다.

모든 라이브 스트림이 녹화되고 이후에는 YouTube에 게시를 통해 전 세계 개발자를 위한 풍부한 리소스 저장소를 만들었습니다. 더 짧은 요약 동영상도 제작 중입니다. 더 자세한 내용은 요약 동영상 재생 목록 에서 동영상 링크 모음을 찾아보거나 GitHub README.

향후 기여를 위한 청사진

이 프로젝트는 다른 언어와 프레임워크를 사용한 향후 기여를 위한 청사진을 수립하는 것을 목표로 합니다. Conduit 사양부터 시작하여 모든 Couchbase 관련 세부 사항과 아키텍처 선택 사항을 추가할 수 있습니다. 예를 들어, Couchbase를 처음 접하는 사람들에게는 다음과 같은 사항이 항상 명확하지 않습니다. 데이터 모델링 방법 (포함? 참조?) 및 사용할 데이터 연산(키-값? SQL++?)

NET 개발자가 아닌 분들에게 희소식입니다!

.NET으로 빌드하지 않더라도 걱정하지 마세요! 이미 다른 언어와 프레임워크를 사용하여 완성된 프로젝트가 두 개나 있습니다.

    • Node.js (로랑 도귄이 만든)

이 프로젝트는 Express.js 웹 프레임워크와 함께 Node.js(JavaScript)를 사용합니다. Ottoman.js ODM및 Couchbase.

    • Java (작성자: 마를로 아퀴노, jericho161616)

이 프로젝트는 Spring Boot와 함께 Java를 사용합니다, 스프링 데이터및 Couchbase.

이러한 Conduit 앱 실행을 시작하려면 먼저 다음을 권장합니다. 카우치베이스 카펠라에 가입하기. 데이터베이스 여정을 시작하는 가장 간단하고 쉬운 방법입니다.

궁금한 점이 있거나 진행 상황을 공유하고 싶다면 다음 토론에 참여하세요. 카우치베이스 디스코드.

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

Author

Posted by 매튜 그로브스

Matthew D. Groves is a guy who loves to code. It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything. He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s. He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community. He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP.

댓글 남기기

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

구축 시작

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

카펠라 무료 사용

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

연락하기

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