본문 바로가기

분류 전체보기219

protobuf 사용하기 Protocol Buffer는 구글에서 개발하고 오픈소스로 공개한 직렬화 데이터 구조입니다. C++, Java, Python, C#, Go, Object-C, JavaScript, Ruby 등 다양한 언어를 지원하며 특히 직렬화 속도가 빠르고 직렬화된 파일의 크기도 작아서 Apache Avro 파일 포맷과 함께 많이 사용되고 있습니다. (직렬화란 데이터를 파일로 저장하거나 또는 네트워크로 전송하기 위해 바이너리 스트림 형태로 저장하는 행위입니다) 특히 gRPC라는 네트워크 프로토콜의 경우 HTTP 2.0을 기반으로 하면서 메시지를 이 프로토콜 버퍼를 이용하여 직렬화하기 때문에 프로토콜 버퍼를 이해해 놓으면 gRPC를 습득하는 것이 상대적으로 쉽습니다. 프로토콜 버퍼는 하나의 파일에 최대 64MB까지 지원.. 2022. 5. 9.
SENSORIS - 소개 소개 (Instruction) SENSORIS(SENSOR Interface Specification)는 차량에서 클라우드로, 클라우드간에 차량 센서 데이터를 요청하고 전송하기 위한인터페이스를 정의합니다. 사양과 표준은 인터페이스의 콘텐츠와 인코딩에 중점을 둡니다. SENSORIS는 그림 1에 보여진 것처럼 세 개의 액터 역할 (actor roles)을 구분합니다. 차량(vehicle)은 차량 플릿(fleet)의 일부입니다. 차량 플릿의 차량들은 차량 클라우드(cloud)와 통신합니다. 차량 클라우드는 또한 서비스 클라우드와 통신할 수 있습니다. 차량 플릿, 차량 클라우드 그리고 서비스 클라우드는 행위자 역할입니다. 클라우드 인스턴스는 차량 클라우드와 서비스 클라우드의 역할을 모두 가질 수 있습니다. 그.. 2022. 5. 5.
route table 건드려 보기 리눅스 환경에서 네트워크가 되지 않을 때 라우팅 테이블 확인이 필요한 경우가 있을 수 있습니다. 라우팅 테이블 확인하기: route -n $ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.1.1.1 0.0.0.0 UG 100 0 0 enp8s0 0.0.0.0 10.1.1.1 0.0.0.0 UG 600 0 0 wlp7s0 10.1.1.0 0.0.0.0 255.255.255.0 U 100 0 0 enp8s0 10.1.1.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp7s0 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlp7s0.. 2022. 5. 1.
tree - 디렉터리 및 파일을 트리 형식으로 출력 특정 디렉토리의 하위 구조를 계층적인 구조로 확인하고 싶을 때 "tree" 명령어를 사용합니다. 명령어가 존재하지 않을 경우 설치해 줍니다. $ tree --version zsh: command not found: tree $ sudo apt install tree $ tree --version tree v1.8.0 (snap) (c) 1996 - 2018 by Steve Baker, Thomas Moore, Francesc Rocher, Florian Sesser, Kyosuke Tokoro 형식: tree [옵션] Option Param Description -a All files are listed (including hidden files/directories) -d List directory o.. 2022. 5. 1.
JSON Parser - RapidJSON Native JSON Benchmark 비교 자료를 참고하면 어떤 JSON 라이브러리를 선택할지 조금이나마 도움이 될 수 있습니다. 다만 관련 자료가 Rapid JSON 라이브러리 작성자이기 때문에 객관적인 결과일까 하는 의문이 들긴 합니다. 그럼에도 불구하고, 저는 RapidJSON의 헤더 폴더를 개발 프로젝트의 include 디렉토리에 복사만 해서 바로 사용할 수 있어 RapdJSON을 주로 사용하고 있습니다. RapidJSON 사용법 1. GitHub에서 라이브러리를 다운로드 받습니다. $ git clone https://github.com/Tencent/rapidjson.git 2. 헤더파일(include) 폴더를 프로젝트에 복사합니다. 3. API를 사용하여 코드를 작성합니다. // rapidj.. 2022. 5. 1.
nice - 프로세스간 실행 우선순위 리눅스에서 프로세스(process, 프로그램)가 실행될 때 nice라는 값을 가지고 실행됩니다. 즉, 여러 프로세스가 실행되고 있을 때 우선순위에 따라 작업을 조정하고 싶을 경우에는 nice 값을 조정할 수 있습니다. nice 값의 범위는 -20부터 19까지 가지며 기본값은 0 입니다. nice 값이 작을수록 우선순위가 높고 nice 값이 클수록 우선순위가 낮아집니다. 하지만 일반 사용자는 프로세스의 nice 값을 조절할 때는 작은 값에서 큰 값으로만 조절이 가능합니다. (중요한 프로세스의 작업을 보호하기 위해 프로세스의 우선순위를 낮은 값에서 높은 값으로 조절할 수 없습니다.) nice -n[n] [프로세스명] // 프로세스의 nice 값이 n만큼 증가된 상태로 실행 nice [프로세스명] // 프로세.. 2022. 4. 30.