alt
Home
hungryjayy
Cancel

IDL(Interface Definition Language)

: 다른 언어로 작성된 여러 서비스 들을 연결하기 위해 중간 인터페이스를 정의하는 언어 XML, JSON, Protocol Buffer 등이 있다. 구조화된 데이터를 IDL로 직렬화(Serialization) 해서 보내, 통신 환경에서 이종간 플랫폼 환경에도 원활한 통신이 잘 되도록 한다. XML 사람이 읽고 쓸수 있음 ...

gRPC(Google RPC) framework.

RabbitMQ와 비교했을 때 GRPC의 특징 HTTP/2 프로토콜을 사용해 메시지 헤더 압축, server push 등으로 성능이 좋다. IDL은 protocol buffer(PB)를 사용해 data를 Byte형태의 스트림으로 변경해 보낸다. JSON 등 다른 직렬화 방식도 사용 가능 대기 시간이 짧고 처리율이 높은 통신에 필요(e...

JPA 벌크연산(update, delete)

벌크연산 벌크연산이란? 여러 건의 데이터를 한번에 변경한다. update, create, delete ORM마다 지원하는 벌크연산이나 실제로 수행되는 방식이 다르다고한다. 각 orm을 사용할 때 예상하는 동작방식이 실제로 맞는지를 확인해야한다. e.g) JPA에서는 기본적으로 Bulk DELETE를 지원하지 않...

힙 정렬(Heap sort)

: 자료구조 힙(최대 힙, 최소 힙)을 이용한 정렬 방법 최대 힙, 최소 힙으로 내림차순, 오름차순 정렬을 할 수 있다. O(n log n) 의 시간복잡도를 가져, 가장 빠른 정렬 방법 중 하나이다. 비교할 때 자식, 부모 노드로 이동 log N * 모든 노드 N개에 대해 수행 N 힙은 완전 이진 트리 ...

POJO(Plain Old Java Object)

: 오래된 방식의 자바 객체. 자바 언어가 갖는 객체지향적 설계와 개발의 장점을 잃지 않고 특정 기술이나 프레임워크 등 외부 환경에 종속되지 않는 것. e.g) 특정 Spring 프레임워크를 의존하게 되면 해당 객체는 POJO가 아니게 되는 것. 우리는 사람들이 자기네 시스템에 보통의 객체를 사용하는 것을 왜 그렇게 반대하는지 궁금하였는데...

합병 정렬(Merge sort)

: 배열의 크기를 더이상 나눠지지 않은 형태까지 분할하고(Divide), 전부다 합쳐질 때 까지 정렬하며 합친다(Conquer) 어떠한 경우에도 O(n logn) 시간 복잡도를 갖는다.(복잡도가 안정적) Divide and Conquer 방식 문제를 작은 단위의 문제로 분할하고 각각을 해결(정복)한다음 결합해서 문제를...

퀵 정렬(Quick sort)

: pivot(보통 가운데 값)을 기준으로 좌우 구간으로 나눠 정복(분할, 정복). e.g. 오름차순의 경우, pivot 왼쪽엔 pivot보다 작은 값을, 오른쪽엔 큰 값을 위치하도록 partition. 또 이렇게 나뉜 좌 우 배열을 다시 quick sort 수행(분할). 이 때 pivot 값은 해당 부분 배열에서 이미 본인의 위치를 찾은 것이...

OWT Stream publish, subscribe 코드 분석 및 시나리오

: 아래의 과정으로 코드 분석해보기 Publish 과정 Client(엔드포인트에서 사용하는 사용자) 유효성검사 RTCRtp인코딩 파라미터, 오디오, 비디오 인코딩 파라미터 validation audio, video가 MediaStream에 존재하는 트랙들과 ...

프로세스(Process)

: 실행중인 프로그램. 디스크로부터 메모리에 적재되어 CPU의 할당을 받고, OS로부터 주소 공간, 메모리 등을 할당받는 것 Memory Section Data(BSS + DATA) 전역 변수(초기화 되지 않은 전역변수는 BSS영역에, 나머지는 DATA영역), static 변수 저장 프로세스 생성 시점에 ...

선택 정렬(Select sort)

: 제자리 정렬 알고리즘. 가장 작은원소를 찾아 첫번째 자리에, 그 다음을 찾아 두번째 자리에 .... 이러한 방식으로 진행 기본적으로 O(n^2) 의 시간복잡도를 갖는다. 장점: 자료 이동 횟수가 미리 결정됨 단점: 값이 같은 레코드가 있는 경우에 상대적인 위치가 변경될 수 있다. 정렬 안정성을 만족하지 않는다. -...