CI/CD에 기존 Provisioning Profile 유지하기(Git으로 유지하기)
provisioning profile 관리하기 기존 다나와 서비스는 개발자 각자의 develop용 provisining profile과 distribution용 provisining profile을 갖고 있었습니다. 왜냐하면 다나와 서비스가 ConnectWave로 합류하게 되면서 ConnectWave iOS 개발자 계정 내에 많은 앱들과 함께하게 되었거든요. 그래서 다음과 같은 제약사항이 있었습니다. Distribution 용은 서비스(앱) 당
BackendCI/CDMobileiOS
다나와 PC견적 Tuist 도입기
안녕하세요 커넥트웨이브 통합App개발팀 iOS Platform Developer로 일하고 있는 최인호입니다. 오늘은 PC견적의 대변화 중에서 Tuist 관련된 이야기를 하고자 합니다. 기존의 PC견적 다나와 PC견적 iOS앱은 2012년 4월 23일에 세상에 나와, 벌써 출시된 지 12년이 넘은 앱입니다. 다나와 PC 견적은 10만 개의 풍부한 상품 정보와 PC전문 판매점의 가격 정보를 제공하여 조립 PC의 구성부터 제품의 호환성 검사, 제품
ArchitectureMobileToolsiOS
다나와 검색의 색인 최적화 사례
다나와 검색의 동적 색인 최적화 사례 안녕하세요, 커넥트웨이브 다나와 검색Backend팀 곽명환입니다. 다나와 검색은 각 상품 쇼핑몰 협력사로부터 제공받은 상품 데이터를 다나와의 기준 상품과 매칭하여 최저가를 비교하는 서비스를 제공합니다. 협력사가 많은 만큼 데이터의 양도 방대하며, 현재 약 10억 개이상의 상품 데이터를 운영 중입니다. 이러한 상품들의 재고 및 상태는 매 분, 매 초 단위로 변화하기 때문에 실시간 데이터 최신화가 필수적입니다.
BackendDatabasePerformance
검색파트의 반복 작업 자동화 과정
소개 안녕하세요. 다나와에서 검색 서비스를 개발하고 있는 곽명환입니다. 오늘은 주기적으로 들어오는 요청의 자동화에 대해서 소개해보도록 하겠습니다. 문제점 검색 서비스 담당팀은 정기적으로 변화하는 처리 키워드와 비 처리 키워드를 업데이트하며, 이를 검색 팀에 처리 요청합니다. 처음에는 관련 위키를 참조하며 대응했으나, 몇 가지 문제점을 파악했습니다. 첫째, 정기적인 요청에도 불구하고, 모든 프로세스를 기억하는 것이 아니라서, 매번 관련 문서를 찾
BackendDevOpsTools
다나와 Kotlin을 만나다!
소개 안녕하세요. 다나와 검색 파트 장민규, 오피스 파트 윤성현, 이주영입니다. 다나와에는 많은 기술 스택을 보유 하고 있습니다. Java, PHP, Go, Python 등 다양한 언어를 사용하고 있으며, 최근에는 Kotlin을 도입하여 사용하고 있습니다. 이번 포스팅에서는 Kotlin을 도입하게 된 이유와 어떻게 사용하고 있는지 소개하겠습니다. 왜 Kotlin을 사용하게 되었나요? 장민규: Kotlin을 시작하게 된 이유 단순했습니다. ‘요즘
AndroidBackendKotlin
다나와 웹 트래픽 로그 데이터 분석 시스템 도입기
개요 안녕하세요. 다나와에서 데이터 파트를 맡아 진행하고 있는 선지호입니다. 다나와에서는 웹 트래픽 로그 데이터 분석을 위해 새로운 내부 서비스를 구축 했습니다. 이 과정중에 저희가 했던 많은 고민과 결정을 공개하여 다나와를 관심있어하는 여러분들께 하나의 사례를 공유해 볼까 합니다. 여정 저희의 여정은 이렇습니다 1) 정책 및 필요조건 정하기 2) 유비쿼터스 언어 사전 만들기 3) 아키텍처 및 기술 검토 4) 데이터 포맷 선정 5) 데이터 필터
ArchitectureBackendData AnalysisData Engineering
다나와의 상품 색인 파이프라인
상품 색인 파이프라인 소개 안녕하세요. 다나와에서 검색 서비스를 개발하고 있는 곽명환 입니다. 오늘은 검색 개발팀에서 사용하고 있는 동적 색인 서비스의 흐름과 해당 서비스의 문제점, 해결 방안을 소개해 보도록 하겠습니다. 다나와에서는 약 11억건의 상품 데이터를 보유하고 있습니다. 대용량 데이터를 실시간에 가까운 속도로 처리하고, 전문 검색 등이 가능할 수 있도록 RDBMS 대신 엘라스틱 서치를 채택해 검색 엔진으로 사용하고 있습니다. 상품 데
BackendData EngineeringElasticsearchSearch
다나와의 상품 데이터 여정
다나와 상품 데이터 다나와에는 컴퓨터 부품부터 시작하여 옷, 가전, 가구 식품 등등 많은 다양한 상품들이 있습니다. 이 많은 상품 데이터들은 다나와에서는 어떻게 가지고 관리하고 있을까요? 데이터 흐름도 우선 데이터 흐름도를 보기 전에 일부 용어를 설명하고 가겠습니다. 기준 상품: 다나와에서 자체적으로 만든 상품입니다, 상품 클릭 시 링크 상품들이 모여있는 상세페이지로 이동합니다. 링크 상품: 기준 상품과 연결된 상품으로, 클릭 시 해당 제품의
BackendData EngineeringDatabaseMonitoringPerformance
Elasticsearch 3TB의 인덱스를 reindex 하는 방법
10억 문서 색인의 필요성 현재 다나와에서 가지고 있는 상품수는 10억건 이상입니다. (점점 더 증가하는 추세) 그만큼 검색 품질을 높이기 위한 방안도 수립중인데요. 특히 사전 변경 대한 적용과 Mapping 변경 시 이를 위해 매주 reindex를 수행하고 있습니다. 이 문서에서는 대용량 인덱스에 대한 reindex를 도입하면서 겪었던 이슈와 해결 방안, 현재 결과에 대해 다루고 있습니다. 추가적으로, 속도와 안정성을 높이기 위해 어떤 조치를
Data EngineeringElasticsearchPerformance
IntelliJ chatGPT Plugin Setting
IntelliJ chatGPT 플러그인 ? 일반적으로 IntelliJ 플러그인을 사용하면 소프트웨어 개발에 필요한 여러가지 도구를 사용할 수 있습니다. ChatGPT와 관련하여, OpenAI에서 제공하는 API를 사용하여 플러그인을 사용할 수 있습니다. 이 플러그인을 사용하면 IntelliJ 챗봇과 같은 대화형 도구를 이용할 수 있습니다. 보통 브라우저를 통해 이용하기도 하지만 접근성, 실용성 측면에서 IDE에 플러그인을 셋팅하는것이 효율적인
AI AgentBackendJavaTools