본문 바로가기

프로그래밍

(8)
IaaS, PaaS, SaaS, DaaS 장단점과 예시 1. IaaS (Infrastructure as a Service)정의:컴퓨팅 인프라(서버, 스토리지, 네트워크)를 가상화하여 제공. 사용자는 하드웨어를 구매하지 않고 필요할 때만 리소스를 활용.장점:유연성: 리소스를 필요에 따라 확장 또는 축소 가능.비용 효율성: 초기 하드웨어 구매 비용 절감.컨트롤: OS, 네트워크 구성 등 완전한 제어권.다양한 사용 사례: 맞춤형 애플리케이션 환경 구축 가능.단점:복잡성: 시스템 관리와 유지보수 책임이 사용자에게 있음.기술 요구: 사용자 측에서 인프라를 관리할 전문성이 필요.예시:AWS EC2: 가상 서버 인스턴스를 제공.Microsoft Azure Virtual Machines: 클라우드 기반 가상 머신.Google Compute Engine: 스케일 가능한 가상..
시계열 DB 종류 시계열 DB의 종류와 특징은 아래와 같다.  1. InfluxDB특징:경량화된 설계와 고성능.IoT, DevOps, 애플리케이션 모니터링에 적합.SQL과 유사한 질의 언어(TICKscript) 제공.사용 사례:센서 데이터 수집 및 분석.서버 CPU 사용률 모니터링.2. TimescaleDB특징:PostgreSQL 기반 확장형 데이터베이스.기존 SQL 언어 사용 가능.강력한 시계열 데이터 파티셔닝 및 압축 기능.사용 사례:금융 트랜잭션 기록.IoT 디바이스 데이터 분석.3. OpenTSDB특징:HBase 기반의 분산 데이터 저장소.대규모 데이터를 처리할 수 있는 확장성.멀티태그 기반 데이터 모델링.사용 사례:네트워크 상태 모니터링.대규모 IoT 센서 데이터 수집.4. Prometheus특징:오픈소스 모니터..
Apache Kafka vs Apache Flink Kafka는 데이터를 수집, 저장, 전달하는 데 최적화된 플랫폼Flink는 데이터를 실시간으로 처리 및 분석하는 데 최적화된 엔진두 기술은 서로 다른 목적을 가지고 있지만, 함께 사용하면 강력한 실시간 데이터 파이프라인과 분석 시스템을 구축 가능 특성Apache KafkaApache Flink 역할데이터의 전달 및 저장 플랫폼데이터의 실시간 처리 및 분석 엔진데이터 흐름Producer → Broker → Consumer데이터를 Flink 클러스터 내에서 처리 및 분석주요 기능- 메시지 큐 역할- 데이터 파이프라인 구축- 이벤트 스트리밍- 스트리밍 데이터 처리- 복잡한 연산 및 패턴 탐지데이터 저장데이터를 디스크에 영구 저장 가능데이터 저장 기능 없음 (실시간 처리 후 외부에 저장)데이터 처리단순 데이터 ..
ROS2 기반 로봇 ROS2 기반 로봇은 분산 시스템 아키텍처를 사용. 로봇의 다양한 기능들이 독립적인 노드로 구현되어 서로 통신하며 작동함. 동작 과정초기화: 로봇이 시작되면 필요한 노드들이 실행됩니다.센서 데이터 수집: 센서 노드들이 환경 정보를 수집하여 토픽으로 발행합니다.데이터 처리: 수집된 데이터를 처리하는 노드들이 정보를 분석합니다.의사결정: 처리된 데이터를 바탕으로 로봇의 행동을 결정하는 노드가 작동합니다.액추에이터 제어: 결정된 행동을 실행하기 위해 모터 제어 노드 등이 작동합니다.피드백: 로봇의 상태 변화가 다시 센서를 통해 감지되어 순환적으로 동작합니다.특징모듈성: 각 기능이 독립적인 노드로 구현되어 유지보수와 확장이 용이합니다유연성: 다양한 통신 방식(토픽, 서비스, 액션)을 상황에 맞게 선택할 수 있습..
DDS(Data Distribution Service) 란? DDS(Data Distribution Service)는 OMG(Object Management Group)에서 표준화한 데이터 중심 통신 미들웨어입니다. ROS2에서는 이를 기본 통신 프로토콜로 채택하고 있습니다.DDS의 주요 특징은 다음과 같습니다:통신 방식:UDP 기반의 멀티캐스트 통신을 사용하며, RTPS(Real-Time Publish-Subscribe) 프로토콜을 구현합니다.분산 시스템:중앙 서버 없이 분산된 노드 간 통신이 가능합니다.실시간성:데이터의 실시간 전송을 지원합니다.QoS(Quality of Service):다양한 통신 품질 설정을 제공합니다.동적 발견:노드들이 서로를 자동으로 발견하고 연결할 수 있습니다.ROS2에서 DDS는 다음과 같은 역할을 수행합니다:노드 간 통신:토픽, 서..
토픽 / 서비스 / 액션 등의 통신 패턴 ROS2 에서 사용하는 통신 방식에 대해 알아 봅니다.   토픽:소켓 기반이지만, 대부분 UDP를 사용합니다.DDS(Data Distribution Service)를 통해 구현되며, 이는 UDP 멀티캐스트를 주로 사용합니다.발행-구독(publish-subscribe) 패턴을 따릅니다.서비스:HTTP와 유사한 요청-응답 모델을 사용하지만, HTTP 프로토콜을 직접 사용하지는 않습니다.역시 DDS를 기반으로 구현되며, 대개 UDP를 사용합니다.동기식 통신 방식을 제공합니다.액션:서비스와 토픽의 특성을 결합한 형태입니다.장기 실행 작업에 적합한 비동기식 통신을 제공합니다. [토픽 방식] [서비스 방식] [액션 방식]액션(action)은 그림1의 `Node A - Node B`처럼 비동기식+동기식 양방향 메시지..
워크스패이스 / 패키지 / 노드 RS02에서 워크스패이스, 패키지, 노드 생성 등은 app 개발의 기본이고 찾아본 필요성은 아래와 같다. 워크스페이스 생성의 필요성1) 프로젝트 구조화: 워크스페이스는 ROS2 프로젝트의 최상위 디렉토리로, 관련된 패키지들을 체계적으로 관리할 수 있게 해줍니다. 2) 빌드 환경 설정: colcon 빌드 시스템을 사용하여 프로젝트를 쉽게 빌드하고 관리할 수 있습니다. 3) 의존성 관리: 워크스페이스 내의 패키지들 간의 의존성을 자동으로 해결해줍니다. 패키지의 필요성1) 모듈화: 기능별로 코드를 분리하여 관리할 수 있어 재사용성과 유지보수성이 향상됩니다. 2) 의존성 선언: 패키지 단위로 필요한 의존성을 명시적으로 선언할 수 있습니다. 3) 배포 용이성: 패키지 단위로 코드를 쉽게 공유하고 배포할 수 있습니..
ROS2의 핵심 개념 ROS1과 ROS2의 시스템 레이어노드(Node):ROS2 시스템의 기본 실행 단위독립적으로 돌아가는 프로세스로, 특정 작업을 수행다른 노드들이랑 소통하면서 전체 로봇 시스템을 구성토픽(Topic):노드 간에 데이터를 주고받는 비동기식 통신 방식발행자가 데이터를 보내고 구독자가 받는 구조센서 데이터 같은 계속 흘러가는 정보서비스(Service):노드 간에 요청하고 응답받는 동기식 통신 방식뭔가를 물어보고 답을 받는 식으로 작동한 번 하고 끝나는 작업액션(Action):오래 걸리는 작업을 위한 비동기식 통신 방식목표 설정하고, 중간 상황 받고, 최종 결과 얻는 식으로 구성복잡한 로봇 동작, 예를 들면 내비게이션파라미터(Parameter):노드의 설정 값인데, 실행 중에도 바꿀 수 있다노드가 어떻게 동작할지..