본문으로 이동
GraphQL Schema 기반으로 협업하고 생산성 높이기 | 2024 당근 테크 밋업
컨퍼런스

GraphQL Schema 기반으로 협업하고 생산성 높이기 | 2024 당근 테크 밋업

당근 밋업 당근 · YouTube

원문 보기

AI 핵심 요약

당근알바 팀은 웹뷰에서 빠른 사용자 경험을 제공하고 개발·배포 속도를 높이며 다른 클라이언트로 확장하기 위해 GraphQL과 Relay를 도입했다. 서버와 클라이언트가 GraphQL 스키마를 제품의 설계도이자 공통 언어로 함께 다듬은 뒤 각자 구현하도록 협업 방식을 바꿨고, 필요한 데이터를 한 번에 가져오거나 기존 스키마를 활용해 서버 변경 없이 기능을 개발할 수 있었다. Relay의 정규화 캐시는 여러 화면에 걸친 상태를 일관되게 유지하는 데도 도움을 줬다. 4년간의 경험에서 스키마 기반 협업은 사용자 경험과 생산성을 함께 뒷받침했지만, GraphQL이 보편적인 정답은 아니며 팀과 제품 상황에 맞는 선택이 중요하다는 점을 강조했다.

  • 서버와 클라이언트가 구현에 앞서 스키마를 함께 설계하면 제품 요구사항을 공통 언어로 논의하고 병렬 개발을 시작할 수 있다.
  • GraphQL 쿼리로 화면에 필요한 데이터를 한 번에 가져오면 API 워터폴과 과도한 데이터 요청을 줄이는 데 도움이 된다.
  • 정규화된 캐시는 여러 화면에 걸친 데이터 변경을 일관되게 반영해 수동 상태 동기화 부담을 낮춘다.
  • 스키마가 커질수록 클라이언트가 기존 모델과 필드를 활용해 서버 변경 없이 기능을 구현할 수 있지만, 설계에는 충분한 고찰이 필요하다.
  • GraphQL이 모든 팀에 정답인 것은 아니므로 제품 단계와 팀 구성, 목표에 맞춰 기술 선택을 재검토해야 한다.

소개

처음 당근알바를 만들 때, GraphQL을 도입하며 고려했던 요소는 “웹뷰의 네이티브 같은 빠릿빠릿한 사용자 경험”, “빠른 개발 및 배포 사이클” 그리고 “웹 서비스로의 확장 가능성”이었어요. 4년이 지난 지금 이러한 결정을 되돌아보며, 사용자 경험과 생산성을 최우선으로 하는 팀에게 GraphQL Schema 기반 협업이 어떤 의미가 있는지 공유해요. 🥕 영상을 보고 당근에 관심이 생기셨다면 채용 공고를 확인해보세요! https://about.daangn.com/jobs/

비슷한 학습 자료

컨퍼런스 당근 밋업

당근알바의 초기 엔지니어링 전략을 소개해요. 새로운 제품이 겪는 Cold Start 문제를 해결하는 과정에서 어떤 엔지니어링을 했는지, 생산성과 사용자에게 전달된 가치 측면에서 소개해요. 또한 초기 엔지니어링 전략이 팀과 제품에 어떠한 영향을 미쳤는지 공유해요. 🥕 영상을 보고 당근에 관심이 생기셨다면 채용 공고를 확인해보세요! https://about.daangn.com/jobs/

풀스택 프로덕트 매니지먼트

컨퍼런스 당근 밋업

당근은 중고거래를 넘어 커뮤니티, 알바 등 다양한 ‘당신 근처의’ 서비스로 빠르게 확장해 나가고 있어요. 서비스가 빠르게 확장되는 만큼, 사용자가 당근을 안전하고 편리하게 이용할 수 있도록 지원하는 운영 환경도 빠르게 대응할 수 있어야 하죠. 당근의 운영개발팀은 빠른 대응을 위해 언제나 확장성, 생산성 그리고 설정 가능성을 염두에 두고 개발에 임하고 있어요. 이 세션에서는 실제 당근의 문의 처리 도구를 개선하는 과정에서 역할 분리, 메타 프로그래밍, 규칙 기반 UI 생성, 설정 분리와 같은 다양한 기법을 활용해 빠른 대응이 가능한 시스템을 어떻게 구축했는지 공유하고자 해요. 이와 함께, 이러한 기법을 실제로 적용할 때 유의해야 할 점에 대해서도 다뤄요. 반복되는 비슷한 코드 작업에 지치신 분, 더 효율적이고 생산적으로 일하고 싶은 모든 개발자에게 이 세션이 인사이트를 제공할 수 있길 기대해요! 🥕 영상을 보고 당근에 관심이 생기셨다면 채용 공고를 확인해보세요! https:/...

백엔드

컨퍼런스 당근 밋업

대용량, 대규모 데이터를 다룰 때 샤딩(sharding)은 필수적으로 고려해야 하는 요소예요. 하지만 샤딩을 잘 적용하기란 결코 쉬운 일이 아니에요. 저희 검색플랫폼팀은 대규모의 중고거래 게시글을 샤딩하면서 지역 기반이라는 서비스 특성까지 고려해야 했고, 이를 프로덕션에 적용하여 좋은 결과를 만들어냈어요. 이 세션은 지역 기반 샤딩 적용 과정을 소개하면서, 검색에 대한 배경지식 없이도 성능 개선과 비용 개선을 위해 샤딩을 적용하려고 검토 중인 분들께 좋은 인사이트가 되길 바라요. 🥕 영상을 보고 당근에 관심이 생기셨다면 채용 공고를 확인해보세요! https://about.daangn.com/jobs/

백엔드 데이터베이스

컨퍼런스 당근 밋업

당근 채팅 시스템이 탄생한 과정을 소개해요. 당근의 수많은 사용자들이 실시간으로 메시지를 주고받는 방법과 이를 효율적으로 저장하는 방식이 궁금하지 않으신가요? 이 세션에서는 먼저 메시지 전달의 기본 원리를 살펴본 후, 서버가 2대일 때 발생하는 메시지 동기화 방법과 서버 간 비동기 처리 방식을 설명해요. 저장 측면에서는 필요한 기능, 스키마 설계, 스케일 업, 인덱싱, 쿼리 최적화, 캐싱 기법 등 다양한 주제를 다루어요. 또한 리플리케이션과 샤딩, 채팅 데이터의 분할 방법 및 저장소 마이그레이션 경험을 쉽게 이야기하려 해요. 🥕 영상을 보고 당근에 관심이 생기셨다면 채용 공고를 확인해보세요! https://about.daangn.com/jobs/

백엔드 데이터베이스 네트워크

컨퍼런스 당근 밋업

“당근에 오신 걸 환영해요!” 당근의 프론트엔드 개발자로 입사한다면 어떤 개발 도구를 만나게 될까요? 지난 3년 간 쌓아올린 당근의 웹뷰 플랫폼을 여러분께 소개해요. git init부터 배포까지 생생한 라이브코딩과 함께, 웹뷰 플랫폼 구축에 대해 당근이 생각하는 Best Practice와 앞으로의 비전을 공유해요. 🥕 영상을 보고 당근에 관심이 생기셨다면 채용 공고를 확인해보세요! https://about.daangn.com/jobs/

웹 개발 프론트엔드

컨퍼런스 당근 밋업

당근의 성장과 함께 프로덕트를 만드는 과정에서 겪은 다양한 경험을 공유해요. 🥕 JavaScript 생태계를 이용해서 신사업 제품의 서버 개발하기 (김경덕/버티컬 사업실) #javascript #nodejs 🥕 당근 공고 살펴보기 : https://about.daangn.com/jobs/ 🥕 발표 자료 : https://daangn.notion.site/SERVER-5599a1755889426bafd4e87a0562e0b6 * 당근 Server 밋업 1회 다시보기 : https://youtube.com/playlist?list=PLaHcMRg2hoBr5s_jn5CzZrpkmHOY0N8w7&si=VRdpYyoT0bjZ3VOW

백엔드 프로그래밍 언어