그 많던 벡터는 다 어디로 갔을까? Milvus 활용기

우리가 마주한 문제 안녕하세요, 머신러닝 엔지니어 카터입니다. 지난 콘텐츠 기반 필터링 구축기 포스트를 통해 텍스트 임베딩을 활용해 구현한 추천 엔진에 대한 소개를 드린 적이 있습니다. Huggingface + TorchServe + ScaNN 등의 기술 스택으로 구성“되었던” 해당 엔진은 아직까지 Candidate Generator의 역할을 톡톡히 수행해주고 있는 알짜 엔진입니다. 그러나 서비스를 운영하다 보면 항상 더보기…

라이너 이메일 마크업 – 기초편

안녕하세요. 프론트엔드 엔지니어 셀리나입니다. 이메일 코딩은 겉으로 봤을 때는 난이도가 낮아 보이지만, 막상 개발을 시작하면 생각이 180도 달라지게 됩니다. 뜬금없는 테이블 태그부터 당최 이해되지 않은 스타일 대응까지! 🤯 이번 글에서는 이메일 개발은 왜 생각보다 어려운지, 이메일의 핵심은 무엇인지에 관해 소개하겠습니다. 📒 웹 개발과 다른 이메일 여러분 웹 표준을 아시나요? 내가 더보기…

콜드 스타트 사용자에게 콘텐츠 추천을 ! – 트렌드 기반 추천

안녕하세요, 머신러닝 엔지니어 카터입니다. 지난 몇 편의 글들을 통해 라이너가 개인화 콘텐츠 추천을 위해 어떤 방향으로 기술을 발전시켜 나가고 있는지에 대한 소개를 드릴 기회가 있었습니다. 하지만 프로덕트에 적용되는 추천 기술을 개발한다는 의미가 단순히 “로그 데이터가 충분히 쌓여, 개인화 추천에 용이해진 사용자들의 경험”만 챙기겠다는데에 그치는 것은 아닙니다. 플랫폼에 이제 막 진입해 더보기…

우리끼리 풀기 아까워 올리는 React Query 퀴즈 – (1) staleTime & cacheTime

안녕하세요, 프론트엔드 엔지니어 셀리나입니다. 라이너는 일주일에 한 번씩 각 플래닛마다 위클리 미팅을 진행하고 있습니다. 엔지니어링 플래닛은 미팅 시간을 활용해 매주 한 사람씩 돌아가며 리액트 쿼리에 대한 내용을 발제하였고, 주가 거듭될수록 우리끼리만 풀기 아깝다는 생각이 들어 리액트 쿼리 퀴즈를 블로그에도 올리기로 했습니다. 이번주에는 리액트 쿼리의 라이프 사이클과 관련한 퀴즈를 준비했습니다.개념을 간단하게 소개한 더보기…

LINERVA-WALK : Pixie 기반 랜덤 워크 추천 모델링

안녕하세요, 머신러닝 엔지니어 카터입니다. 라이너 기술 블로그를 통해 연재되고 있는 추천 시스템 포스트에 관심을 가져주신 분들이라면, 라이너가 Pinterest의 기술 발전사에 많은 관심을 가지고 있다는 사실을 쉽게 눈치 채셨을 것 같습니다. 실제로 라이너는 Pinterest가 추천 시스템을 구축해온 과정과 앞으로 해결할 문제에 큰 관심을 가지고 있습니다. 많은 기업들이 Pinterest의 기술을 벤치마크하고 있겠지만, 더보기…

콘텐츠 기반 필터링에 PinnerSage 입히기

안녕하세요, 머신러닝 엔지니어 카터입니다. 지난 글에서 공유드린 바와 같이 라이너는 추천 시스템의 여러 꼭지 중 하나로 콘텐츠 기반 필터링을 계속해서 발전시켜 나가고 있습니다. 많은 분들이 이미 알고 계시듯 콘텐츠 기반 필터링은 Cold start 에 강점을 지니며, Sparse 한 사용자-아이템 인터랙션 매트릭스로 인한 추천 모델 학습의 어려움에서 비교적 자유롭다는 장점을 지니고 더보기…

서버 비용 아끼는 법

클라우드 서비스에 첫 가입 후 제공받는 달달한 소규모의 크레딧으로 첫 VM을 띄우며 개발을 시작했던 때가 떠오른다. AWS 같은 경우는 스타트업 프로그램이 잘 되어있고 너무나도 친절하게 자사의 서비스들을 십분 활용할 수 있도록 초기 아키텍처를 잡는 방법들도 알려준다. 여기에 더 나아가 대부분의 대형 클라우드 업체에서는 스타트업을 위해 추가로 크레딧을 제공한다. 커리어 대부분을 더보기…

알림 시스템 구축하기(하) – 웹 푸시 알림을 통해 끊을 수 없는 서비스 만들기

안녕하세요! 프론트엔드 엔지니어로 근무 중인 레오입니다 😁 LINER 개발팀에 합류하고, 하이라이트 유틸리티 툴에서 커뮤니티로 진화하는 과도기에 함께하며 항상 다양한 challenge에 부딪히고, 이를 극복하여 성장하는 경험을 해왔습니다.이 중 처음으로 제가 사이트 밖에 발을 내딛게 해준 웹 푸시 알림 시스템에 대한 이야기를 해보려 합니다. (‘알림 시스템 구축하기(상)’ 편에 이어서 프론트엔드에서 푸시 알림을 더보기…

알림 시스템 구축하기(상) – 유저에게 먼저 다가가는 서비스 만들기

안녕하세요! LINER에서 백엔드 개발을 맡고 있는 토니입니다. 라이너가 하이라이트 유틸리티 툴에서 커뮤니티로 본격적으로 바뀐지 벌써 4개월이 지났습니다. 커뮤니티에서는 서비스와 유저의 상호 작용 뿐만 아니라, 유저와 유저 사이의 상호 작용도 잘 구성해야합니다. 커뮤니티와 SNS에서 유저간 상호 작용을 구성하는 다양한 장치 중 중요한 자리를 차지하고 있는 알림 시스템을 어떻게 개발했는지 이야기 해볼까 더보기…

AU 임팩트를 말해주는 프로덕트 메트릭

Intro 안녕하세요, 프로덕트 데이터 분석가 알렉스입니다! 일을 하면서 가장 인상 깊게 배운 사실은, 좋은 기능과 임팩트 있는 기능은 항상 일맥상통하지 않는다는 점입니다. 초기 스타트업은 편의성 개선 그리고 경험개선에 모든 리소스를 투입할 수가 없습니다. 생존을 위해서는 극한으로 한정된 리소스로 빠르게 임팩트를 내고 증명해보이면서 스케일업 해야하기 때문입니다. IPO 전 단계의 B2C 스타트업들이 더보기…