-
Notifications
You must be signed in to change notification settings - Fork 1
11월 10일
top-chaser edited this page Dec 13, 2023
·
5 revisions
- 기술적으로 성장하는 것이 목표
- 트위치, 아프리카와 같은 실시간 방송 스트리밍 서비스 입니다!
- 실제 여러 bj나 스트리머의 방송을 많이 보고 접하는데 과연 이런 플랫폼은 어떻게 이루어져 있을까? 라는 생각을 하게 되었고,
- 실제로 스트리밍 관련 기술이 어렵다고 알고 있고 이번에 전부 처음 경험하는 것이다 보니 기술적인 성장을 이룰 수 있을 것 같아서 주제를 선택했습니다!
- 스트리밍 서비스 프로세스 구성
- 서버 아키텍처 구성
- CI/CD 프로세스 구성
- 이번주에 한 것은 디자인 및 기술 스택 선정 및 개발 환경 세팅
- 패키지 매니저 : yarn
- npm은 명령을 순차적으로, yarn은 병렬적으로 처리 → 속도면에서 yarn이 유리.
- yarn은 캐시를 사용해서 로컬에 저장 후 없는 파일들만 가져옴.
- npm은 자동으로 패키지에 포함된 다른 패키지 코드도 실행 됨. yarn은 yarn.lock 또는 package.json 파일에 있는 파일만 설치 → yarn의 경우 충돌 위험이 적어짐
- 번들러 : vite
- CRA는 명령어 한줄이면은 기본설정이 되기 때문에 쉽고 간편하지만, Vite에 비해 느리고 확장성에서도 떨어진다고 함
- 상태관리 라이브러리 : recoil
- recoil은 Recoil은 API, 의미, 동작을 최대한 react 답게 유지 하려고 하는 장점이 있다.
- react 전용이기에 호환성이 좋고 react와의 개발 방향성이 같다.
- 캐싱 기능이 있어 성능적으로 우 세하고 코드의 길이 또한 줄일 수 있다.
- 이번 프로젝트에서 전역 상태를 사용할 일이 없다고 느껴 가장 가볍고 간편한 recoil로 결정
- 스타일링 : styled component
- CSS in JS를 한 번도 사용해본 적이 없기에 한번 사용해보고 싶었음
- 가장 유명한 CSS in JS 라이브러리 중 하나인 styled component를 사용하기로 결정
- HLS 프로토콜 (hls.js 사용) 스트리밍 데이터 받아보기