Computer Programs
-
[Capnp] Cap'n Proto 란Computer Programs 2022. 11. 7. 11:31
Cap'n Proto 란 구조화된 데이터의 format을 interchange하는 방식. Google ProtoBuf 와 방식 및 스키마는 비슷하지만, 인코딩 디코딩 속도면에서 ∞% 빠르다. 왜빠른가?→ encoding/decoding step이 없다. 인코딩이 Byte 단위로 정의된다. 데이터는 fixed width, fixed offset으로 정렬된다. Schema Language Google Protobuf 처럼 메시지 format을 먼저 지정하고, → capnp 컴파일러를 이용해서 원하는 언어로 컴파일. //myproto.capnp @0xdbb9ad1f14bf0b36; # unique file ID, generated by `capnp id` struct Person { id @0 :UInt32;..
-
[Protocol Buffer] google protobuf 란Computer Programs 2021. 6. 29. 18:23
https://yoongrammer.tistory.com/14 Protocol Buffer 란? 목차 Protocol Buffer 란? 구글에서 오픈소스로 공개한 언어, 구조화(structured)된 데이터를 직렬화(serialization) 하는 방식입니다. 줄여서 protobuf , 더 줄여서 pb 라고 부릅니다. protobuf는 여러 프로그램.. yoongrammer.tistory.com 구글에서 오픈소스로 공개한 구조화된 데이터를 직렬화 하는 방식. ( structured data serialization ) protocol buffer원리 person 객체를 json으로 person 객체 스키마 스키마 사용해서 json 데이터를 인코딩하면 protobuf는 다른 IDL ( XML, JSON )..
-
[ZeroMQ] Socket 생성 및 동작 확인 및 구현Computer Programs 2021. 6. 29. 16:32
https://zguide.zeromq.org/docs/chapter2/ 2. Sockets and Patterns Chapter 2 - Sockets and Patterns # In Chapter 1 - Basics we took ZeroMQ for a drive, with some basic examples of the main ZeroMQ patterns: request-reply, pub-sub, and pipeline. In this chapter, we’re going to get our hands dirty and start to learn how to zguide.zeromq.org chapter2 sockets and patterns zeroMQ 는 개발자들이 제멋대로인 컨셉들 사용하는거..
-
[ZeroMQ] Mac Os BigSur & Linux Ubuntun 18.04 에서 설치 및 helloworld 테스트Computer Programs 2021. 6. 28. 15:31
ZeroMQ는 다양한 전송 프로토콜을 제공하며, 대용량 데이터 처리에 적합한 오픈소스 메시지 지향 미들웨어. PUB 소켓에서 채널에 데이터를 브로드 캐스팅 하면, SUB 소켓에서 필터링을 통해 원하는 데이터를 채널로부터 취득하는 방식으로 동작한다. https://zguide.zeromq.org/docs/chapter1/ 1. Basics Chapter 1 - Basics # Fixing the World # How to explain ZeroMQ? Some of us start by saying all the wonderful things it does. It’s sockets on steroids. It’s like mailboxes with routing. It’s fast! Others try to..
-
[CMake] CMakeLists.txt 작성하기Computer Programs 2021. 6. 28. 15:03
l Make - 항상 유지/보수를 신경써야한다. ( 소스 코드를 수정해서 의존성이 바뀔 때 마다 Makefile에 업데이트 해야한다. ) - 프로젝트 규모가 거대해 질수록 관리해야할 소스 파일이 많아지고, 의존성 관계가 복잡해 진다. - Makefile 자체적으로 의존성을 파악해 주지만, Makefile에 기술된 의존성 (dependencies) 정보가 소스코드의 내용에 부합되게 관리되 있음이 전재 되어야 한다. - 소스코드-결과물 사이를 깔끔하게 추상화 할 수 있다. l CMake : Kitware 사에서 만든 프로그램을 build하기 위한 meta build system으로 다양한 빌드환경을 위한 빌드 파일을 생성하는 유틸리티로, Qt의 qmake와 비슷한 역할을 수행한다. - autoconfig /..