2020 DEVIEW: GLACE 발표 영상 공개

Young
네이버 플레이스 개발 블로그
5 min readJan 14, 2021

2020년 11월 23일에 올렸던 2020 DEVIEW: GLACE 발표 세션 & 부스 소개의 후속글입니다.

안녕하세요!

다름이 아니라 저번 글에서 발표 세션 소개하고 끝났는데, 영상이 전부 공개 되어 내용을 소개하고자 후속글을 쓰게 되었습니다. 박성현 님의 GraphQL API 운영 경험, 그리고 윤영제 님의 플레이스 서비스 확장기, 이렇게 두 가지가 있었습니다. GraphQL API 운영 경험 발표부터 살펴볼까요?

https://tv.naver.com/v/16969996

GraphQL API 까짓거 운영해보지 뭐

성현님 발표의 주요 내용은 일본 영수증 리뷰 서비스 LINE CONOMI의 GraphQL API 운영을 하며 경험한 이슈와 그 해결법입니다. 비슷한 고민거리를 안고 계시는 분들께 많은 도움이 될 것 같습니다. 다음 4가지가 주요 골자입니다.

  • 모니터링(APM) 환경 갖추기: 팀원의 실력을 믿고 배포하는 것으로 API 운영이 끝나면 좋지만… 현실은 녹록지 않습니다. 눈으로 직접 수치를 봐야 합리적인 의사결정을 할 수 있고 나중에 들어오는 분들도 편하게 온보딩 할 수 있는데요, 이를 위해 도입한 Apollo Studio의 설정법을 설명합니다.
  • 버전 관리 없는 API: 기존 REST API로 개발할 시 호환성 유지를 위해 버전 관리를 신경 써야 하는데, 이는 개발자에게 큰 부담이 될 수 있습니다. GraphQL을 사용하면 이런 버전 관리에 대한 부담은 없으나 필드를 추가할 때 FE, BE 각각의 분야에서 고려해야 할 점이 있습니다.
  • API Gateway: 조직에서 제공해야 하는 GraphQL API를 하나로 합치기 위해 Apollo Federation을 사용하였습니다. 다른 팀과의 API 병합 과정에서 생긴 문제점과 해결책을 공유합니다.
  • API 문서 제공법: GraphQL 문서는 없어도 되는 줄 알았는데…! 그게 아녔습니다. GraphiQL, GraphQL Playground의 한계와 그 대안을 소개합니다.

더 자세한 내용은 발표 영상에서 확인하실 수 있습니다.

https://tv.naver.com/v/16971863

묻고 한 벌로 가!

영제 님은 네이버 플레이스 서비스의 영역을 확장하면서 겪은 문제와 고민거리, 그리고 해결법을 공유해 주셨습니다. 플레이스 서비스처럼 확장의 위기(?)에 처한 분들, 그리고 JS 풀 스택 개발자분들께 많은 도움이 될 것 같습니다. 내용을 간단히 정리하면 아래와 같습니다.

  • 왜 코드 한 벌로 여러 서비스에 대응했나: 네이버 플레이스와 지도 서비스의 통합 배경에 관해 설명합니다. 플레이스 서비스는 시작은 작고 귀여웠지만, 현재는 네이버 통합 검색량의 15%를 차지할 정도로 크게 성장하였습니다. 📈 그러면서 지도의 검색 결과와 플레이스 검색 결과가 다르다는 문의가 많아지기 시작했고, 일정량을 넘어서서 통합을 고려하게 되었습니다.
  • 가장 효율적인 방법을 찾아서: 모바일 지도 앱에 플레이스를 넣기로 한 후, 통일된 UX 제공에 초점을 두고 네이티브 지도 레이어 위에 웹뷰로 장소 검색 결과로 살포시 얹어주기로 했습니다. PC 지도는 모바일보다 더 많은 고려가 필요했는데요, 자세한 내용이 궁금하다면 발표 영상을 참고해 주세요!
  • 여러 환경을 고려할 때 주의해야 할 점들: Webpack과 React Context, 환경 변수, GraphQL 어노테이션 등을 사용한 디바이스 분기처리에 관해 설명합니다.
  • 성능 개선: 잘 합치면 끝인 줄알았지만, 그것이 시작이었습니다. 성능 개선이 기다리고 있었습니다. 이미지 최적화, Lazy Loading, Code Splitting, SSR과 CSR, 컴포넌트 리-렌더링 최적화, Intersection Observer 등을 사용한 경험을 공유합니다.
  • 앞으로의 개선점: 아직 할 일이 많습니다! 테스트 자동화도 해야 하고, 업종도 추가 및 개선해야 하고, 리팩토링도 해야 하고…

두 발표 모두 단순한 지식전달이 아닌, 직접 서비스를 운영하면서 겪은 많은 고민을 바탕으로 한 경험을 주제로 한 것이기 때문에 더욱더 값졌습니다.

이 외에도 다양한 발표가 많이 있는데, NAVER D2 블로그 포스트에 소개글이 준비되어 있으니 함께 즐겨주세요! 전체 영상 목록은 NAVER Engineering 채널의 플레이리스트에서 보실 수 있습니다. 감사합니다 🥂

--

--