본문 바로가기
반응형

CS8

kurento 용어집 Bower 웹용 패키지 관리자입니다. 빌드 스택에서 사용할 수 있는 API를 통해 패키지 종속성 모델을 노출하면서 프런트 엔드 패키지 관리 문제에 대한 일반적인 솔루션을 제공합니다. 빌더패턴 빌더 패턴은 텔레스코핑 생성자 안티 패턴에 대한 솔루션을 찾는 것이 목적인 객체 생성 소프트웨어 디자인 패턴입니다. 텔레스코핑 생성자 안티 패턴은 개체 생성자 매개 변수 조합의 증가로 인해 생성자의 기하급수적 목록이 생성될 때 발생합니다. 수많은 생성자를 사용하는 대신 빌더 패턴은 각 초기화 매개변수를 단계별로 수신한 다음 생성된 결과 객체를 한 번에 반환하는 또 다른 객체인 빌더를 사용합니다. EOS End Of Stream은 일부 미디어 소스의 재생이 완료되었을 때 발생하는 이벤트입니다. Kurento에서 일부 .. 2023. 1. 12.
HTTP vs HTTPS / GET vs POST HTTP는 텍스트 교환이므로, 누군가 네트워크에서 신호를 가로채면 내용이 노출되는 보안 이슈가 존재한다. 이런 보안 문제를 해결해주는 프로토콜이 'HTTPS' 동작순서 HTTP : TCP -> HTTP HTTPS : TCP -> SSL -> HTTP HTTPS 는 HTTP 통신하는 소켓 부분을 SSL(Secure Socket Layer) or TLS(Transport Layer Security)라는 프로토콜로 대체하는 것 뿐이다. HTTPS 의 SSL 에서는 공통키 암호화 방식과 공개키 암호화 방식을 혼합한 하이브리드 암호 시스템을 사용한다. 공통키를 공개키 암호화 방식으로 교환한 다음에 다음부터의 통신은 공통키 암호를 사용하는 방식이다. 모든 사이트가 HTTPS로 하지 않는 이유는, 암호.. 2021. 4. 12.
운영체제 운영체제 하드웨어를 관리하고, 응용 프로그램과 하드웨어 사이에서 인터페이스 역할을 하며 시스템의 동작과 자원을 제어하는 시스템 소프트웨어 프로세스 프로세스는 실행되는 프로그램 자체와 프로그램이 실행되는 주변 환경을 포함하는 개념이다. 디스크에서 메모리로 적재되어, CPU 자원의 할당을 받을 수 있음 실행되는 주변 환경이란 사용중인 파일, 데이터, 메모리 영역(스택, 힙, 데이터, 코드 영역) 주소 공간등을 뜻한다. 프로세스가 생성될 때, 기본적으로 하나의 스레드가 같이 생성된다. 각 프로세스는 별도의 주소공간을 할당받는다. Code : 코드 자체를 구성하는 메모리 영역 (프로그램 명령) Data : 전역변수, 정적변수, 배열 등 (초기화된 데이터) Heap : 동적 할당시 사용 (new(), malloc.. 2021. 3. 24.
클린코드 / 리팩토링 클린코드 가독성이 높은 코드 함수, 변수 네이밍이 잘 되어야 한다. 오류가 없어야 한다. 중복이 없어야 한다. 의존성을 최대한 줄여야 한다. 한 클래스 또는 메서드가 한가지 작업만 처리해야 한다. 리팩토링 프로그램의 외부 동작은 그대로 둔 채, 내부의 코드만 정리하면서 개선하는 것 코드의 가독성을 높이고, 유지보수에 도움이 된다. 리팩토링이 필요한 코드 중복된 코드 거대한 클래스 긴 메서드 Switch 문 절차지향으로 구현한 코드 차이점 리팩토링은 클린 코드의 가독성을 확보하면서 유지보수를 위한 코드 개선이 필요하므로 더 큰 의미를 갖는다. 클린코드 ∈ 리팩토링 클린 코드는 설계부터 잘 이루어진 것이 중요하다. 리팩토링은 결과물이 나온 이후 수정이나 추가작업시 개선해 나가는 것이 올바른 방향이다. 출처 .. 2021. 3. 24.
시간복잡도 big-O 시간복잡도 자료구조에 대해서 조회, 삽입, 변경(수정), 제거를 수행할 때 걸리는 시간과 입력의 함수 관계를 나타낸다. big-O 최악의 경우를 기준으로 시간 복잡도를 나타냄. 크기 비교(내림차순) O(n!) > O(2^n) > O(n^2) > O(nlog n) > O(n) > O(log n) > O(1) O(log n) < O(n) 항상 성립한다? &#39;항상&#39;은 아니다....단순히 값의 크기만 비교하는게 아니라 증가량의 차이도 고려하는 것 같다. (내용추가) big-Omega = 최선의 경우를 다루는 표기법 (하한점근선?) big-Theta = 최악, 최선의 중간경우를 다루는 표기법 종류는 이정도만 알고 넘어가자 자료구조별 시간복잡도 배열 Insert - O(n) 0번 인덱스에 삽입시 나머지.. 2020. 10. 28.
Graph Tree BST Graph 그래프는 노드(Node, 정점 -vertex-)와 노드와 노드를 연결하는 간선(edge)로 구성된다. 간선은 방향가질수도, 무방향(undirected)일 수 있다. 진입 차수 진입 차수(in-degree): 방향 그래프에서 외부에서 오는 간선의 수 (내차수 라고도 부름) 진출 차수(out-degree): 방향 그래프에서 외부로 향하는 간선의 수 (외차수 라고도 부름) 방향 그래프에 있는 정점의 진입 차수 또는 진출 차수의 합 = 방향 그래프의 간선의 수(내차수 + 외차수) 인접 행렬 방식 NxN 불린 행렬(Boolean Matrix)로써 matrix[i][j]가 true라면 i -> j로의 간선이 있다는 뜻이다. V개의 노드를 표현하기 위해 V*V 만큼의 크기가 필요하므로 공간복잡도는 O(V^.. 2020. 10. 27.
Linked List, Hash Table Linked List 단일 연결 리스트는 노드가 바로 다음 노드 방향으로 단일 연결만을 갖는 구조이다. 때문에 탐색 방향이 한쪽으로 밖에 진행되지 않는다. 이중 연결 리스트는 노드가 앞뒤의 노드와 연결된 구조이다. 양쪽으로 탐색이 가능하기 때문에 탐색의 시작을 처음과 끝 둘 중에 하나로 지정할 수 있다. 연결리스트의 임의의 위치에 노드를 추가하거나 삭제할 때 O(1)의 상수시간만큼의 시간 복잡도를 갖는다. 배열은 추가와 삭제에 대해 O(N)의 선형시간 만큼의 복잡도를 갖는다 연결리스트는 인덱스를 갖지 않는다. 그렇기 때문에 특정 데이터를 리스트에서 조회하고자 할 경우, 처음부터 전체를 확인해야 하며 O(N)의 시간복잡도를 갖는다. 조회삽입삭제Linked ListO(N)O(1)O(1) Hash Table .. 2020. 10. 26.
Queue 큐 / Stack 스택 Queue 큐 큐는 일상생활에서 줄서기를 할 때와 동일한 형태로 동작하는 자료구조다. 먼저 줄을 서있던 사람이 먼저 줄에서 이탈한다. 큐도 마찬가지로 먼저 입력된 데이터가 먼저 제거된다. 시간복잡도 자료구조 조회 삽입 삭제 Queue O(n) O(1) O(1) Stack 스택 스택은 쌓여있는 접시를 사용할 때와 같은 구조다. 추가와 삭제는 스택의 최 상위에서만 수행할 수 있다. 가장 먼저 입력된 데이터가 가장 먼저 이탈한다. 시간복잡도 자료구조 조회 삽입 삭제 Stack O(n) O(1) O(1) 2020. 10. 26.
반응형