RTMP) RTMP(Real Time Messaging Protocol)
·
컴퓨터 탐구
RTMP(Real Time Messaging Protocol) RTMP는 어도비 시스템사의 독점 컴퓨터 통신규약입니다.RTMP는 오디오, 비디오 및 기타 데이터를 인터넷을 통해 스트리밍 할 때 쓰입니다.RTMP는 어도비 플래시 플레이어와 서버 사이의 통신에 이용됩니다.  RTMP 동작 예시 Media Sever Flash Player(양방향 연결) 1. 미디어 서버와 클라이언트의 RTMP연결 설정 2. 사용자가 특정 비디오 스트림(라이브 비디오 스트림 또는 사전 녹화된 비디오) 요청  3. 플래시 미디어 서버가 스트림에서 요청을 받으면 스트림을 요청한 사용자에게 직접 전송RTMP 프로토콜의 종류 RTMP(기본) 1935번 포트를 사용하고, 암호화되지 않은 RTMP입니다.1935번 포트로 시도해서 실패하..
컴퓨터) 절차 지향, 객체 지향, 함수형 프로그래밍
·
컴퓨터 탐구
절차 지향, 객체 지향, 함수형 프로그래밍 절차 지향 프로그래밍 (Procedural Progamming) 순차적인 처리가 중요시됨 프로그램 전체가 유기적으로 연결되어 있음 문제를 작은 단위로 분해하고, 각 단계를 함수 또는 서브 루틴으로 나타냄 데이터와 함수가 별개로 존재하며, 데이터를 처리하는 함수를 중심으로 프로그램을 작성 유지보수가 어려움(디버깅이 힘듦) 절차 지향 프로그래밍 언어의 예 : 알골, 포트란, PL/I, 모듈라-2, 에이다, 베이직, C 등 객체 지향 프로그래밍 (Object-Oriented Programing, OOP) 현실 세계의 사물을 추상화하여 객체로 표현하는 방식 객체는 데이터와 해당 데이터를 처리하는 메서드(함수)의 묶음임 상속, 캡슐화, 다형성 등의 개념을 활용하여 재사용..
컴퓨터) 배열(Array)와 연결 리스트(Linked List)
·
컴퓨터 탐구
배열(Array)와 연결 리스트(Linked List) 배열(Array) 배열은 동일한 데이터 타입을 가진 요소들이 메모리상에 연속적으로 저장되는 자료구조 인덱스를 사용하여 각 요소에 접근할 수 있으므로 빠른 검색과 접근이 가능하다. 크기가 정해져 있어 배열의 크기를 변경하기는 상대적으로 어렵다.(정적인 구조) 연결 리스트(Linked List) 노드들이 포인터로 연결되어있는 자료구조 각 노드는 데이터와 다음 노드를 가리키는 포인터로 구성됨 동적인 구조를 가지며, 크기가 동적으로 변경될 수 있음 연결 리스트의 종류 단일 연결 리스트 각 노드에 자료 공간과 한 개의 포인터 공간이 있고, 각 노드의 포인터는 다음 노드를 가리킨다. 이중 연결 리스트 단일 연결 리스트와 비슷하지만, 포인터 공간이 두 개가 있고..
컴퓨터) 스택(Stack)과 큐(Queue)
·
컴퓨터 탐구
스택(Stack)과 큐(Queue) 스택(Stack) 선형 자료구조로, 데이터를 쌓아 올릴 수 있는 구조 Last-In-First-Out(LIFO) 원칙 ➜ 가장 최근에 추가된 데이터가 가장 먼저 삭제되는 구조 주요 연산 : Push(데이터 추가), Pop(데이터 삭제), Peek(가장 상단 데이터 조회), isEmpty(비어있는지 확인) 주로 함수를 호출할 때 인수의 전달등에 이용된다. 큐(Queue) 선형 자료구조로, 데이터를 줄지어 저장하는 구조 First-In-First-Out(FIFO) 원칙 ➜ 가장 먼저 추가된 데이터가 가장 먼저 삭제되는 구조 주요 연산 : Enqueue(데이터 추가), Dequeue(데이터 삭제, 반환), Front(가장 앞 데이터 조회), Rear(가장 뒤 데이터 조회),..
컴퓨터) 웹 서버(Web Server)와 WAS(Web Application Serviece)
·
컴퓨터 탐구
웹 서버와 WAS 웹 서버 (Web Server) 클라이언트로부터 HTTP요청을 받아들이고, 해당 요청에 따라 정적인 웹페이지(HTML, CSS, 이미지 파일 등)를 제공하는 역할을 한다. 주로 정적인 콘텐츠를 처리하는 데 사용됨 ➜ 동적인 콘텐츠를 처리하기 위해서는 외부 프로그램과 연동하는 CGI(Common Gateway Interface) 스크립트를 사용할 수 있다. 웹서버의 예 : Apache, Nginx, Microsoft IIS 등 WAS(Web Application Service) 동적인 웹 애플리케이션을 실행하기 위한 서버로, 웹 서버와 달리 정적인 콘텐츠뿐만 아니라 동적인 콘텐츠를 생성하고 처리할 수 있다. 웹 애플리케이션에 필요한 Java 서블릿, JSP(JavaServerPages),..
네트워크) TCP와 UDP
·
컴퓨터 탐구
TCP와 UDP TCP (Transmission Control Protocol) 신뢰성이 높고 데이터의 순서를 보장하는 연결 지향적인 프로토콜 TCP는 연결 지향적인 프로토콜 (connection-oriented) ➜ 데이터를 주고받기 전에 먼저 열결을 설정해야 한다. 이를 통해 신뢰성 있는 데이터 전송을 보장한다. 연결 설정에는 3-way handshake 과정이 사용된다. 1. 클라이언트가 서버에게 연결 요청 2. 서버가 클라이언트에게 수락 응답 3. 클라이언트가 수락 응답을 확인 후 연결 성립 데이터 전송 중 데이터의 손실, 중복, 순서 변경 등을 방지하기 위해 흐름 제어와 혼잡 제어 기능이 있음 데이터의 순서를 보장하기 때문에 전송 순서대로 도착하며, 수신확인(Acknowledgement)을 통해..
컴퓨터) Spring MVC 에서의 예외 처리 기법
·
컴퓨터 탐구
Spring MVC에서의 예외 처리 기법 기본적인 SpringBoot 예외 처리 방식 WAS(톰캣) ➜ 필터 ➜ 서블릿(디스패처 서블릿) ➜ 인터셉터 ➜ 컨트롤러 ➜ 컨트롤러(예외발생) ➜ 인터셉터 ➜ 서블릿(디스패처 서블릿) ➜ 필터 ➜ WAS(톰캣) ➜ WAS(톰캣) ➜ 필터 ➜ 서블릿(디스패처 서블릿) ➜ 인터셉터 ➜ 컨트롤러(BasicErrorController) WAS(톰캣) ➜ 필터 ✔ 클라이언트의 요청이 웹 애플리케이션서버(WAS)로 도착하면 먼저 등록된 필터들이 요청을 가로챔 필터 ➜ 서블릿(디스패처 서블릿) ✔ 필터가 요청을 처리한 후, 해당 요청을 서블릿으로 전달 ➜ 디스패처 서블릿은 요청을 적절한 컨트롤러로 라우팅 하고, 컨트롤러에서 비즈니스 로직을 처리 서블릿(디스패처 서블릿) ➜ ..
컴퓨터) REST API
·
컴퓨터 탐구
REST API REST (Representational State Transfer) 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식 자원(Resouce)과 자원에 대한 상태(State)를 주고받기 위한 아키텍처의 제약조건 REST 디자인 원칙 API는 하나의 애플리케이션이나 서비스가 다른 애플리케이션이나 서비스 내의 리소스에 액세스 할 수 있게 해주는 메커니즘이다. 균일한 인터페이스 ✔ 요청이 어디에서 오는지와 무관하게, 동일한 리소스에 대한 모든 API 요청은 동일하여야 한다. ➜ 어느 요청이든지 일관성이 있어야함 ✔ 각 자원은 각각의 고유한 URI(Uniform Resource Idenfier)에 속함이 보장되어야 한다. ➜ ex) /post/1 /post/2 ..
오지랖 토끼
'컴퓨터 탐구' 카테고리의 글 목록