본문 바로가기

기술블로그

(7)
[띵동] 배달음식, 아직도 “리뷰 많은 순” 정렬하니? 띵동, 이번엔 “스마트 추천 정렬”을 추천해 봅니다! 신종 코로나바이러스 감염증(코로나19) 여파로 집에 있는 시간이 길어지면서 음식 배달 서비스에 대한 수요가 증가했다고 하죠. 음식 배달 서비스의 확대로 보자면, 배달 가능한 음식 종류가 많아진 것 또한 무시할 수 없죠. 예전에는 음식 배달하면 가장 먼저 떠오르는 메뉴가 치킨, 피자, 짜장면이었다면, 요즘에는 배달 안되는 음식이 없을 정도로 다양한 메뉴와 주변의 유명한 맛집까지 집에서 편하게 먹을 수 있기 때문입니다. 이렇게 음식 배달이 가능한 음식점이 늘어나면서 우리의 선택지가 늘어났다는 장점이 있지만, 반면에 우리가 찾아서 비교해야할 음식점이 그만큼 많아졌습니다. 메뉴를 정하는 것도, 음식점을 정하는 것도, 직접 비교해서 마음에 드는 곳을 찾는 수고..
[띵동] Typescript 기반 범용 Domain NPM모듈 개발기 0. 들어가며 온디맨드 딜리버리 서비스인 띵동은 현재 사용자들이 사용하는 앱과 회사에서 운영을 위해 사용하는 웹, 가맹점주들이 사용하는 웹, 앱 등으로 구성되어있으며 모두 Javascript언어 기반에 Typescript와 React(React Native)로 개발되어있습니다. 수십, 수백개의 테이블이 유기적으로 연동되어 비즈니스로직을 구성하고 여러 구성원들이 함께 참여해서 개발하는 프로젝트이다보니 데이터를 일관성있게 관리하는데에 어려움이 생기는 일을 종종 경험하고는 합니다. 이미 규모가 너무 커져버린채로 잘 동작하고 있는 서비스에 대해 함부로 데이터를 건드리기 두렵다보니 각자 임의로 새로운 key값을 추가해서 관리가 어려워지거나, 사실 대부분의 기능은 근본적으로 데이터에 대한 CRUD(Create, R..
[띵동] 띵동 데이터 대시보드 만들기 with Google Data Studio 먼저, 기술블로그와 어울리진 않지만 이 글은 대시보드를 만들기 위한 the Best way는 아닙니다. 대부분이 [김밥 만드는 법] 을 포스팅 했다면, 이 글은 [ 가난한 자취생이 있어보이는 김밥 만드는 썰] 에 가깝습니다. 1편에서는 - 띵동 데이터팀이 ‘왜’ 구글 데이터 스튜디오로 대시보드를 만들게 되었는가? - ‘어떤’ 문제가 있었고 어떤 삽질들로 해결했는가? 2편에서는 - ‘어떻게 ’ 해야 비즈니스 인사이트를 도출하기 쉽게 만드는가? 고민했던 과정들을 풀어나갑니다. 물론 삽질은 나를 강력하게 만들지만, 회사는 나를 기다려 줄 시간이 없거든요… 테크니컬한 부분까지 고려된 화려한 대시보드를 원하신다면 시중에 많은 솔루션이 있으니, 검색을 추천드립니다. (준비물 : 비용을 듣고 놀라지 않을 넉넉한 자본..
[띵동] 2020 AWS Certified Developer — Associate 를 취득하기까지 2020년 03월 12일, AWS dev associate 시험을 봤습니다. 자격증에 대한 정보는 생각보다 많아서, 개인적으로 자격증을 공부해가면서 그리고 시험을 보면서 느꼈던 개인적인 생각을 공유해볼까 합니다. 자격증 취득을 고려하기까지 - 작년부터 회사에서 프런트엔드 업무로부터 백엔드 업무로 업무로드를 서서히 옮겨갔습니다. 다방면에 있어 여러 공부가 필요했지만, 그중에서도 많은 시간을 할애해야 했던 것은 AWS 였습니다. - 처음에는 회사에서 이미 구축된 시스템에 익숙해지면서 업무에 적응해나갔습니다. 직접적으로 필요한 부분은 사수에게 설명을 듣고, 또 수시로 물어보면서 차츰차츰 익숙해져 갔습니다. 또 업무에 필요한 부분들은 동영상 강의나 AWS 백서를 읽어가며 주먹구구식으로 공부했습니다. - 그러다 ..
[띵동] 띵동-음식 추천 시스템(Restaurant Recommender System) 띵동, 배달 음식도 추천이 되나요? 집에 있는 몇 장의 전단지를 보고 배달 음식을 주문했던 과거와 다르게, 이제는 모바일 앱만 열면 수많은 음식점의 전단지를 한 곳에서 볼 수 있습니다. 선택의 폭이 넓어졌다는 장점이 있지만, 음식점 리스트를 확인하고 주문을 하기까지 그만큼 많은 시간을 소비하게 됩니다. 일반적으로 배달 음식 앱에는 음식 카테고리마다(한식, 중식 등) 음식점이 분류되어 있긴 하지만, 여전히 음식점 리스트는 줄어들지 않습니다. 음식 카테고리를 세분화하는 것에도 한계가 있기 때문입니다. 이렇게 음식 카테고리를 이리저리 들어가 보고, 음식점 후기도 꼼꼼히 읽으면서 어떤 음식을 주문할지, 어떤 음식점에 주문해야 할지 고민하면서 시간을 소비할 수밖에 없습니다. 음식 추천 시스템은 우리가 원하는 혹은..
[띵동] AWS ECS(Elastic Container Service) 운영, 그리고 우리 이야기 현재 띵동이 운영하고있는 환경과, 배포, 그리고 겪었던 이야기들을 조금은 현실적으로 적어보려합니다. 이전 띵동의 Legacy System은 전통적인 Monolithic Architecture로 설계, 개발 되었습니다. 우리가 가장 비중있게 고민했던 이슈들은 다음과 같았습니다. 연관없는 도메인, 프로덕트들의 재배포(Domain Decoupling) 규모가 있는 시스템을 구축하고 코드로 구현할때, decoupling은 가장 중요한 이슈 입니다. 예를 들어 “가맹점” 에 대한 코드수정시, 앱과, 어드민, 가맹점 웹까지 모두 배포가 이뤄져야 했으며, 모든 프로덕트들을 한번에 Sync 맞추기가 상당히 어려웠습니다. 또한, 프로덕트 들이 가지는 책임의 영역을 넘어, 안정적인 코드들도 재 배포를 해야하는 상황이 자주..
[띵동] 딜리버리 서비스와 개발팀 이야기 띵동은 고객들이 원하는 것들을 모바일 앱으로 주문할 수 있는 온디맨드 딜리버리 서비스 입니다. 고객이 주문을 하면, 띵동의 메신저들은 음식/물건들을 픽업하고, 최종 목적지까지 배달을 완료합니다. 음식 영역 뿐만 아니라 생활에 필요한 다양한 생활편의 서비스들을 주문할 수 있습니다. 띵동 서비스를 제공하는 허니비즈라는 회사는 2012년에 창업을 하였고, 현재까지 꾸준히 서비스를 제공하고 있습니다. 많은 회사들이 그러하듯, 회사가 오랜기간 성장을 하며, 기술적인 부분에서의 발전이 좀 더 필요했고, 2018년 여름부터 띵동 서비스 미래를 위한 새로운 시스템, 더욱 탄탄한 개발 조직을 만들기 시작했습니다. 지속적으로 발전하는 시스템을 만들기 위해서는 다음과 같은 과제들이 있었습니다. 데이터베이스 성능 Bottle..