일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- DB 설계
- 미디어서버
- @async
- 자바
- REST API
- 스트리밍서버
- 실검
- Spring
- 인턴생활
- async
- 이커머스 api
- cmi
- 이커머스
- restful
- mariaDB
- Gradle
- 서버구축
- API
- autowired
- 멀티쓰레드
- wooza
- 스프링
- JPA
- 네이버
- RDB
- AWS
- SpringBoot
- 라이브커머스
- api설계
- db 스키마
- Today
- Total
목록전체 글 (26)
Polymor!

오늘은 기본적인 네트워크 장비들에대한 소개와 우리가 실생활에 많이 쓰는 공유기(와이파이)의 원리를 이야기해보고자한다. 많이 보았을 그림이다. 네트워크 통신의 계층 구조이고, 복잡한 네트워크를 계층으로 구분하여 각기 할 일을 나누게 된 것이다. Layer2 데이터 링크 계층의 대표 통신 장치로 스위치와 허브 등이있고, Layer3 네트워크 계층에는 라우터가 있다. 스위치는 mac 주소 기반으로 패킷을 전달하고 라우터는 ip주소를 기반으로 전달하는 가장 큰 차이점을 가진다. 참고로 IP단의 ARP 프로토콜은 MAC-IP 매핑 테이블로 IP주소로 MAC주소를 반환해주는 역할을 한다. ICMP는 ping [주소] 명령어를 통해 네트워크 연결이 가능한 상태인지를 판단해주는 역할을 할때 쓰인다. 아래 그림을 살펴보..

스트리밍 서버를 떠올리면 대표적으로 여러 플랫폼이있다, Wowza Engine , AWS , Azure 등 AWS도 관심이많지만 와우자도 많이 쓰이고 예전부터 많이 듣던거라.. 와우자로 구축하기로 결정 스트리밍 기법엔 크게 Live와 VoD(video on demand) 방식이 있다. 쉽게 이해하면 실시간 아프리카 티비랑 넷플릭스, 두개의 차이를 생각하면 이해가 된다. Live 는 빠르고 정확한 인코딩이 필요할 거고.. VoD는 방대한 데이터베이스가 필요할 것이다. (참고로 AWS + WOWZA ENGINE 으로 데이터베이스와 스트리밍 서버 분리된 모델도 지원한다고 나와있다.) Wowza Cloud 는 말그대로 돈내면 모든걸 다 관리해주는 (CDN까지..wow) 소프트웨어 완제품같고, Wowza Engi..

비동기, 동기, 블록, 넌블록.. 이런 이야기들을 한번쯤은 들어보았을텐데. 결론적으로만 말하면 이 개념들과 여러 조합들의 방식이 나온 것은 , I/O 를 효과적으로 처리하기 위해 나온 개념들이다. Read() , Write() 등과 같은 저 수준 시스템 콜을 하고 난 후 커널로 부터 응답을 받을 때까지 기다리지않고 제어권을 넘기는 넌 블록, Select()처럼 이벤트 기반으로 메세지를 날리는 걸 구현하기 위해 비동기의 방식이 나온 것이다. 이 배경을 이해한다면, 보편적으로 알고 있던 상황과는 다른 관점에서 이 개념들을 이해하기 수월하다. 비동기란, 어떤 일련의 작업(예를들면 호출된 함수) 의 결과, 작업 종료(return) 등에 내 작업의 시작이 전혀 영향을 받지않을 때를 의미한다. Select 방식이 ..

중국의 ByteDance 사의 소셜 미디어 앱으로 유저들의 뜨거운 관심을 받고 , 엄청난 Lock-in 효과로 화제가 된 Tiktok. 앱 다운로드 수 15억을 넘으며 페이스북, 인스타그램을 뛰어넘은 틱톡.. 도대체 뭐길래? 틱톡- Douyin, 'Vibrating Sound'라는 의미를 가진 이 앱이 가진 특별한 점은 무료로 다양한 음원을 지원한다는 점이다. 거기에 더불어 1분이내의 영상을 업로드하여 라이브 혹은 VoD 방식으로 전 세계 유저들과 공유할 수있다. 스트리밍 기반의 미디어 앱, Tiktok 은 어떤 기술스택을 가지고 있는 앱일까? (reddit 의 한 기술자의 잘 정리된 페이지 일부를 공유했다.) Tech Stack Behind TikTok Like App Real-Time Analytic..

* Linux Filesystem " 파일을 사용자가 접근할 수 있도록 운영체제가 시스템의 디스크상에 일정한 규칙을 가지고 보관하는 방식" . "파일 시스템"의 "파일 (file)"은 물리적인 하드웨어 저장공간에 저장되는 데이터의 집합을 말한다. 리눅스에서 파일이란... 정말 중요한 개념이다. 왜냐하면 키보드,마우스,인터페이스카드 등 디바이스가 파일의 개념으로 접근되기때문이다. 단순한 일반(regular)파일만을 파일이라 칭하지 않고 모든 디바이스들까지 전부 파일로 취급함을 알아야한다. 파일 시스템 그 코어는 결국 구조체이고 포인터, 'SW프로그램'이다.. 파일들은 디스크 상에 여러 조각으로 나누어 저장되어있다. 이 조각들의 시작주소를 포인터로 가지고 있는 것이 아이노드(inode)이다. 이때 시작주소는..

Shell은 껍데기라는 뜻을 지니고 있듯, 한마디로 커널을 겉에 있는 유저 인터페이스이다. 사용자가 운영체제 내부 커널에 쉘이라는 Interface를 통해 ( 쉽게 떠올릴 수 있는 GUI 가 그 예이다) 내부 커널과 소통을 하는 것이다. 쉘에는 크게 두가지 GUI(Graphic User Interface) 와 CLI(Command Line Interface) 이 있다. 떠올릴 수 있는 명령어 창, Windows 의 cmd 가 CLI 에 해당하는 쉘이다. cmd창에 echo $SHELL 이라는 명령을 주면, 현재 내가 사용하는 아래와 같이 쉘의 정보를 알려준다. [root@localhost ~]# echo $SHELL /bin/bash Bash 쉘은 리눅스 표준 쉘이다. Bourne Again Shell의..

스트리밍 프로토콜에 대해 간단히 이야기 하자면, 한 장치에서 다른 장치로 '콘텐츠'를 전송하는 특정 방법을 의미한다. 웹 프로토콜 HTTP 와 같은 개념으로 '영상 콘텐츠'를 서비스하는데에도 규약(프로토콜)이 있다. 이때 중요한 것은, 서버(콘텐츠를 제공) 와 클라이언트(콘텐츠를 소비) 측 모두 해당 규약을 지원하는 PC여야한다. 예를 들어 서버는 MPEG-DASH 로 스트림을 하고 있는 반면 클라이언트 측이 MPEG-DASH를 지원하지 않으면 안된다. 따라서 스트리밍 프로토콜의 규격화를 해야만 이런 불편함이 해소될 것이다. 대표적으로는 아래와 같은 프로토콜들이 있다. MPEG-DASH : 적응형비트적용률(ABR)사용, HTTP 웹 서버를 사용, RTP 같은 기존 스트리밍 구현보다 기술적 어려움 적음. ..