글. 박수봉(Henby) / 서비스웹개발팀 안녕하세요. 서비스웹개발팀 헨비입니다. 9월 7일, 여기어때 해외투어 서비스를 오픈했습니다. 프론트엔드 담당 개발자는 두 명이었고, 웹과 앱 웹뷰를 하나의 코드베이스로 개발했습니다. 저는 웹 카테고리홈·상품 상세·주문서·예약내역·해외투어용 채팅…
안녕하세요, 여기어때의 사내 소식을 전하는 컬처라운지입니다. 🙂 가을 기운이 물씬 풍기던 지난 9월 말, 여기어때 오피스는 평소와 다르게 매우 한적했답니다. 바로 여기어때 전사 임직원이 다 함께 가을 운동회에 참석했기 때문인데요. 이날만큼은 모니터 대신 높고 파란 하늘을 바라보며, 회의…
글. 심수현(Dante) / 전시개발팀 안녕하세요. 전시개발팀에서 여기어때 서비스를 개발하고 있는 단테입니다. 저희 팀은 레거시 API와 신규 API의 응답이 같은지 비교하기 위해 쉐도잉이라는 방법을 사용합니다. 쉐도잉(Shadowing)이란? 실제 요청을 신규 로직에도 보내 기존 로직…
글. 김수비(소피) / 공통플랫폼개발팀 안녕하세요, 여기어때컴퍼니 공통플랫폼개발팀 소피입니다. 1편에서는 검색을 만들기 전에 바닥을 다졌습니다. Confluence와 Jira에 흩어진 문서를 증분으로 모으고, 검색에 쓸 수 없는 JSON을 Markdown으로 바꾸고, 이미지에는 대체 텍…
글. 박이슬(스노우) / 공통플랫폼개발팀 안녕하세요, 여기어때컴퍼니 공통플랫폼개발팀 스노우입니다. 1편에서는 Confluence와 Jira에 흩어진 문서를 모아 검색 가능한 형태로 바꿨고, 2편에서는 그 위에 LightRAG와 Navigator를 얹었습니다. 여기까지 오면 질문을 던졌을…
글. 박동규(jiha) / 광고플랫폼개발팀 안녕하세요. 여기어때컴퍼니 광고플랫폼개발팀 지하입니다. 저희 팀은 설치형 ERD 솔루션으로 ERD를 설계하고 관리해 왔습니다. 쓰는 사람마다 프로그램을 설치해야 했고, 라이선스 비용도 들었습니다. 무엇보다 테이블을 하나하나 그리고 관계를 잇는…
글. 양현진(Cople) / 전시개발팀 안녕하세요. 전시개발팀 코플입니다. 저는 올해 사내에서 팀 이동을 하게 되었습니다. 공통플랫폼개발팀에서 약 2년 반 정도 플랫폼 개발 경험을 쌓고 전시개발팀으로 이동한 지 약 5개월이 지났습니다. 처음 경험하는 서비스 도메인 영역에서 우선적으로 서…
안녕하세요, 유저혜택개발팀 윌비입니다. AI가 코드를 짜 주는데 개발자는 이제 대체되는 것 아니냐는 말이 심심찮게 나옵니다. 저는 개발자가 없어지는 것이 아니라, 필요한 것이 코딩에서 다른 데로 옮겨 갔다고 생각합니다. 팀에서 AI 워크스페이스를 함께 만들어 쓰면서 겪은 고민과 지금 하…
글. 이단비(Tabie) / Service Factory팀 안녕하세요, 여기어때컴퍼니 Service Factory팀 타비입니다. 올해 초 팀을 옮긴 후 받은 첫 과제는 바이브코딩으로 서비스를 하나 만들어보는 것이었습니다. 여행 유튜브 영상을 AI가 요약해서 숙소 검색까지 이어주는 작은…
글. 박수봉(Henby) / Experience Development팀 안녕하세요. Experience Development팀 헨비(henby)입니다. 9월 7일, 여기어때의 해외투어 서비스를 오픈했습니다~ 그 동안 짧지만 밀도 높은 QA 기간을 보냈습니다. 프론트엔드 개발자는 총 두…
이름은 익숙하지만 얼굴은 생소한 동료가 있으신가요? 아니면 들어본 적은 있지만 어떤 업무를 담당하는지 잘 모르는 팀이 있으신가요? 매일 익숙한 자리에서 늘 같은 팀원들과 먹는 점심은 편안합니다. 하지만 이러한 익숙함이 지속될수록 회사는 서로 잘 모르는 사람들의 집합이 되어가기도 하죠.…
글. 정용욱(Eric) / 서비스웹개발팀 안녕하세요. 서비스웹개발팀의 에릭입니다. 마지막 편입니다. 폴더 이름 앞의 기호 두 개가 어떻게 규칙이 됐는지 이야기합니다. 그리고 1편에 적어 둔 걱정 다섯 가지에 답하면서 시리즈를 마무리하겠습니다. 해외선 예약 상세 화면을 만들다 보면 파일이…
글. 정용욱(Eric) / 서비스웹개발팀 안녕하세요. 서비스웹개발팀의 에릭입니다. 이번 편은 상태관리입니다. 프로젝트를 시작하며 전역 저장소를 넣자고 해 놓고, 결국 안 넣었습니다. 그 사이에 판단이 어떻게 바뀌었는지를 적었습니다. 프로젝트를 시작하면서 상태관리 라이브러리를 하나 넣자고…
글. 정용욱(Eric) / 서비스웹개발팀 안녕하세요. 서비스웹개발팀의 에릭입니다. 이번 편은 인증입니다. 토큰이 들어오는 길은 환경마다 다른데, 나가는 길은 하나로 모았습니다. 그 사이를 어떻게 메웠는지 적었습니다. 예약 목록을 보려면 로그인이 필요합니다. 마이페이지도 그렇고, 쿠폰을…
글. 변자룡(Jr)/유저혜택개발팀 안녕하세요. 여기어때 유저혜택개발팀 제이알입니다. 요즘 업무에 AI를 활용하지 않는 분은 없을 거라 생각합니다. 다만 사용하는 방식은 다들 제각각이겠죠. 제 경우를 말씀드리면, 집에서는 OpenClaw 같은 개인 비서형 AI를 쓰고 있습니다. 어제 뭘…
글. 박준희(Kuiper) / 숙박플랫폼개선TF팀 안녕하세요. 여기어때 숙박플랫폼개선TF팀 박준희(카이퍼)입니다. 1편에서 OpenTelemetry Collector 로 span 을 받아 ClickHouse 에 쌓는 데까지 다뤘습니다. 요약하면 이렇습니다. 이제 이 데이터를 화면으로 만…
글. 박준희(Kuiper) / 숙박플랫폼개선TF팀 안녕하세요. 여기어때 숙박플랫폼개선TF팀 박준희(카이퍼)입니다. APM 도구를 써보신 분이라면 이런 화면을 보신 적이 있으실 겁니다. 가로축은 시간, 세로축은 응답시간, 그리고 요청 하나하나가 점으로 흩뿌려지는 산점도. 이 시리즈가 끝나…
글. 신영민(Gladi) / 서비스QA팀 안녕하세요. 여기어때컴퍼니 서비스QA팀 글라디입니다. 오늘은 입사 후 겪은 업무 변화에 대해 이야기해보려고 하는데요. QA라는 직무의 틀은 같지만, 검증 대상, 즉 업무 영역이 바뀐다고 해서 검증 과정이 얼마나 달라지는지 한번 이야기해보겠습니다.…
글. 한동현(Noah) / Product Brand Designer 안녕하세요, 여기어때 플랫폼 디자인팀의 노아입니다. 플랫폼 디자인팀은 여기어때의 프로덕트와 인터널 브랜딩 전반에서 일관된 디자인을 만들어가고 있어요. AI를 활용하면서 비주얼 디자이너가 할 수 있는 일도 점점 넓어지고…
글. 안소진(Heidi) / UX Designer 지난 글에서는 여기어때 홈이 가진 문제를 짚고, 카드의 형태보다 각 모듈의 역할을 먼저 정의해야 한다는 방향을 세웠습니다. 이번 글에서는 그 방향을 실제 화면으로 옮긴 과정을 공유합니다. 각 모듈이 고객의 어떤 일을 대신 해줘야 하는지…
글. 이유정(Yuu) / Platform Designer 홈은 고객이 가장 먼저 마주하는 화면으로, 서비스가 제공하는 다양한 가치를 발견하고 새로운 탐색을 시작하는 공간입니다. 여기어때 역시 홈을 통해 국내 숙소부터 해외 숙소, 항공까지 여러 가지 상품과 혜택을 소개하며 고객에게 폭넓은…
글. 이예슬(Sophia) / 서비스웹개발팀 안녕하세요. 서비스웹개발팀 소피아입니다. 올여름 국내 숙소 검색에 다중 카테고리 선택과 동적 필터를 적용하면서, 개발 프로세스 실험을 하나 함께 진행했습니다. QA가 테스트 케이스(TC)를 개발이 끝나기 전에 넘겨주면, 개발자가 그 TC를 실…
글. Remy(유정인) / 검색플랫폼개발팀 요약: EC2에서 EKS로 옮긴 뒤 두 시간마다 메모리가 500MB씩 튀었습니다. 원인은 로그 gzip 압축과 페이지 캐시였습니다. 안녕하세요. 검색플랫폼개발팀 레미입니다. 토요일 새벽 한 시가 다 된 시각에, 메모리 사용률이 90%를 넘었다는…
글. 구혜준(Hazel) / SRE팀 이 글은 2부작입니다. (1/2) AI는 읽고, 코드는 계산합니다 — Smart RI Calc (2/2) 틀린 걸 없애기보다, 틀린 게 보이게 — Alert Adviser (현재 글) 안녕하세요, 여기어때컴퍼니 SRE팀에서 클라우드 엔지니어링 업무를…
글. 구혜준(Hazel) / SRE팀 이 글은 2부작입니다. (1/2) AI는 읽고, 코드는 계산합니다 — Smart RI Calc (현재 글) (2/2) 틀린 걸 없애기보다, 틀린 게 보이게 — Alert Adviser 안녕하세요, 여기어때컴퍼니 SRE팀에서 클라우드 엔지니어링 업무를…
글. 김민승(Miles) / 유저혜택개발팀 안녕하세요. 여기어때 유저혜택개발팀 마일스입니다. “리액티브로 바꿨더니 4배 빨라졌습니다.” 부하 테스트 보고서 초안에 호기롭게 적었던 문장입니다. 하지만 이 보고서는 이후 몇 번이고 고쳐 쓰여야 했습니다. 결국 남은 최종 결론은 처음과 완전히…
글. 김민우(Kyle) / 유저혜택개발팀 안녕하세요. 유저혜택개발팀의 카일입니다. 이번 글에서는 동시성 문제를 다루면서 직접 겪었던 고민과, 그 과정에서 배운 락과 데드락에 대한 제 생각을 공유해보고자 합니다. 신규 유저가 상품을 구매하고 이용을 완료하면 결제 금액의 일부를 포인트로 지…
글. 김민우(Kyle) / 유저혜택개발팀 안녕하세요. 유저혜택개발팀 카일입니다. 연차 날 아침이었습니다. 느긋하게 커피를 마시며 오늘 하루를 어떻게 알차게 보낼지 행복한 고민을 하던 참이었습니다. 슬랙 알림 하나가 평화를 깨뜨렸습니다. “쿠폰 복원이 안 돼요. 사용 취소한 쿠폰이 복구가…
안녕하세요! 여기어때의 조직문화와 사람 이야기를 전하는 <컬처 라운지>입니다. 😊 지난 3편에 걸쳐 서류 지원부터 대망의 입사 첫날 ‘웰컴 세션’까지의 여정을 함께 살펴보았는데요. 혹시 글을 읽으시면서 이런 걱정이 들진 않으셨나요? ‘첫날 오후 3시, 온보딩 교육이 모두 끝나고 나면……
Aurora MySQL의 숨겨진 idle close 동작 — HikariCP "Failed to validate connection" 추적기 1. 들어가며 안녕하세요. 여기어때컴퍼니 숙박플랫폼개선TF팀 카이퍼입니다. 운영 중에 “즉시 장애는 아니지만 분명 무언가 잘못된” 류의 WARN…
AI 코딩 도구를 처음 써보면 대부분 비슷한 경험을 합니다. 빠르긴 한데, 그대로 쓸 수는 없습니다. 정책을 모르고, 컨벤션을 안 지키고, 같은 요청에도 매번 다른 결과가 나옵니다. 결국 사람이 하나하나 확인하고 고쳐야 해서, 빨라진 만큼 검증 비용이 따라붙습니다. 저희 회사에는 월요일…
여기어때 입사 첫날은 어떤 모습일까? 지난 Interview Journey Ep.2 에서는 떨리는 인터뷰 당일의 풍경을 함께 살펴보았는데요. 오늘은 이번 시리즈의 마지막 에피소드 ‘입사 첫날’ 이야기를 들려드리려고 해요.😊 여기어때 구성원으로서 경험하게 되는 설레는 첫 출근과 온보딩 과…
들어가며 안녕하세요. 여기어때 상품개발팀 로지입니다. “MSA로 가야 하지 않을까요?” 서비스가 커지면 흔히 나오는 이야기입니다. 모놀리스에서 기능이 늘어날수록 코드 간 의존이 복잡해지고, 배포 한 번에 전체 서비스가 영향을 받는 상황이 반복되면 자연스럽게 MSA를 떠올리게 됩니다. 하…
안녕하세요. 서비스웹개발팀의 헨비입니다. 이번 글에서는 Sentry 같은 상용 도구를 바로 도입하는 대신, 200줄 수준의 작은 클라이언트 에러트래커를 만든 이유와 후기를 정리해보겠습니다. 현재는 직접 만든 작은 도구와 클라이언트 에러 수집·집계·Slack 알림이라는 핵심 기능으로 운영…
안녕하세요. 여기어때컴퍼니 공통플랫폼개발팀 플랫폼엔지니어 코플 입니다. 이번 글은 Right-Sizing라는 업무를 진행하면서 기준을 정하고 활용해 얻은 경험을 공유하는 글을 작성했습니다. Right-Sizing 란 무엇일까? Right-Sizing이란 Kubernetes 환경에서 각…
1. 들어가며 안녕하세요. 숙박플랫폼개선TF팀 카이퍼입니다. 배포는 늘 긴장의 순간입니다. 특히 운영 환경에서 실시간 트래픽을 받고 있는 서비스의 새 버전을 내보낼 때, “이번에도 무사히 넘어가겠지” 라는 막연한 기대에 기대고 계시다면 이미 위험 신호일 수 있습니다. 저희 팀은 EKS…
안녕하세요 여기어때컴퍼니 백오피스웹개발팀 기리입니다. 저희 팀은 여기어때 통합CMS를 관리하고 있습니다. 10여 개 Next.js 앱을 하나의 모노레포에서 운영하고 있는데, 배포할 때마다 약 14분을 기다려야 했습니다. 앱은 계속 추가되고 있었기 때문에, 손을 대지 않으면 배포 시간은…
글. 최서연(Effie) / UX Designer 여행을 준비하며 숙소를 고를 때, “이 숙소에 쿠폰이 적용될까?”, “지금 받는 혜택이 최대 혜택이 맞을까?” “지금 예약 안하면 쿠폰 할인이 바뀌지 않을까?” 같은 고민을 해본 적 있으실 거예요. 저 역시 고객이 체감하는 쿠폰 혜택 경…
떨리는 인터뷰 당일, 어떤 하루를 보내게 될까요? 안녕하세요. 여기어때의 합류 여정을 담은 기획 시리즈 Interview Journey 두번째 에피소드 입니다. 지난 1편에서는 서류 합격 후 인터뷰를 준비하는 과정과 유용한 꿀팁들을 전해드렸는데요. 준비 과정의 막막함이 조금은 해소되셨나…
안녕하세요. DevOps팀 아리입니다. 지난 1편에서는 시스템의 탄생 배경을 다뤘다면, 이번 글에서는 NotiHub의 기술적 설계와 그 과정에서 내린 주요 의사결정들을 깊이 있게 공유하고자 합니다. 1. 왜 만들었는가 인터널 툴에는 두 가지 측면이 있습니다. 조직적 측면과 개인적 측면입…
안녕하세요. DevOps팀 아리입니다. 이번 글에서는 여기어때의 이벤트 기반의 통합 알림 플랫폼인 Notification Hub를 왜 구축했는지, 그 과정에서 어떤 어려움이 있었고 어떻게 풀어나갔는지를 공유해보려고 합니다. Notification Hub를 어떻게 구축했는지, 기술적으로…
안녕하세요. 서비스웹개발팀의 헨비입니다. 이번 글에서는 React와 Vue를 함께 지원하는 디자인 시스템을 직접 만들고 배포/운영하면서, 왜 결국 “모든 것을 동일하게 지원”하는 전략에서 “운영 가능한 범위를 선택하는 전략”으로 전환했는지 정리해보려고 합니다. 처음에는 core + re…
안녕하세요 여기어때컴퍼니 프론트엔드 개발자 동글입니다. 개발을 하다 보면 기능 구현보다 더 많은 시간을 잡아먹는 일이 있습니다. 바로 기획 문서를 읽고, 이해하고, 태스크로 쪼개는 과정입니다. Confluence에 정리된 기획서를 읽고, 각 작업자들과 태스크를 나누고, 직접 Jira에서…
안녕하세요. 여기어때컴퍼니 항공연동개발팀(전 BFF개발팀) 리나입니다. 이번 글은 올해 2월까지 BFF개발팀으로서 근무하며 경험했던 내용을 바탕으로, “왜 BFF가 필요했는지” 그리고 “BFF팀이 어떤 역할을 수행했는지”를 정리한 기록입니다. 여기어때는 주문, 검색, 쿠폰, 리뷰, 항공…
여기어때에서는 1년에 두 번, 현장실습생을 채용하고 있어요. 2025년 하반기에는 총 16명의 실습생이 함께해 주셨는데요. 기술·영업·인사 등 다양한 직무 속 각자의 자리에서 멋지게 활약해 주셨답니다! 오늘은 각 직무에서 경험한 생생한 현장실습 후기를 들려드리려고 해요. Get 주디Ju…
여기어때 Secret 플랫폼 구축기 Part 3: 시크릿 저장소를 운영 가능한 상태로 만들기 — 컨테이너화부터 CI/CD, 로그 수집까지 안녕하세요 여기어때컴퍼니 DevOps팀 다나입니다. 앞선 두 편에서 Secrethub가 무엇인지, 어떻게 설계했는지를 다뤘습니다. 이번 글에서는 설계…
여기어때 Secret 플랫폼 구축기 Part 2: 시크릿 저장소를 전체 서비스에 적용하기까지 안녕하세요, 여기어때컴퍼니 DevOps팀 셀린입니다. 지난 글에서는 Secrethub를 왜 도입하게 되었는지 이야기했습니다. 이번 글에서는 그 다음 단계, “그래서 어떻게 적용했는가!”에 대해…
안녕하세요, 여기어때컴퍼니 DevOps팀 셀린입니다. 여기어때 DevOps팀은 Secret 중앙 관리 플랫폼, Secrethub를 구축했습니다. 어떤 배경과 문제의식에서 시작했는지, 그리고 그 과정 속에서 어떤 선택과 개선을 거쳐 발전해왔는지를 총 3편에 걸쳐 이야기해보려 합니다. 들어…
안녕하세요, 백오피스웹개발팀 꼼비입니다. 이 글은 AI 코딩 에이전트를 도입한 뒤, 단순히 “빠르게 코드 생성하기”를 넘어서 에이전트가 어떻게 생각하고 일할지를 설계한 과정을 정리한 글이에요. Chain of Thought를 결합한 6단계 인지 흐름 모델, .claude/ 기반 규칙 체…
안녕하세요, Business Insight팀 데이터 분석가 이준수(루카)입니다. 여행을 준비하다 보면 피치 못할 사정으로 예약을 취소해야 하는 순간이 옵니다. 플랫폼 입장에서는 ‘취소’가 아쉬운 지표일 수 있지만, 데이터를 깊이 들여다보면 취소는 단순한 이탈이 아니라 ‘더 나은 조건을…
글. 김선일(Nathan), 김지영(Terna), 명고운(Ines), 임용태(Scott) 부제: 스스로 ‘레시피’를 바꾸고 ‘역량’을 확장하는 성장 시스템 요즘 업계의 화두는 ‘AI를 통한 효율화’ “어떻게 하면 더 적은 리소스로, 더 빨리 산출물을 낼 수 있을까?” 많은 조직이 이 질…
안녕하세요. 여기어때컴퍼니 자동화QA팀 릴리입니다. 내 PC에선 성공하는데 CI 파이프라인에서는 실패하는 테스트, 원인을 알 수 없는 간헐적 오류들을 한 번쯤 겪어보셨나요? 오늘은 고질적인 Flaky Test 문제를 해결하기 위해 Robot Framework에서 Playwright로 마…
안녕하세요! 많은 분들의 즐거운 여행을 책임지는 여기어때컴퍼니 자동화QA팀 로미입니다. 저희 App이 어떤 프로세스를 통해 지금의 품질을 유지하며 스토어에 배포되는지 궁금하지 않으신가요? 저희 팀은 작은 기능 하나도 놓치지 않고 최고의 서비스를 제공하기 위해 노력하고 있습니다. 저는 여…
Android 에서도 On-Device AI(온 디바이스 AI) 를 사용 할 수 있다는 사실을 알고 계셨나요? 지난해 여기 어때 해커톤 대회에 참여하여 직접 프로젝트에 적용해 볼 기회가 있었습니다. 당시 개발 과정에서 미리 경험해 볼 수 있었던 온 디바이스 AI의 기능들을 이번 글을 통…
안녕하세요. 여기어때 서비스웹개발팀에서 웹사이트 개발을 담당하고 있는 브루노입니다. 인피니트 스크롤, 요즘 앱이라면 다 있는 기본 기능이잖아요? 그래서 저도 가볍게 덤볐습니다. “뭐, 라이브러리 쓰면 금방이지!” 하고요. 그런데 개발을 하다 보니 자꾸 이상한 일이 생기는 겁니다. 스크롤…
안녕하세요. 여기어때 랭킹추천개발팀 존 입니다. 오늘 공유할 내용은 고가의 GPU 장비를 기반으로 하는, 복잡하고 거대한 모델링에 관한 이야기가 아닙니다. 물론 모델의 구조가 복잡하고 클수록 더 뛰어난 성능을 발휘하는 것이 일반적이지만 해결하고자 하는 문제에 따라서는 가벼운 고전 모델을…
동적 필터란 사용자가 선택한 조건에 따라 이용 가능한 제휴점 수가 실시간으로 반영되어 노출되는 필터를 의미합니다. 사용자가 필터를 선택할 때마다 해당 조건을 만족하는 제휴점 수를 기준으로 필터 상태가 동적으로 변경되며 이를 통해 보다 직관적인 탐색 경험을 제공합니다. 특히 동적 필터는…
여기어때가 새해를 맞이하는 방법 어느덧 한 해의 끝자락이 다가왔어요. 다들 2025년 한 해 마무리는 잘 하셨나요? 여기어때는 올해도 변함없이 구성원과 함께 한 해를 기념하는 특별한 시간을 가졌어요. 이번에는 Culture TF 5기 멤버들이 똘똘 뭉쳐 그 어느 때보다 ‘여기어때스러운’…
안녕하세요. 여기어때컴퍼니 SRE팀에서 클라우드 엔지니어링 업무를 하고 있는 제이슨입니다. 매년 12월이 되면 전 세계 IT 종사자들의 시선이 라스베이거스로 향합니다. 이번 AWS re:Invent 2025 역시 12월 1일부터 5일까지 개최되었는데요. 지난 2년이 “와~ 이런 것도 A…
시스템 아키텍처 먼저 우리 시스템 구조를 이해해야 합니다. [클라이언트] ↓ [Web API] ← 우리가 개선한 부분 ↓ ├─→ [Search API] : 키워드, 필터 등을 기반으로한 검색팀 API └─→ [표준 상품 API] : 상품 정보 조회 API (최저가 계산) 각 서버의 역할…
안녕하세요, 여기어때 전시개발팀 백엔드 개발자 엉입니다. 과거 웹 서비스 개편 프로젝트를 진행하면서 기존 PHP 기반 시스템을 대체할 새로운 백엔드를 Kotlin으로 구축한 경험이 있습니다. 신규 시스템 설계 단계에서 복잡한 숙박 상품 전시 로직을 명확하게 표현하기 위해 KotlinDS…
안녕하세요 여기어때컴퍼니 공통플랫폼개발팀 소피입니다. 2024년 11월에 공통 Kafka 전환기 Part 1 포스팅에서 공통 Kafka 전환 배경 및 전략에 대한 내용을 공유드렸었는데요. 1년여간 긴 여정을 통해 최종적으로 도메인 팀에서 운영되던 8개의 Kafka 클러스터 대상으로 전사…
안녕하세요! iOS 개발팀 대니입니다. 여기어때 앱에서 검색 화면은 사용자 여정이 시작되는 곳입니다. 국내외 숙소부터 항공, 레저티켓까지 다양한 도메인을 한곳에서 탐색할 수 있어야 하죠. 하지만 기능이 고도화될수록 코드는 복잡해졌고, 도메인별로 상이한 추천 로직과 UX가 얽히면서 작은…
안녕하세요! 여기어때 전시개발팀 조이입니다. 숙박도메인이란? 여기어때 숙박 서비스는 호텔, 모텔, 펜션 등 다양한 숙소의 가격 정보를 제공합니다. 각 숙소는 날짜별/요일별 기본 가격이 있으며, 여기에 특가, 쿠폰, 더하기쿠폰 등 다양한 할인 정책이 적용되어 최종 가격이 동적으로 결정됩니…
안녕하세요. 여기어때컴퍼니 SRE팀에서 클라우드 업무를 담당하고 있는 엘리입니다. 여기어때 서비스 전반의 모니터링을 통합적으로 관리하기 위해 Observability 스택 LGTM을 25년에 도입했습니다. 처음 도입할 때는 Grafana를 제외하면 나머지 구성 요소를 직접 다뤄본 경험이…
0. 프롤로그 이번 글에서는 피그마 플러그인 ‘여기쏙 2.0’ 개발 과정을 중심으로, 극한의 성능 향상을 위해 서비스를 바닥부터 다시 설계한 이야기를 공유하려 합니다. 우선 시간을 되돌려 2024년 7월, ‘여기쏙 1.0’을 런칭했을 때의 기억은 제게 특별하게 남아있습니다. 사용자가 불…
Featured 글. 정종민(Green), 한동현(Noah) / Platform Design Team 안녕하세요, 여기어때 플랫폼 디자인팀의 그린, 노아예요. 플랫폼 디자인팀은 여기어때의 프로덕트와 인터널 전반에서 시각적 일관성을 만들어가는 팀이에요. 브랜드의 방향성과 사용자 경험이 하…
안녕하세요, 서비스웹개발팀의 멜로디입니다! 지난 글에서는 Figma 플러그인 ‘여기쏙’이 실제 데이터를 사용할 수 있도록 프록시 서버를 구축한 과정을 소개했어요. 이번 글에서는 이 프록시 서버와 연동해, 플러그인에서 실데이터를 어떻게 받아와 적용했는지 이야기를 이어가 보려고 합니다. 개…
시작하며 안녕하세요, 서비스웹개발팀의 멜로디입니다! 오늘은 디자이너의 생산성을 높여주는 Figma 플러그인 이야기를 해보려 합니다. Figma는 화면을 제작하는 디자이너와 이를 구현하는 프론트엔드 개발자 사이에서 이미 필수 협업 도구로 자리 잡았는데요. 저희 팀은 여기어때의 다양한 디자…
안녕하세요~ 여기어때 랭킹추천팀에서 랭킹 추천 개발을 하고 있는 웨일입니다! 여기어때 검색 서비스 중 좌표기반 검색은 Elasticsearch( 이하 ES )를 활용하여 다양한 방식의 검색 및 정렬을 제공하고 있습니다. 특히 나의 위치나 특정 위치에서 특정 반경 내 검색을 하는 반경검색…
글. 최다희(Ella) / UX Designer 그동안 마케팅 파트너 서비스는 링크 생성부터 정산, 중요 공지 전달까지 대부분 수기 기반으로 관리되어 왔는데요. 비즈니스 규모가 커질수록 효율성과 안정성 확보가 중요한 과제로 떠올랐죠. 프로젝트 초기에는 서비스 정책과 기능의 우선순위를 함…
1. 프로젝트 개요 — 분산된 데이터의 통합 필요성 안녕하세요. 여기어때 검색플랫폼개발팀 도비 입니다. 여기어때의 검색 서비스는 국내 숙소, 해외 숙소, 관광지 등 다양한 도메인별 데이터 소스를 기반으로 발전해왔습니다. 초기에는 각 도메인에 맞춘 빠른 검색 품질을 유지하는 데 효과적이었…
1. 시작하며 안녕하세요, 여기어때컴퍼니 서비스웹개발팀의 엘라입니다. 이번 글에서는 새롭게 도입한 고객 상담 시스템 프로젝트에서 겪은 기술적 고민과 해결 과정을 공유합니다. 이번 프로젝트의 목표는 고객이 카카오 채널이 아닌 여기어때 앱/웹에서 바로 상담받을 수 있는 환경을 만드는 것이었…
안녕하세요 여기어때 랭킹추천개발팀의 오션입니다. 이번에 여기어때에 새로 추가 된 검색 광고에 대해 소개드립니다. 여기어때의 검색 랭킹 시스템은 단순한 정렬 알고리즘이 아닙니다. 수많은 비즈니스 로직과 사용자 경험 요소가 얽혀 있는 꽤나 복잡한 구조의 시스템 입니다. 최근 우리팀은 랭킹…
안녕하세요. 여기어때컴퍼니 파트너웹개발팀 주나입니다. 지난 글 우리 팀 코드 스타일을 아는 AI 만들기: RAG와 Vector DB 활용기에서는 ‘레포 청킹 임베딩 과정’을 소개해드렸는데요, 이번 글에서는 그 기술을 실제로 적용해 만든 사례를 공유하려 합니다. 저희는 이를 활용해 테스트…
안녕하세요. 여기어때컴퍼니 프론트엔드 개발자 발락입니다. 최근 저희 조직에서는 AI와 LLM 활용 역량 강화를 적극 독려하고 있으며, 각 팀에서 업무 효율화를 위한 다양한 시도들이 이뤄지고 있습니다. 저 역시 평소 개발 생산성 향상에 관심이 많아, 반복적이고 귀찮은 작업들을 자동화하여…
여기어때 컬처북 제작기(2) — 디자인편 지난 1편에서는 여기어때만의 문화를 공고히 하기 위해, 리더십원칙 리뉴얼 스토리와 컬처북 제작 배경을 들려드렸어요. 기획의 큰 그림을 그렸다면, 이제 색을 입힐 차례겠죠? 2편에서는 리뉴얼된 리더십원칙을 심볼과 일러스트로 디자인하는 과정, 그리고…
Android Compose의 LazyList를 최적화하는 방법은 여러 가지가 있습니다. 이 글에서는 그중 key 사용과 stable 상태에 따라 어떤 결과가 나타나는지를 중심으로 살펴보겠습니다. 테스트 환경 실험을 위한 환경은 Compose에서 Stable을 가볍게 보면 안 되는 이유…
안녕하세요. 여기어때컴퍼니 SRE팀에서 클라우드 엔지니어링 업무를 하고 있는 제이슨 입니다. 최근 여기어때 고객센터 신규 구축 프로젝트를 진행하면서 세일즈포스(Salesforce) SaaS 솔루션을 AWS PrivateLink를 이용해서 구성하는 작업을 진행 했습니다. 이 과정에서 Pr…
안녕하세요. 검색플랫폼개발팀 아론입니다. 대규모 애플리케이션을 개발하다 보면 코드가 점점 커지고 복잡해져서, 관리가 어려워지는 순간이 오죠. 저도 그런 시점을 몇 번 겪으면서 “이걸 어떻게 더 깔끔하고, 중복 코드 없이 유지할 수 있을까?” 고민하게 됐습니다. 특히 최근에 팀에서 검색…
Featured AI 기술을 활용한 3D 브랜디드 영상 제작기 이번에 소개할 내용은 여기어때 콘서트팩 Vol.8 원주편을 위한 CGI(Computer-Generated Imagery) 영상 프로젝트예요! 지금까지의 콘서트팩 영상들과는 다른 새로운 접근을 시도했어요. 기존에는 일반 촬영…
글. 오미람(Rami) / UX Designer 여기어때 앱 안에 광고를 노출시키려면 어떤 과정이 필요할까요? 광고 노출을 위해 기능을 설계하고 개발하는 것도 중요하지만 특히 모텔 카테고리의 경우 영업 사원과 운영팀의 역할이 커요. 여기어때 영업 사원들은 모텔, 호텔, 펜션 등 카테고리…
변화하는 세상 속에서 요즘 우리 주변을 둘러보면 모든 것이 빠르게 변하고 있다는 걸 느낀다. 특히 기술 분야의 변화 속도는 정말 놀랍다. 어제까지 최신 기술이라고 여겨졌던 것들이 오늘은 당연한 것이 되고, 내일이면 또 새로운 기술로 대체된다. 여기어때도 예외는 아니다. 숙박 플랫폼 시장…
Featured 여행도 하고 지구도 지킨다, 여기어때 쓰봉크럽 디자인 리뉴얼 여기어때의 오리지널 콘텐츠, <쓰봉크럽>의 새로운 얼굴을 소개합니다. 지난 글 🔗여기어때가 오리지널 콘텐츠를 만든 이유 Vol.2 에서 쓰봉크럽의 시작에 관한 고민을 이야기했다면, 이번에는 더 많은 분들과 함께…
내 데이터는 어디에서 처리될까? 스마트폰을 열면 AI 기능이 넘쳐납니다. 사진 자동 분류, 메시지 요약, 외국어 번역, 전화 응답까지. 그런데 문득 이런 의문이 듭니다. “이 기능들, 내 데이터는 어디에서 처리되는 걸까? 내 개인정보가 서버로 전송되는 건 아닐까?” 이 질문은 곧 온디바…
1. 들어가며 안녕하세요, 여기어때컴퍼니 DevOps팀 클로이입니다. 지난 ‘CI/CD 개선기’ 시리즈에서는 DevOps팀이 하나의 표준화된 CI/CD 파이프라인을 구축하는 과정을 공유드렸습니다. 하지만 여전히 알림 프로세스에는 개선할 여지가 남아 있었습니다. 알림 기준과 구현 방식이…
안녕하세요, 여기어때컴퍼니 DevOps팀 주피터입니다. 지난 3편에서는 공통 Helm Chart를 위한 저장소(Registry)를 마련했는데요, 이번 글에서는 그 안에 채워질 ‘공통 Helm Chart’를 어떻게 설계했는지 본격적인 이야기를 시작해보려고 합니다. 지난 3편에서는 흩어져…
안녕하세요! 여기어때컴퍼니 DevOps팀 제이입니다. 😊 저희 팀은 여기어때컴퍼니 Tech 조직 내 개발자들의 업무 몰입을 위한 개발 환경과 체계를 만들어가는 조직으로, 조직별로 상이한 개발 환경을 통합하고 운영하고 있습니다. 이번 글에서는 신규 CI/CD Pipeline에서 어떻게 공…
안녕하세요 여기어때컴퍼니 DevOps팀 주피터입니다 DevOps팀은 여기어때컴퍼니 Tech 조직내 개발자들의 업무 몰입을 위한 개발 환경과 체계를 만들어가는 조직으로 조직별로 상이한 개발 환경을 통합하고 운영하고 있습니다. 이번에 다룰 주제는 모두를 위한 CI/CD 개선기 2편, CI…
안녕하세요 여기어때컴퍼니 DevOps팀 주피터입니다 DevOps팀은 여기어때컴퍼니 Tech 조직 내 개발자들의 업무 몰입을 위한 개발 환경과 체계를 만들어가는 조직으로 조직별로 상이한 개발 환경을 통합하고 운영하고 있습니다. 이번에 다룰 주제는 여기어때 Tech 조직의 모두를 위한 CI…
Android Compose를 사용할 때 안정성(Stability) 은 결코 가볍게 넘길 수 없는 핵심 주제입니다. 안정성이 지켜져야만 Compose가 불필요한 재구성을 건너뛰고 성능을 유지할 수 있기 때문입니다. 이를 위해 개발자가 따라야 할 몇 가지 규칙이 존재하지만, 문서나 예제만…
안녕하세요 여기어때컴퍼니 QA2팀 스칼렛입니다. 오늘은 제가 Playwright를 활용하여 검증 과정에서 겪었던 비효율을 해소하고, 생산성을 극대화했던 경험을 공유하고자 합니다. 특히, 반복적인 수동 작업에 지쳐있던 분들이라면 이 글이 도움이 될 것이라고 생각합니다. 기능 구현의 배경:…
안녕하세요. 서비스웹개발팀의 프론트엔드 개발자 헨비입니다. 이번 고객센터 채팅 상담 프로젝트는 Web과 Mobile Web, 그리고 “여기어때” 앱 내의 WebView(Android/iOS) 환경에서 동시에 작동하는 서비스입니다. 실시간 상호작용과 멀티 디바이스 환경에서 안정성을 보장하…
안녕하세요, 여기어때컴퍼니 파트너웹개발팀 쥴리입니다. 저희 팀은 효율적인 개발 환경을 만들기 위해 꾸준히 개선하고, 새로운 방식을 도입하고 있습니다. 이 플러그인을 도입한 이후, Typography 컴포넌트를 작성하는 데 걸리는 시간이 30초에서 5초 미만으로 줄어드는 등 UI 개발 속…
안녕하세요. 여기어때 기술기획팀 크림슨 입니다. Jira 를 활용하는 부서들이 많아지다 보니, Admin.으로 회사의 Jira 를 관리하면서 간단한 문제를 문의하는경우가 있습니다. 특히 필드의 구성이나 Filter 같은 것들을 활용해서 대시보드의 생산성을 높이는 고민들은 누구나 하고 있…