라이브 스트리밍이란?
·
CS/LiveStreaming
들어기기 전드디어 부스트캠프 마지막 스텝인 그룹 프로젝트가 시작됐다.저번 주는 기획하는 일정이었지만 .. 역시 기획은 내 분야가 아닌 것 같다. 우리는 도전적인 주제보다는 안정적인 주제를 많이 기획했고멘토님께 최종적으로 안정적인 주제 3가지를 가져갔다. 멘토님께서는 좋게 얘기를 해주셨지만 마지막에 "이 주제로 결정한 것에대해 두근거림이나 설렘이 있냐?" 는 질문을 하셨는데 우리는 모두 대답을 하지 못했다. 다음 날 우리는 다시 기획을 갈아 엎었고 그 과정에서 꼭 해보고 싶었던 라이브 스트리밍 주제를 꺼내봤는데팀원들의 반응이 너무 좋았다.. 이럴꺼면 빨리 꺼낼껄 ..이번 학습부터는 라이브 스트리밍에 필요한 여러가지 CS 개념을 정리해보자.라이브 스트리밍이란?일단 라이브는 일반적으로 이해가 바로가는 단어라 ..
RTMP 와 HLS
·
CS/LiveStreaming
RTMP정의Real-Time-Messaging Protocol 의 약자로  Adobe에서 만든 Flash 플레이어와 서버간에 인터넷을 통한 오디오 및 데이터 스트리밍을 사용하는데 사용되는 프로토콜현재는 Adobe Player 중단된 이유로 서버로부터 클라이언트에게 보낼 때는 사용이 중단되고인코더에서 미디어서버로 보낼 때 즉 , 송출 과정에서만 사용된다특징TCP 기반데이터는 Chunk 단위로 fragmentation되어 송신 후 수신 단에서 조합하여 온전한 메시지가 된다.청크는 데이터와 헤더로 나뉘어있다.장점최소한의 버퍼링짧은 지연시간비용 효율적인 스트리밍폭 넓은 호완성단점보안 취약다국어 지원 및 광고 삽입고정된 비트레이트 (CBR)에 최적화과정HandShake클라이언트가 서버로 3개의 Chnuk인 C0,..
코어 / 프로세스 / 스레드, 동기 / 비동기, 직렬 / 동시 / 병렬 프로그래밍
·
CS/OS
1. 코어코어는 CPU(프로세서)의 실행 단위이다.  하나의 CPU에는 하나 이상의 코어가 포함된다.각 코어는 독릭접으로 작업을 수행할 수 있는 '작은 프로세서'라고 이해하면된다. 다른 말로하면 멀티코어 프로세서는 여러개의 코어가 하나의 CPU안에 있다는 뜻이다. 멀티코어 프로세서는 병렬성을 활용하여 여러 작업을 동시에 처리하는데, 싱글코어와 비교했을 때 성능적 이점이 크다.2. 프로세스프로그램이 실행될 때 운영체제에 의해 메모리에 로드되고 실행되는 상태하나의 프로그램에는 하나의 프로세스가 할당된다.3. 스레드하나의 프로그램에서 여러개의 작업을 수행하기 위한 더 작은 실행 단위하나의 프로세스에는 여러 개의 스레드가 할당된다. 스레드끼리는 스택을 제외한 메모리를 공유하기하기 때문에 통신이 더 빠르고 효율적..
해시 테이블
·
CS/자료구조
오늘은 멘토님의 갑작스러운 질문에 답변하지 못했던 기억을 되살려 해시테이블을 뿌셔보려고한다.사실 swift에서는 굳이 해시 테이블을 직접 구현해서 쓸일 이 없다 왜냐면 딕셔너리가 있기 때문이다. 하지만 꼭 내가 swift만 공부할거라는 보장도 없고 이번 기회에 내부적으로 어떤식으로 공부하면 다른 언어에서도 자료구조 공부할 떄 도움이 될 것 같다 . 그러면  거두절미하고 바로 들어가보자. 해시 테이블이란?  해시 테이블은 Key - value 형태로 데이터를 저장하는 자료구조 중 하나이며 다음과 같은 특징을 같는다.특징key 값을 해시 함수를 통해 해시 주소값 해시 index(해시 주소값)으로 바꾼다.value에 접근할 때는 위에서 만든 해시 index을 통해 접근한다.해시 테이블의 평균 시간 복잡도는 O..
프로세스와 스레드
·
CS/OS
프로세스실행되고 있는 프로그램 또는 CPU 스케줄링의 대상이되는 작업을 의미한다. 프로세스의 상태여기서 상태 변화의 원이는 CPU 소유권과 메모리 부족여부이다. 생성프로세스를 생성 상태, fork() 또는 exec()함수를 통해 생성되며, PCB가 할당된다.대기메모리 공간이 충분하면 메모리를 할당받고 아니면 할당하지 않은 상태로 CPU 소유권이 넘어오기 기다리는 상태대기중단메모리 부족으로 일시 중단된 상태실행소유권과 메모리를  모두 할당받고 수행중인 상태중단이벤트가 발생되여 프로세스가 차단된 상태 , 대표적으로 I/O 디바이스에 의한 인터럽트가 있다.일시중단중단된 상태에서 프로세스 소유권을 받으려했지만 메모리가 부족하여 다시 대기하는 상태종료메모리와 CPU를 모두 내려놓는 상태프로세스의 메모리 구조동적영..
가상메모리
·
CS/OS
가상메모리란? 가상 메모리는 메모리가 실제 메모리보다 많아 보이게 하는 기술로, 어떤 프로세스가 실행될 때 메모리에 해당 프로세스 전체가 올라가지  않더라도 실행이 가능하다는 점에 착안하여 고안되었다.이에 따라 사용들에게 매우 큰메모리로 보이게 만다는 효과를 준다. MMU (Memoery ManageMent Unit)가상메모리를 설명할 때 두개의 주소 개념이 등장한다.가상 주소각 프로세스 당 주어지는 논리적인 주소 공간레지스터 크기에 종속적실제 주소실제 하드웨어 메모리 주소메모리에서 가상주소와 물리주소의 변환 변환 작업을 진행하면 작업 부하가 높아지므로 MMU는 가상주소를 물리주소로 변환하여 메모리를 보호하는 역할을 한다.페이지 테이블 프로세스는 페이지 테이블을 통해 논리 주소를 물리 주소로 변환한다.페..