본문 바로가기

전체 글37

[모두의 플리] 개인 개발 리포트 1. 프로젝트 개요모두의 플리(ModuPly)는 대규모 트래픽을 고려한 글로벌 콘텐츠 큐레이션 소셜 플랫폼이다. 영화, 드라마, 스포츠 등 다양한 콘텐츠를 기반으로 플레이리스트를 생성하고 공유하며, 실시간 같이 보기 기능을 통해 다른 사용자와 함께 콘텐츠를 즐길 수 있다. 핵심 기능으로는 플레이리스트 큐레이션, 리뷰 및 평점, 실시간 알림(SSE), 팔로우 기반 소셜 기능, DM이 있다.2. 담당한 작업플레이리스트, 리뷰, 알림, SSE 도메인 전체와 ELK 스택(Logstash, Kibana) 구성을 담당했다.플레이리스트CRUD, 콘텐츠 추가/삭제, 구독/구독취소 구현구독자 수(subscribeCount) 기준 정렬 추가Caffeine 캐싱 적용(PLAYLIST_DETAIL) 및 수정/삭제/구독 시 캐.. 2026. 7. 29.
[ELK] ELK란?: Logstash와 Kibana 중심으로 1. ELK란?ELK는 Elasticsearch, Logstash, Kibana 세 오픈소스 프로젝트를 묶어 부르는 이름이다.Elasticsearch: 검색·저장·분석을 담당하는 핵심 엔진 (분산 검색엔진, 문서 기반 NoSQL)Logstash: 다양한 소스에서 데이터를 수집하고, 가공(파싱/변환)한 뒤 Elasticsearch 등으로 보내는 파이프라인 도구Kibana: Elasticsearch에 쌓인 데이터를 검색·시각화·대시보드로 보여주는 프론트엔드전체 아키텍처를 그림으로 보면 대략 이렇다.[애플리케이션/서버 로그] │ ▼ Filebeat (선택) ──► Logstash (수집·파싱·변환) │ .. 2026. 7. 20.
[13-2] OAuth 2.0의 주요 컴포넌트와 Authorization Code Grant의 흐름 ✔️ 들어가며우리는 매일 "Google 계정으로 로그인" 등과 같은 버튼을 클릭한다. 이 버튼 하나가 처리하는 것은 단순한 로그인이 아니다. 내 Goolge 연락처에 접근하되, 내 비밀번호는 이 앱에 주지 않겠다는 일종의 정교한 위임이다. 그리고 OAuth 2.0은 이러한 위임을 안전하게 처리하기 위한 표준 프레임워크이다.✔️ OAuth 2.0의 4가지 주요 컴포넌트Resource Owner리소스의 실제 소유자, 즉 사용자이다.Client보호된 리소스에 접근하려는 애플리케이션으로, 우리가 개발하려는 서비스가 여기에 해당한다.Authorization Server사용자를 인증하고 동의를 받아 Access Token을 발급하는 곳으로, 게정을 연동하는 Google, Github 등이 여기에 해당된다.Resou.. 2026. 5. 26.
[13-1] 인증: 세션 기반 vs 토큰 기반 ✔️ 들어가며HTTP는 무상태 프로토콜로, 서버는 요청을 받을 때마다 어느 사람의 요청인지 알지 못한다. 로그인은 이 문제를 해결하기 위한 일종의 약속인데, 이 약속을 어디에/어떻게 저장하느냐에 따라 세션 방식과 토큰 방식으로 나뉜다.✔️ 세션 기반 인증세션 기반 인증은 서버가 직접 상태를 기억하는 방법이다. 사용자가 로그인에 성공하면 서버가 "이 사람은 인증됐다!"는 정보를 자신의 저장소(메모리, DB, Redis)에 저장하고, 그 키만 클라이언트에게 쿠키로 전달한다. 이후 모든 요청에서 브라우저는 쿠키를 자동으로 전송하고, 서버는 저장소를 조회해 인증 여부를 확인한다. 도식화하면 다음과 같다.1. 로그인: 아이디/비밀번호를 서버로 전송2. 세션 생성: 서버가 세션 저장소에 사용자 정보/권한 저장3. .. 2026. 5. 26.
[12-2] GitHub Actions 워크플로우에서의 다양한 트리거 유형 ✔️ 들어가며CI/CD 파이프라인은 코드 품질을 지키고, 빠른 배포와 장애 감지를 위해 필수적인 요소이다. GitHub Actions는 이를 위한 강력한 플랫폼으로, 단순한 테스트 자동화부터 멀티 환경 배포 오케스트레이션까지 다양한 시나리오를 코드 한 파일로 표현할 수 있다. 그리고 그 중심에는 트리거(Trigger)가 있다. 트리거는 워크플로우가 언제, 어떤 조건에서 실행될지 결정한다. 아무리 정교하게 설계된 파이프라인이라도 트리거가 잘못 설계되면 불필요한 실행으로 비용이 낭비되거나, 반대로 중요한 순간에 워크플로우가 실행되지 않는 상황이 발생한다. GitHub Actions는 코드 push/PR과 같은 개발 이벤트, 정기 실행을 위한 스케줄, 사람이 직접 실행하는 수동 트리거, 외부 시스템과 연결되는.. 2026. 5. 19.
[12-1] AWS RDS ✔️ RDSAWS RDS(Relational Database Service)는 Amazon이 제공하는 완전 관리형 관계형 데이터베이스 서비스이다. MySQL, PostgreSQL, Oracle, Aurora 등 여러 엔진을 지원하며 운영에 필요한 인프라 작업에 상당 부분을 대신 처리해준다.✔️ RDS의 주요 이점RDS를 사용했을 때의 주요 이점은 아래와 같이 정리할 수 있다.자동 백업 & 복원: 자동 스냅샷과 Point-in-Time 복구를 기본으로 제공해 데이터 유실 리스크를 낮춤자동 패치 & 업그레이드: OS 및 DB 엔진 패치를 유지보수 윈도우에 적용해 취약점 대응 부담을 줄임간편한 스케일링: 인스턴스 타입 변경, 스토리지 자동 확장 등을 손쉽게 할 수 있음Multi-AZ 고가용성: Multi-AZ.. 2026. 5. 19.