본문 바로가기

Programming29

MQTT (Message Queue Telemetry Transport): mosquitto MQTT 는 IBM 에 의해서 개발되었고 2014년 국제 민간 표준기구인 오아시스에 의해서 표준으로 제정되었습니다. 이 프로토콜이 사물인터넷의 통신규약으로 각광 받고 있는 이유는 경량화가 가능해서 통신 대역폭이 제한적인 사물인터넷에 적합하기 때문 입니다. 현재 페이스북도 회원들간의 메시지 전송에 MQTT 프로토콜을 이용하고 있다고 합니다. 사물 통신(M2M: Machine to Machine), 사물 인터넷(IoT: Internet of Things)과 같이 대역폭이 제한된 통신 환경에 최적화하여 개발된 푸시 기술(push technology) 기반의 경량 메시지 전송 프로토콜입니다. MQTT 프로토콜은 푸시 기술(push technology)에서 일반적으로 사용되는 클라이언트/서버 방식 대신, 메시지 .. 2022. 12. 5.
러스트(Rust) 관련 기사 (ZDNET Korea) 참고사이트 토발즈 "리눅스, 내년엔 '러스트' 언어도 품는다" (2022/6/22) 리누스 토발즈 "러스트 병합, 리눅스 6.1부터" (2022/9/23) MS 애저 CTO "C·C++ 이제는 그만" (2022/9/25) 러스트, 자동차 시스템도 혁신한다 (2022/9/28) 러스트, C언어와 연계성 강화 (2022/10/4) 리눅스 6.0 출시…러스트 등 핵심 변경은 6.1에 (2022/10/5) [영상] 러스트, C/C++ 대체할 수 있을까? (2022/10/11) 구글, 러스트로 만든 스마트홈 OS '카타OS' 공개 (2022/10/18) 러스트 1.65 버전 공개…기능 범용성 대거 확대 (2022/11/8) 美 국가안보국, C/C++ 대신 러스트·고·C# 사용 권고 (2022/11/13) 러스트 .. 2022. 12. 4.
Lua 기본 문법 익히기 (1) 로블록스(ROBLOX) 게임을 루아 언어로 만든다고 하여 급 관심이 생긴 언어입니다. 루아(Lua, EncodeLua) 프로그래밍 언어는 가벼운 명령형/절차적 언어로, 확장 언어로 쓰일 수 있는 스크립팅 언어를 주목적으로 설계되었습니다. 그러나 알고리즘적 설계(테이블 등)가 많이 내재되어 있고 인터프리터(언어 실행기)로만 코드뭉치를 실행할 수 있으므로, 선언형 언어로도 볼 수 있습니다. 루아는 "달"을 의미하는 포르투갈어 단어이다. 기능 루아(Lua)는 확장 언어와 스크립트 언어를 지향하고 있으며, 충분히 작기 때문에 많은 플랫폼에서 사용할 수 있습니다. 루아는 불 값, 숫자(기본적으로 배정밀도 실수형), 그리고 문자열과 같은 적은 수의 기본 데이터형만을 지원하며, 배열, 집합, 해시 테이블, 리스트, .. 2022. 11. 29.
Visual Studio Code - Rust Plugin(Extensions) rust-analyzer 러스트 프로그래밍 언어를 위한 Language Server Protocol의 구현입니다. VS Code, Emacs 및 Vim을 포함한 많은 코드 편집기에서 코드 완성 및 정의/구현 이동과 같은 기능을 제공합니다. 1) IntelliSense 2) Inlay hints 먼저 알 수 있는 것 중 하나는 유추된(inferred) 타입, 반환 값, 명명된 매개변수를 편집기의 가벼운 텍스트로 표시하기 위한 인레이 힌드를 제공한다 인레이 힌트는 코드를 이해하는 데 도움이 될 수 있지만 "Editor > Inlay Hints: Enabledd setting(editor.inlayHints.enabled)을 통해 기능을 비활성화할 수 있습니다. 3) Hover information 변수, 함.. 2022. 11. 5.
The Rust Programming Language 최근에 개발자들이 가장 좋아하는 언어 중 하나가 Rust라고 합니다. 개발자뿐만 아니라 기업에서도 Rust 개발자들에 대한 관심을 보이고 있는 듯 하구요. Rust는 C/C++ 같은 기존 시스템 프로그래밍 언어를 안전하게 대체할 수 있습니다. C/C++와 마찬가지로 Rust에는 거의 모든 최신 언어에서 제공하는 대규모 런타임 또는 가비지 수집기가 없지만 C/C++와 달리 Rust는 메모리 안전성을 보장하기 때문에 Rust는 C/C++에서 발생할 수 있는 잘못된 메모리 사용과 관련된 수많은 버그를 방지합니다. 아마도 오버헤드 없는 안전한 메모리 관리가 가능하다는 점에서 시스템 프로그래머들이 많이 선호하는 것 같습니다. 리눅스뿐만 아니라 안드로이드 OS 개발 언어에도 Rust가 추가되거나 추가될 예정입니다... 2022. 11. 1.
C++ Library: spdlog C++20 버전부터는 기본 라이브러리(std::format)로 제공하는 기능이기 때문에 최신 컴파일러에서는 필요없을 수 있으나 여전히 std::cout만을 사용하시는 이전 버전 개발자라면 아주 유용하게 사용하실 수 있는 라이브러리입니다. 표준 C에서 printf()처럼 형식지정자를 자유자재로 사용하기 싶지만 std::cout은 어딘지 모르게 사용성이 떨어지기도 하고 익숙해지질 않은 것 같습니다. 공개 소스를 컴파일하려면 참고사이트 URL을 참고하세요. $ git clone https://github.com/gabime/spdlog.git $ cd spdlog && mkdir build && cd build $ cmake .. && make -j 당연하게도 컴파일을 하면 아래와 같이 헤더 파일이 없어서 오.. 2022. 10. 7.