CS 42

[Network] web socket 통신과 http 통신

소스분석을 하는 데, 어떤 경우에 socket통신과 http통신이 용이한지 궁금해져서 관련 내용을 찾아보았다. Web Socket 통신과 Http 통신의 공통점/차이점은 무엇일까? 둘 모두 네트워크를 통해 서버로부터 데이터를 가져오기위한 통신 방식에 해당한다. 가장 큰 차이점은 접속 유지 여부이다. Web Socket 통신 실시간 네트워킹 & 양방향적 통신. Http 통신의 단점을 보완하기 위해 등장했다. TCP/IP 소켓 통신을 지원한다. 접속을 계속 유지해서 데이터를 전달한다. 서버의 자원에 따라서 연결될 수 있는 클라이언트의 숫자가 한정된다. 실시간 정보 교환에 사용하며 http보다 속도가 빠르다. 실시간으로 데이터를 주고 받는 게임, 챗팅, 동영상 스트리밍의 경우 소켓 통신이 더 적합하다. Htt..

CS/Network 2019.09.20

[기초 지식] sample rate, channel, bit rate란?

오디오 프로그래밍 관련 기초 용어들을 모르는 부분이 많아 타 블로그 포스팅을 참조하여 정리해보았다! Sample Rate1초당 들리는 sample의 개수를 단위로 나타낸 것. 오디오 데이터의 표본 비율(속도). Hz단위. 1초당 샘플의 빈도수. (=sampling rate)Ex) Sample rate = 44.1 KHz : 1초에 sample 의 수가 약 44100개 들어있다.여기서 sample 이란? PCM(pulse code modulation) 을 통해 digital audio 표현한다. 아날로그 신호인 소리 신호를 디지털로 표현하기 위해 잘게 쪼개는데 이 잘게 쪼갠 정보를 discrete 한 디지털 정보로 표현한 게 sample이다. 잘게 쪼개는 기준은 일반적으로 시간이다. Channel스피커의 ..

CS 2019.09.20

[Network] 스위치의 종류, 포트, 패킷

회사에서 시스템 아키텍처를 파악하면서 용어에 대한 무지로 인한 서비스 흐름 파악이 힘듦을 느껴 정리한다. 스위치 스위치는 리피터처럼 전기적 신호를 증복하며 브리지의 내장 회로와 지능을 가진다. 스위치는 개별 컴퓨터 또는 다른 허브 및 스위치를 연결하는 다중 포트 장비이다. 스위치 환경에서 특정 포트를 모니터링 하고자 한다면 모니터링 포트 또는 네트워크 트래픽을 모니터링 할 수 있는 탭 장비를 통해 패킷을 복제(미러링)해서 트래픽 분석 장비로 전달해야 한다. L2 스위치 (데이터링크 계층. Mac Address 기반의 스위칭) 가장 흔히 볼 수 있는 스위칭 방식이다. 다른 스위칭 방식에 비해 저렴하다. MAC Address를 읽어 스위칭하고, 이것을 어떤 포트로 보낼 것인지 스위칭하는 장비이다. 모든 포트..

CS/Network 2019.09.20

[Linux] 생활코딩 리눅스 강좌 (2)

IO Redirection, 입출력의 방향을 바꾼다. 1. Output - ls –al 현재 디렉토리의 목록을 출력해라 - ls –l > result.txt 결과를 모니터로 출력하는 것이 아니라 파일로 저장하길 원할 때, ls –l 의 결과를 result.txt에 저장하겠다. 명령어를 실행하면 파일이 자동 저장됨. - cat result.txt 파일 내용을 출력해보면 정상적으로 저장된 것을 볼 수 있음 - output을 화면으로 출력하는 것이 기본인데 방향을 돌려서 파일에 저장을 시켰다. 이런 것이 리다이렉션에 해당한다. - ls –al : ls라는 프로그램의 입력값은 -al라는 의미. - > 는 리다이렉션을 의미 - rm rename2.txt 1>result.txt rename2.txt 해당 파일이 이..

CS/OS 2019.09.17

[Linux] 생활코딩 리눅스 강좌 (1)

실무에서 필수적인 리눅스에 대한 사용경험이 없어 생활코딩을 활용해서 기초지식을 쌓아보자! 리눅스는 문자를 입력해서 명령을 진행한다. (터미널과 같은 방식) - GUI : 아이콘을 이용해서 명령하는 방식이다. - CLI(Command Line interface) : 명령어를 이용해서 명령하는 방식이다. 명령어는 현재 있는 디렉토리를 기준으로 진행된다. 기초명령어 ls :현재 디렉토리의 파일 목록을 출력하는 명령어. ls -l은 자세히 보기 pwd: 현재 위치하고 있는 디렉토리를 알려주는 명령어생호 mkdir 새로 생성할 디렉토리명 : 디렉토리 생성 touch 비어있는 파일을 생성한다 cd 이동할 디렉토리의 경로명. Change directory 상대경로와 절대경로 상대경로는 현재 디렉토리의 위치를 기준으로..

CS/OS 2019.09.16

[자료구조] Heap

Heap 힙은 자료구조의 일종으로 트리 형식을 하고 있다(Complete Binary Tree). 트리에서 가장 작은 원소를 최상위 루트에 두게 한다. 순서를 가진 큐나 리스트의 가장 작은 원소에 빠르게 접근해야 하는 경우에 유용하다. 우선 순위 큐(Priority Queue)를 위해 만들어진 자료구조다. 각 노드는 자신의 자식보다 작으므로 원소들을 순서대로 위치시키고 싶을 때 가장 유용한 방법은 아니다. 힙 트리에서는 중복값을 허용한다. 배열에 트리의 값들을 넣어줄 때, 0 번째는 건너뛰고 1 번 index 부터 루트노드가 시작된다. (= 노드의 고유번호 값과 배열의 index 를 일치시켜 혼동을 줄인다.) 부모노드와 자식노드를 찾기 쉽다. 왼쪽 자식 노드의 인덱스 = (부모 인덱스) * 2 오른쪽 자..

CS/Data Structure 2019.02.12

[자료구조] Map, Set

Map 맵은 hash라고도 불린다. 배열이나 딕셔너리와 관련 있는 key-value 형태의 저장소이다. 키 값은 트리상에서 한 번만 나타난다(중복되지 않는다). 만약, 동일 키로 다시 데이터를 입력할 경우 원본 키에 있던 값은 덮어씌워진다. Map의 종류 HashMap : Map 인터페이스를 구현하기 위해 HashTable을 사용한 클래스. 중복을 허용하지 않고 순서를 보장하지 않음. key와 value로 null이 허용 HashTable : HashMap보다 느리지만 동기화를 지원한다. key와 value로 null이 허용되지 않는다. TreeMap : 이진 검색 트리의 형태로 key-value 쌍으로 이루어진 데이터를 저장한다. 정렬된 순서로 키, 값 쌍을 저장하므로 빠른 검색이 가능하다. 저장 시 ..

CS/Data Structure 2019.02.07

[자료구조] Tree, Graph

자료구조의 분류 선형구조 : array, linked list, stack, queue, deque 비선형구조 : tree, graph Tree 트리는 자식이라 부르는 서로 다른 원소를 많이 나열할 수 있는 자료구조이다. (저장보다 표현에 집중하는 자료구조) 노드와 브랜치를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태이다. 사용 예시 : 가족의 족보, 연산 수식, 회사조직도, heap 등을 표현하기에 적합 노드 : 트리의 기본요소. 자료항목과 다른 항목에 가지를 합친 것을 의미한다. 근노드 : 트리의 맨 위에 있는 노드이다. 차수(degree) : 각 노드에서 뻗어나온 가지의 수. 트리의 차수 : 노드들의 차수들 중에서 가장 많은 수. 단말노드(Terminal Node) = Leaf No..

CS/Data Structure 2019.02.06

[자료구조] Stack, Queue, Deque

1. Stack - 리스트의 한쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료구조이다. - LIFO : Last In First Out 방식으로 자료를 처리한다 . - 사용용도 서브 프로그램 호출 시 복귀 주소를 저장할 때 함수 호출의 순서 제어 인터럽트가 발생하여 복귀 주소를 저장할 때 후위 표기법으로 표현된 산술식 연산 0 주소 지정방식 명령어의 자료 저장소 재귀프로그램의 순서 제어 컴파일러를 이용한 언어 번역 Top : Stack으로 할당된 기억공간에 가장 마지막으로 삽입된 자료가 기억된 위치를 가리키는 요소. 스택 포인터 Bottom : 스택의 가장 밑바닥 Push : 스택에 자료 입력 Pop : 스택에서 자료 출력 package com; import java.util.EmptyStackE..

CS/Data Structure 2019.02.05

[자료구조] Array List, Linked List

1. List 순서가 있는 데이터의 집합, 데이터 중복 허용한다. 배열과는 다르게 크기 지정에 한계가 없으므로 크기를 지정할 필요가 없다. 2. Array List 배열로 이루어진 리스트이다. 기존의 Vector class를 개선한 것이다. 논리적인 저장순서와 물리적인 저장순서가 동일하다. 데이터 삽입시 만약 첫번째 자리에 새로운 데이터를 추가할 경우(worst case) 모든 원소들을 1씩 shift 해야 한다. 이 경우 시간복잡도는 O(n)에 해당한다. 3. Linked List 연결리스트: 자료들을 임의의 기억공간에 기억하며. 일렬로 연결된 자료를 저장할때 사용한다. 자료 항목의 순서에 따라 노드의 포인터 부분을 이용하여 서로 연결시킨 자료구조이다. (= 논리적 저장 순서와 물리적 저장 순서가 일치..

CS/Data Structure 2019.02.05
반응형