Best click
-
MPLS 기술
MPLS (81.응용.1) [정의] Layer 2레벨 교환기술을 통해 IP패킷을 Label을 이용한 고속의 전송기술 [요소기술] 네트워크 장비 (LER, LSR), 프로토콜 (LSP, LDP, LIB, FEC, LABEL) 1) 네트워크 장비 - LER : Label Edge Router- Packet 목적지를 분류하여 Label을 붙이는 라우터 - LSR : Label Switch Router- Label을 붙인 패킷이 들어오면 Label스위칭을 통해 패킷 전달 2) 프로토콜 - LSP (Label Switched Paths) : FEC에 속한 패킷이 전달되는 경로 - LDP (Label Distribution Protocol) : 이웃 LSR에게 레이블과 전송 경로를 알려주는 과정 - LIB (Lab..
2023.03.01
-
CNCF, CloudEvents
CloudEvents란? 클라우드에 CNCF의 cloudevents를 적용해 표준화된 이벤트 포맷을 정의할 수 있습니다. CloudEvents란 CNCF(Cloud Native Computing Foundation)에서 상호운용성(Interoperability)과 이식성(Portability)이 높은 이벤트를 정의한 새로운 포맷이며 특정 구현체가 아닌 이벤트 데이터를 기술하기 위한 스펙(Specification)입니다. CNCF (Cloud Native Computing Foundation)이란? Cloud Native 오픈소스 기술들을 추진하고 관리하는 단체이며, Cloud 환경에서 발생하는 다양한 기술적 문제를 오픈소스로 해결하는 것을 목표로 하고 있습니다. 이를 통해 벤더 중립적인 오픈소스 프로젝트..
2022.09.17
-
Apache Flink
베를린 TU대학교에서 시작된 아파치 프로젝트로 Exactly-once 이벤트 처리를 보장하는 Native Stream 방식의 Stream Processing 플랫폼입니다. 최근 우버(Uber Technologies Inc.)를 비롯하여 알리바바(Alibaba Group Holding Limited) 등의 글로벌 대기업들이 사용하는 Stream Processor로 자리 잡고 있습니다. Apache Flink 특징 Native Stream : 오버헤드는 낮으면서도 Exactly-once 이벤트 처리를 보장 In-Memory : JVM에서 실행되며 커스텀 메모리 매니저를 구현해 안정적인 메모리 사용량을 유지 Low latency와 High throughput : 낮은 지연과 우수한 처리 성능 이외 Event ..
2022.09.17
-
Apache Kafka
Apache Kafka는 Event를 topic 별로 저장하는 MQ(Message Queue)입니다. 애플리케이션 간에 대용량 메시지를 교환하기 위해 사용되고, 분산환경에 특화되어 있는 Message Queue입니다. Apache Kafka 등장배경 Publisher (발신자) : Kafka에게 원하는 메시지(데이터)를 전송, 메시지를 누가 받을지 신경쓰지 않음 Subscribe (수신자) : 원하는 topic을 구독하여 원하는 시점에 메시지를 가지고 옴 이를 개선하기 위해 Event Broker인 Kafka를 사용하게 되었고 Pub/Sub 구조를 통하여 발신자와 수신자는 메시지를 누가 보냈는지, 언제 받을지에 대한 고민을 하지 않고 메시지를 전달하는데만 초점을 맞추어 구현이 가능하게 되었습니다. Eve..
2022.09.14
MFC (Windows library)
more
Basic Modern C++
-
C++ 11 : default, delete 키워드
default 컴파일러가 함수를 자동으로 생성하도록 명시적으로 지정 delete 컴파일러가 함수를 자동으로 생성하지 않도록 명시적으로 지정 class TEST { public: TEST() = default; TEST(const TEST&) = default; ~TEST() = default; TEST & operator=(const TEST) = delete; void* operator new(size_t) = delete; // new로 할당하지 못하게 방지 }; Q. 멤버 변수를 기본 타입이 아닌 사용자가 정의한 클래스 타입으로 멤버변수를 갖고있는 클래스이면 위에 처럼 TEST( const TEST& ) = default; 로 선언해도 깊은 복사가 이루어질까? 안될거같은데?
2020.08.08
-
C++ 11 : 지연 평가
컴퓨터 프로그래밍에서 느긋한 계산법(Lazy evaluation)은 계산의 결과값이 필요할 때까지 계산을 늦추는 기법이다. (개념적인 부분) 느긋하게 계산하면 필요없는 계산을 하지 않으므로 실행을 더 빠르게 할 수 있고, 복합 수식을 계산할 때 오류 상태를 피할 수 있고, 무한 자료 구조를 쓸 수 있고, 미리 정의된 것을 이용하지 않고 보통 함수로 제어 구조를 정의할 수 있다. 이렇게 얘기하면 무슨말인지 와닿지 않을 것이다. 앞에 얘기는 다 까먹고 그냥 새롭게 얘기를 해보자. Effective C++ 에서는 '변수 정의는 최대한 늦출 수 있을때까지 늦춰라' 라는 말이 있는데, 보통 우리는 변수 선언은 함수의 최상단에 몰아놓는 경향이 있다. 코드의 가독성 때문이기도 하는데, ( 내 생각엔 학교에서 프로그래..
2020.08.08
-
C++ 11 : 일급 함수 (1)다른 함수의 매개변수로 함수 전달
std::function 은 호출 가능한 함수, 람다 표현식, 또는 다른 함수 객체, 멤버 함수에 대한 포인터, 멤버 변수에 대한 포인터 등을 저장, 복사, 호출할 때 사용한다. typedef 키워드는 다른 타입이나 함수에 대한 별칭을 정의할 때 사용한다. // ConsoleApplication1.cpp : 이 파일에는 'main' 함수가 포함됩니다. 거기서 프로그램 실행이 시작되고 종료됩니다. // #include "pch.h" #include #include #include #include // 0) return x / y; else return -1; } /* 함수 포인터를 매개변수로 받는 함수 정의 */ void PassingFunc(FuncType fn, int x, int y) { cout
2020.08.08