전체 글
-
배달앱 라이더 실시간 위치 원리: GPS 전송부터 보간까지 (예: Redis · 웹소켓 · Geohash, 시스템 디자인 면접)Computer Science 2026. 10. 11. 01:07
배달앱 지도에서 라이더 아이콘이 끊김 없이 움직입니다."위치를 끊김 없이 계속 받아서"라고만 답하면 시스템 디자인 면접에서는 아쉬워요.이 글에서는 실시간 위치를 전송 · 저장 · 전달 · 보간 네 단계로 정리합니다.특정 배달앱의 내부 구현이 아니라, 공식 문서(Android · Google Maps · Redis)와 일반적인 설계 방식으로 정리한 원리입니다.📺 1분 반 영상으로 보기: https://youtube.com/shorts/YSIxpHL8L-M1. 전송: 일정 간격으로 GPS 위치를 보낸다라이더 앱은 GPS 위치를 일정 간격으로 서버에 보냅니다.자주 보낼수록 위치는 최신이지만 배터리와 데이터를 더 씁니다.Android 개발자 문서: 위치를 자주 구할수록 배터리를 더 씁니다.예시로 Google의..
-
유튜브 추천 알고리즘 원리: 후보 생성과 순위 매기기 (2016 유튜브 논문 기준)Computer Science 2026. 10. 11. 01:07
유튜브 추천을 "내가 클릭한 영상과 비슷한 걸 띄워 준다"고만 설명하면 아쉬워요.이 글에서는 유튜브 공식 자료와 2016년 유튜브가 공개한 논문을 바탕으로 추천의 원리를 정리합니다.후보 생성 · 순위 매기기 구조는 2016년 논문(Covington 외, RecSys 2016) 기준입니다. 현재 구현은 공개되어 있지 않습니다.📺 1분 반 영상으로 보기: https://youtube.com/shorts/NvNfwPyU1G80. 추천의 재료유튜브 공식 설명에 따르면 추천은 시청 기록, 좋아요·싫어요, 구독, 만족도 설문 같은 신호를 참고합니다.1. 클릭보다 시청 시간클릭했다고 끝까지 본 것은 아닙니다.유튜브 공식 블로그(2021)에 따르면, 유튜브는 2011년에 클릭만으로는 실제로 봤는지 알 수 없다는 걸 ..
-
카톡 숫자 1은 어떻게 사라질까? 메신저 읽음 표시 원리 (웹소켓·폴링·푸시 알림)Computer Science/Network 2026. 10. 11. 01:06
카톡을 보내면 옆에 숫자 1이 붙어 있다가, 상대가 읽으면 사라집니다."상대 폰이 내 폰에 직접 알려 줘서"라고 답하면 개발자 면접에서는 조금 아쉬워요.이 글에서는 메신저 읽음 표시가 실시간으로 바뀌는 원리를 서버 · 읽음 신호 · 실시간 반영 순서로 정리합니다.카카오톡의 내부 구현은 공개되어 있지 않습니다. 이 글은 일반적인 메신저 방식으로 원리를 설명합니다.📺 1분 반 영상으로 보기: https://youtube.com/shorts/wZAlAWpj_Ws0. 숫자 1의 뜻카카오 고객센터 설명에 따르면, 숫자는 그 메시지를 아직 읽지 않은 사람 수입니다.1:1 대화에서는 1이 사라지면 상대가 읽은 것이고, 단체방에서는 읽는 사람이 늘수록 숫자가 줄어듭니다(단체방은 최대 99까지 표시).1. 서버가 "누..
-
MySQL 락Database 2025. 11. 9. 15:16
락이란?여러 트랜잭션이 동시에 같은 데이터에 접근할 때, 데이터의 일관성과 무결성을 보장하기 위해 잠금을 거는 것 MySQL 락의 종류글로벌 락백업 락네임드 락메타데이터 락자동 증가 락테이블 락레코드 락갭 락넥스트 키 락...테이블 락 vs 레코드 락InnoDB에서는 DML은 기본적으로 레코드 락but DDL의 경우에는 테이블 락InnoDB에서 레코드 락 = 인덱스 락레코드 락 주의사항의도되지 않은 동작을 방지하기 위해 locking read를 한다.locking read란 한번 읽었던 레코드는 잠그는 것을 의미MySQL 락 동작 순서스캔했던 레코드는 잠근다.인덱스가 없는 컬럼으로 조건을 작성하면 모든 레코드를 스캔한다 -> 모든 레코드 잠금한다.인덱스가 있는 컬럼으로 조건을 작성하면 해당 레코드와 앞,..
-
소프트웨어 장인Books 2025. 11. 2. 17:50
해당 블로그는 산드로 만쿠소의 이라는 책을 읽고 감명 깊었던 구절을 요약해서 기록해둔 것입니다. Chapter 4. 소프트웨어 장인의 태도오래 전에 작성했던 코드를 지금에 와서도 고칠 부분이 없어 보인다면, 그것은 그동안 배운 것이 없다는 뜻이다.소프트웨어 장인이라면 스스로가 만든 것에 애정과 자부심을 가져야함은 매우 기본이다. 계속해서 더 나은 프로페셔널이 되기 위해 일평생 정진해야 한다.고객이 바라는 바를 가장 효율적인 방법으로 만족시키는 것이 우리의 목표다.경험이 적은 소프트웨어 장인과 지식을 나누는 것 또한 우리의 직업 윤리적 의무다. 내 커리어의 주인은 누구인가소프트웨어 프로페셔널로 대우받기를 원한다면 프로처럼 행동해야 한다. 이는 스스로를 발전시키는 데 자신의 돈과 시간을 들여야 한다는 것이다..
-
[Redis] Redis를 이용한 사이드 프로젝트 구현하기카테고리 없음 2025. 4. 12. 14:58
안녕하세요. 콕(KOK) 서비스의 백엔드 개발자 윤 영 입니다. 콕(KOK) 서비스는 약속을 잡기 위해 모임 장소를 고민하는 사용자들의 불편함을 줄이기 위해 기획된 중간 모임 장소 추천 서비스입니다. 모임장(방장)은 모임의 참가자들을 초대하고, 각자의 출발지를 기반으로 경로와 인기 있는 모임 장소 등의 가중치 등을 고려한 최적의 중간 장소를 추천받을 수 있습니다. 참여자 간 투표를 통해서 최종 모임 장소를 결정할 수 있으며, 주변 둘러보기 기능을 통해 최종 장소 주위의 맛집(음식점)이나 카페 등을 알려주는 기능을 제공합니다. 이 서비스를 처음 설게하면서 가장 중점적으로 고민했던 부분은 사용자들의 편리함이었습니다. 사용자들이 서비스를 이용하기 위해 번거롭게 회원 가입을 해야하는 경우가 많은데요. 그로인해 ..
-
NCP 활용 프로젝트 소개 - KOKInfra 2025. 4. 11. 23:58
콕(KOK)은 약속을 잡기 위해 오늘도 약속 장소를 고민하는 사용자들의 불편함을 줄이기 위해 기획된 중간 모임 장소 추천 서비스입니다.모임장(방장)은 약속방을 생성하고 초대 링크를 공유하여 참가자들을 초대할 수 있습니다. 약속방에 초대된 참여자들은 각자의 출발지를 입력하여 경로(거리)와 가중치 우선 순위(사람들이 많이 찾는 지역일수록 인기도 가중치 부여)를 고려한 최적의 모임 중간 장소를 추천받을 수 있습니다. 또한 사용자 간 투표를 통해 최종 모임 장소를 결정할 수 있는 기능과 주변 둘러보기 기능을 통해 모임 장소 주변의 맛집이나 카페 등에 대한 정보도 제공합니다. 프로젝트 설계 본 프로젝트는 도메인 주도 설계(DDD)와 헥사고날 아키텍처(Hexagonal Architecture) 기반으로 설계되었으며..
-
[세미나] 디프콘 참여 후기Study/세미나 2025. 1. 11. 15:00
2025년 1월 11일 사이드 프로젝트 동아리인 디프만(Depromeet)에서 진행하는 디프콘에 참여하였다.디프콘은 아래와 같은 주제와 순서로 진행되었다.1. 사이드 프로젝트를 만들때 알면 좋은 팁 (이동훈 연사님)32개의 사이드 프로젝트를 만들면서 느낀 성공하는 프로젝트를 만드는 방법-> 좋은 문제를 찾고 이를 빠르게 잘 해결했기 때문이라고 생각합니다. 1. 좋은 문제좋은 문제 = 문제를 겪는 사람 x 고통의 크기코로나맵 = 온 국민 x 바이러스로 인한 불안감사이드 프로젝트의 종류는 2가지비타민 = 고통을 겪는 사람은 많지만 고통의 크기가 작은진통제 = 고통을 겪는 사람은 적지만 고통의 크기가 큰 (연사님은 진통제 유형을 추천)좋은 문제 = 고통을 겪는 사람은 적지만 고통의 크기가 큰좋은 문제를 찾는 ..