이번 포스트에서는 작년 말부터 꾸준히 개발해온 토이 프로젝트에 대한 소개와 그 원리 및 구조에 대해 설명하는 내용을 적어볼까 한다.
실시간 스트리밍 서비스
는 요즘 세대에 아주 친근한 서비스로써 ‘Youtube Live’, ‘Twitch’, ‘AfreecaTV’ 등이 있다.
필자 또한 이런 인터넷 방송을 즐겨보는 편인데, 비동기 방식 처리에 훌륭한 노드를 이용하여 직접 개발해보면 어떨까?
라는 아주 작은 생각으로부터 개발은 시작되었다.
이번 포스트에서는 작년 말부터 꾸준히 개발해온 토이 프로젝트에 대한 소개와 그 원리 및 구조에 대해 설명하는 내용을 적어볼까 한다.
실시간 스트리밍 서비스
는 요즘 세대에 아주 친근한 서비스로써 ‘Youtube Live’, ‘Twitch’, ‘AfreecaTV’ 등이 있다.
필자 또한 이런 인터넷 방송을 즐겨보는 편인데, 비동기 방식 처리에 훌륭한 노드를 이용하여 직접 개발해보면 어떨까?
라는 아주 작은 생각으로부터 개발은 시작되었다.
이번 포스트에서는 자료 구조 중 하나인 이진 탐색 트리(Binary Search Tree)
에 대해 다뤄보자.
효율적인 자료 검색
을 목적으로 만들어진 기존 이진 트리에 몇 가지 제약 사항을 추가한 이진 탐색 트리
는 기존의 빠른 검색의 특징을 가진 이진 탐색(binary search)과 잦은 데이터 변경에 유연하게 대처가 가능한 연결 리스트(linked list)의 특징을 모두 갖고 있다.
프로그래머 면접에서 자주 등장하는 자료 구조 관련 질문이며 실무에서 또한 사용되는 경우가 종종 있다.
자 그럼 이진 탐색 트리에 대해 알아보자.
선착순 프로모션 이벤트와 같은 유형의 특정 서비스는 이용자 트래픽이 순간적으로 몰리게 된다.
그에 맞춰 서비스를 정상적으로 운영하기 위해서는 실시간 모니터링, 트래픽 분산, 트래픽 대응 구조 설계
등 나름의 대비를 요한다.
그러면 순간 트래픽에 대응할 수 있는 방법
에는 어떤 것들이 있을까?
방법은 다양하겠지만, 오늘은 Redis를 활용한 트래픽 제어 방법
과 필자가 직접 테스트하고 현업에 적용해본 경험을 풀어보고자 한다.
우리는 이미 일상 속에서 익숙하게 웹 서비스를 이용하고 있다.
각 웹 서비스마다 서로 다른 UI를 보여주고 그에 맞는 동작을 하는데 이러한 부분은 브라우저가 어떻게 처리를 해주는걸까?
우리가 접속하는 모든 웹사이트들은 서로 다른 문자로 이루어진 주소를 갖고 있다.
하지만 모든 주소가 공통적으로 포함하고 있는 형식은 'http://' 와 'https://'
이다.
이 형식은 어떤 의미를 갖고 있고, 어떤 차이점을 갖고 있는지 이번 포스트에서 다뤄보려 한다.
(이전 블로그에서 포워딩해온 포스트)
지난 포스트에서 언급한 듯이 React Hooks이 정식 릴리즈되었다.
이후 계속해서 훅에 대한 공부를 진행하기 위해 요즈음 제일 애정을 갖고 있는 'GraphQL'
과 'React hooks'
를 함께 사용하여 유명한 메신저 서비스인 Slack
의 일부 기능만을 클론해보았다.
(이전 블로그에서 포워딩해온 포스트)
드디어 기다리던 Hooks이 React에 정식 기능으로 탑재되었다.
여러가지 Hooks을 직접 사용해보기 위해서 hookPlayer
라는 작은 사이드 프로젝트를 진행해보았다.
Youtube URL
또는 Video id
를 입력하여 자신만의 플레이 리스트를 관리하고 이를 로컬 스토리지에 기록함으로써 유지되도록 개발하였다.
이제 막 출시한 Hooks에 대해 경험해보고 싶은 욕심에 진행해본 프로젝트였기에 '올바르게 사용했다'
라고는 말하기는 쉽지 않지만 Hooks을 이해하는 데에 큰 도움이 된 것은 확실하다.
Update your browser to view this website correctly. Update my browser now