분류 전체보기
-
네이버 부스트캠프 웹・모바일 10기 수료 회고네이버 부스트캠프 웹・모바일 10기 2026. 2. 18. 22:03
부스트캠프에 참여한 지 벌써 7개월이 지났습니다. 지난 여름에 시작했던 과정이 어느새 추운 겨울에 마무리되었네요!!정말 시간이 훅 지나간 것처럼 느껴질 만큼 빠르게 지나간 시간이었지만 그 안에서 좋은 사람들도 많이 만나고 스스로의 변화도 분명히 느낄 수 있었던 소중한 시간이였습니다.특히 앞으로 어떤 방향으로 고민하고 성장해 나가야 할지에 대한 감을 잡을 수 있었다는 점에서 개인적으로 매우 의미 있는 시간이었습니다.(더 함께 했으면 좋겠지만…!!)이번 글에서는 부스트캠트 멤버십 과정을 다시 한 번 되돌아보며 각 과정에서 제가 어떤 경험을 했고 어떤 생각들을 하게 되었는지를 정리해보고자 합니다. 🎯 멤버십에서의 목표챌린지 기간이 끝난 후 멤버십 과정을 시작하면서 저는 챌린지 기간에 느꼈던 부족한 부분을 개..
-
[가상면접 사례로 배우는 대규모 시스템 설계 기초] 12장. 채팅 시스템 설계📕 book/가상 면접 사례로 배우는 대규모 시스템 설계 기초 2026. 1. 19. 12:46
✅ 문제 이해 및 설계 범위 확정어떤 채팅앱을 설계하는지 확실히 해두는 것이 중요하다.1:1 채팅에 집중하는 앱그룹 채팅에 중점을 둔 업무용 앱대규모 그룹의 소통과 응답지연이 낮은 음성 채팅에 집중하는 앱 📖 요구사항1:1 채팅과 그룹 채팅 둘 다 지원모바일 앱, 웹 앱 모두 지원일별 능동 사용자 수 DAU: 5천만명그룹 채팅 인원 제한: 최대 100명1:1 채팅, 그룹 채팅, 사용자 접속상태 표시 지원텍스트 메시지만 주고받을 수 있음메시지 길이는 100,000자 이하채팅 이력은 영구적으로 보관 🔖 개략적 설계안 제시 및 동의 구하기채팅 시스템의 경우 클라이언트는 모바일 앱이거나 웹 애플리케이션이다.클라이언트는 서로 직접 통신하지 않는다. 채팅 서비스는 다음 기능을 제공해야 한다.클라이언트들로부터 메..
-
[가상면접 사례로 배우는 대규모 시스템 설계 기초] 11장. 뉴스 피드 시스템 설계📕 book/가상 면접 사례로 배우는 대규모 시스템 설계 기초 2026. 1. 19. 12:37
뉴스 피드 홈 페이지 중앙에 지속적으로 업데이트되는 스토리들사용자의 상태 정보 업데이트, 사진, 비디오, 링크 등페이스북 도움말 페이지 🎯 문제 이해 및 설계 범위 확정모바일 앱과 웹 모두 지원 필요뉴스 피드는 시간 흐름 역순으로 표시한 명의 사용자는 최대 5,000명의 친구를 가질 수 있음매일 천만 명이 방문하는 트래픽 규모뉴스 피드에는 이미지나 비디오 등의 미디어 파일 포함될 수 있음 🔍 개략적 설계안 제시 및 동의 구하기피드 발행사용자가 스토리를 포스팅하면 데이터를 캐시와 데이터베이스에 기록새 포스팅은 친구의 뉴스 피드에도 전송뉴스 피드 생성모든 친구의 포스팅을 시간 흐름 역순으로 모아서 만든다 뉴스 피드 발행사용자 새 포스팅을 올리는 주체. POST /v1/me/feed API로드밸런서사용자 ..
-
[가상면접 사례로 배우는 대규모 시스템 설계 기초] 10장. 알림 시스템 설계📕 book/가상 면접 사례로 배우는 대규모 시스템 설계 기초 2026. 1. 19. 12:31
⏰ 알림 시스템알림 시스템은 고객에게 중요할 만한 정보를 비동기적으로 제공한다.단순히 모바일 푸시 알림(mobile push notification) 에 한정하지 않고 SMS 메시지, 이메일 3가지로 분류할 수 있다. 🔖 문제 이해 및 설계 범위🔍 알림의 종류푸시 알림, SMS 메시지, 이메일🔍 실시간 시스템연성 실시간 시스템 (soft real-time)알림을 가능한 빨리 전달하지만 부하가 걸렸을 경우 약간의 지연 가능🔍 지원하는 단말 종류iOS 단말, 안드로이드 단말, 랩톱/데스크톱🔍 사용자에게 보낼 알림은 누가 처리?클라이언트 애플리케이션 프로그램서버 측 스케줄링🔍 사용자가 알림을 받지 않도록 설정 기능 제공설정을 통해 사용자가 알림을 받지 않을 수 있다.🔍 하루에 보내야 하는 알림천만..
-
[가상면접 사례로 배우는 대규모 시스템 설계 기초] 9장. 웹 크롤러 설계📕 book/가상 면접 사례로 배우는 대규모 시스템 설계 기초 2026. 1. 4. 23:38
웹 크롤러는 로봇 또는 스파이더라고도 부른다.검색 엔진에서 널리 쓰이는 기술로 웹에 새로 올라오거나 갱신된 콘텐츠를 찾아내는 것이 주된 목적이다.🎯 크롤러 활용 예시활용 예시설명검색 엔진 인덱싱검색 엔진의 로컬 인덱스를 구축하기 위해 사용. 예시: Googlebot (구글 검색 엔진이 사용하는 웹 크롤러)웹 아카이빙웹 사이트 정보를 주기적으로 수집하고 저장하여 아카이빙.웹 마이닝인터넷에서 유용한 지식을 찾아 분석해 의미있는 지식을 도출웹 모니터링저작권, 상표권이 침해되는 사례를 모니터링 웹 크롤러의 복잡도는 처리해야 하는 데이터의 규모에 따라 달라진다. 학급 프로젝트 수준일 수도 있고 별도의 엔지니어링 팀을 꾸려서 지속적으로 관리하고 개선해야 하는 초대형 프로젝트가 될 수도 있다.따라서, 설계한 웹 ..
-
[가상면접 사례로 배우는 대규모 시스템 설계 기초] 8장. URL 단축기 설계📕 book/가상 면접 사례로 배우는 대규모 시스템 설계 기초 2026. 1. 4. 23:28
🤔 단축 URL을 사용하는 이유?이 글을 읽기 전에 왜 URL 단축기를 사용하여 단축된 URL을 사용하는지 궁금해져 한 번 정리를 해보려고 한다. 장점설명공간 절약 및 가독성웹사이트 링크는 많은 공간을 차지하기 때문에 SNS 환경이나 메시지 전송시에서 불편할 수 있다. 단축 URL은 가독성이 좋게 글자 수를 절약하며 링크를 전달할 수 있다.클릭 추적 및 분석언제 / 어디서 / 누가 클릭을 했는지 데이터 추적이 가능하다. (국가, 시간대, 디바이스 등)마케팅 효과A/B 테스트 등을 통해 어떤 메시지가 더 높은 클릭을 유도하는지 확인. 유입 경로(SNS, 이메일, 블로그 등)를 분석해 어떤 채널이 효과적인지 파악주소 마스킹원래 URL을 감춰 보안에 좀 더 유리. 민감한 정보 노출을 막음 1️⃣ 문제 이해 ..
-
[가상면접 사례로 배우는 대규모 시스템 설계 기초] 7장. 분산 시스템을 위한 유일 ID 생성기 설계📕 book/가상 면접 사례로 배우는 대규모 시스템 설계 기초 2025. 12. 25. 14:31
1️⃣ 문제 이해 및 설계 범위 확정질문을 통해서 요구사항을 이해하고 모호함을 해소하자.ID는 유일해야 한다.ID는 숫자로만 구성되어야 한다.ID는 64비트로 표현될 수 있는 값이어야 한다.ID는 발급 날짜에 따라 정렬 가능해야 한다.초당 10,000개의 ID를 만들 수 있어야 한다. 2️⃣ 개략적 설계안 제시 및 동의 구하기분산 시스템에서 유일성이 보장되는 ID를 만드는 방법은 여러 가지이다.다중 마스터 복제 (Multi-master replication)UUID (Universally Unique Identifier)티켓 서버 (ticket server)트위터 스노플레이트 접근법 (snowflake) ©️ 다중 마스터 복제auto_increment 기능을 활용하는 방법 ID 값을 구할 때 1만큼 증가..
-
[가상면접 사례로 배우는 대규모 시스템 설계 기초] 6장. 키:값 저장소 설계📕 book/가상 면접 사례로 배우는 대규모 시스템 설계 기초 2025. 12. 25. 14:19
키-값 저장소는 키-값 데이터베이스라고도 불리는 비 관계형 데이터베이스저장되는 값은 고유 식별자를 키로 가지고 각 값은 키를 통해서만 접근이 가능하다.키는 일반 텍스트일 수도 있고 해시 값일 수도 있다.키는 짧을수록 좋다.🤖 키-값 저장소 예시Amazon DynamoMemcachedRedis 🎯 이번 챕터에서 설계한 키-값 저장소 특성키-값 쌍의 크기는 10KB 이하이다.큰 데이터를 저장할 수 있어야 한다.높은 가용성을 제공해야 한다.장애가 있더라도 빨리 응답해야 한다.높은 규모 확장성을 제공해야 한다.트래픽 양에 따라 자동적으로 서버 증설 및 삭제가 이루어져야 한다.데이터 일관성 수준은 조정이 가능해야 한다.응답 지연시간(latency)이 짧아야 한다. 💻 단일 서버 키-값 저장소한 대 서버만 사..