반응형 전체 글400 [c++] concept conceptconcept은 템플릿 타입이 만족해야 하는 조건의 집합기존에는 SFINAE나 enable_if로 구현하던 제약 조건을 더 간결하고 선언적으로 작성 가능✅ 필요성템플릿에서 에러 메시지는 복잡하고 난해 예전 방식templatevoid print(T t) { std::cout C++20에서 concept 사용templateconcept HasSize = requires(T t) { { t.size() } -> std::convertible_to;};templatevoid print(T t) { std::cout → T가 size()를 제공하지 않으면, 친절한 컴파일 오류 메시지 발생✅ 기본 문법1. requires 표현식 기반 정의templateconcept Incrementab.. 2025. 6. 3. 메모리 누수 ✅ 메모리 누수할당한 메모리(힙 메모리)를 해제하지 않아서 다시 사용할 수 없는 상태로 남아 있는 것💥 결과프로그램 종료 전까지 RAM 점유반복되면 메모리 부족, 시스템 느려짐, 크래시 발생✅ 어떤 경우에 발생하나?1. delete를 호출하지 않은 경우void createLeak() { int* ptr = new int(10); // delete ptr; ❌ 안 했음}ptr은 지역 변수로 함수 종료 시 사라지지만, new로 할당된 메모리는 남음2. 포인터가 덮어써질 때int* ptr = new int(5);ptr = new int(10); // 이전에 할당한 5는 참조할 방법이 없어짐 ❌ 메모리 누수3. 예외가 발생했는데 해제를 못했을 때void risky() { int* ptr = n.. 2025. 6. 2. IReceiver 기반 구조를 통해 센서 모듈을 모듈화하는 기법 IReceiver 기반 구조를 통해 공통 인터페이스로 다양한 센서 모듈을 모듈화하는 기법 정리해당 기법은 인터페이스를 활용하여 임베디드 시스템에서 확장성, 유지보수성, 테스트 용이성을 높이는 강력한 방법 ※ 인터페이스란?2025.05.31 - [언어/C, C++] - [C++] 인터페이스(Interface) 정리 [C++] 인터페이스(Interface) 정리인터페이스(Interface)C++의 인터페이스(Interface) 는 명확하게 문법적으로 존재하는 개념은 아니지만, 순수 가상 함수(pure virtual function) 를 사용"추상 클래스(Abstract Class)" 형태로 구현되고 이는 C++에kfdd6630.tistory.com✅ 1. 구조 개요🔸 공통 인터페이스 (Interface).. 2025. 6. 1. [C++] 인터페이스(Interface) 정리 인터페이스(Interface)C++의 인터페이스(Interface) 는 명확하게 문법적으로 존재하는 개념은 아니지만, 순수 가상 함수(pure virtual function) 를 사용"추상 클래스(Abstract Class)" 형태로 구현되고 이는 C++에서 객체지향 프로그래밍(OOP)을 구성하는 다형성(polymorphism) 의 핵심 요소 중 하나✅ 1. 인터페이스란?인터페이스(Interface) 는 기능의 "약속"만 정의하고 구현은 하지 않는 추상적인 형태의 클래스이것은 C++에서 다른 클래스들이 따라야 할 공통의 함수 규격(시그니처) 을 정의하고, 실제 로직은 상속받는 클래스에서 구현하게 함✅ 2. 인터페이스 구현 방법 (순수 가상 함수)C++에서는 인터페이스를 다음과 같이 순수 가상 함수만 가진.. 2025. 5. 31. 리액티브 FSM / 상태기계 기반 아키텍처 정리 리액티브 FSM / 상태기계 기반 아키텍처✅ 개념시스템의 전체 동작을 상태(State)와 전이(Transition)로 구성하여 상태 기반으로 로직을 분기하는 구조흔히 FSM (Finite State Machine) 또는 Statechart라고도 불림✅ 구조 개요[Idle] → [Moving] → [ObstacleDetected] → [Avoiding] → [Moving] → ... ↘ ↘ [Charging] [Error]각 상태는 고유한 동작을 수행이벤트나 조건에 따라 명시적으로 다른 상태로 전이상태 간 전이 조건이 명확하게 설계됨✅ 장점항목설명✅ 명확한 상태 정의전체 동작 흐름이 시각화/문서화 용이✅ 디버깅 쉬움현재 상태 기반으로.. 2025. 5. 30. 서비스 지향 아키텍처 정리 서비스 지향 아키텍처 (Service-Oriented Architecture, SoA)✅ 개념각 기능을 서비스로 정의하고, 명시적 요청-응답 형태로 작동하는 아키텍처ROS2의 Service/Client, DDS 기반 통신 구조에 가장 가까운 개념✅ 구조 개요[Client Node] → 요청 → [Service Node] → 응답 반환예: [Navigation Client] → /plan_path → [Planner Service]각 기능이 서비스 단위로 설계되며, 요청에 따라 응답을 제공서비스는 네트워크상 또는 내부에서 실행 가능 (로컬/분산 시스템 모두 지원)✅ 장점항목설명✅ 모듈 분리 명확모든 기능이 서비스 단위로 격리✅ 유지보수 용이서비스 교체/확장이 간단함✅ 네트워크 통합 쉬움IoT/서버와도 통합.. 2025. 5. 29. 모듈형 아키텍처 정리 모듈형 아키텍처 (Modular / Component-Based)✅ 개념시스템을 독립적인 기능 단위(모듈)로 나누고, 각 모듈은 자율적으로 작동하며 메시지나 API로 통신특히 ROS (Robot Operating System)의 핵심 설계 방식✅ 구조[Sensor Module] ───────▶[Perception Module] ──▶ [Planning Module] ──▶ [Control Module] ──▶ [Actuator Module] ▲ ▲ │ │ [Map Server] [Localization Module]각 모듈은 독립적인 노드(Node) 혹은 서비스(Service)로.. 2025. 5. 28. 하이브리드 아키텍처 정리 하이브리드 아키텍처 (Hybrid Architecture)✅ 개념계층형 아키텍처의 고수준 제어 + 행동 기반 아키텍처의 저수준 반응 제어를 결합한 구조"계획은 위에서, 실행은 아래에서"라는 원칙으로 설계✅ 구조[Planner Layer] ← 목표 결정, 전역 경로 탐색 ↓[Behavior Layer] ← 움직임 단위 (직진, 회피, 좌회전 등) ↓[Execution Layer] ← 실제 명령 실행 (PWM, 모터 제어 등) 혹은 [Mission Planner] ─→ [Behavior Arbitrator] ─→ [Actuators] ↑ ↑ Sensor Fusion Local Behav.. 2025. 5. 27. 행동 기반 아키텍처 정리 행동 기반 아키텍처 (Behavior-Based Architecture)✅ 개념센서 입력 → 직접적인 행동(Behavior) 유닛 실행중앙집중식 판단 없이 분산된 모듈이 자율적으로 반응각 행동은 특정 조건에서 작동하며 병렬 동작 가능✅ 구조[Sensors] ─┬─> [AvoidObstacle] ├─> [FollowLine] ├─> [StopAtEdge] └─> [Other Behavior...][Arbiter] ─> [Motor Control]✅ 주요 구성 요소Behavior: 특정 조건에서 동작하는 반응 유닛 (ex. 경로 추종, 장애물 회피)Arbiter: 동시에 활성화된 행동 중 어느 것을 실행할지 결정✅ 장점항목설명🏃 빠른 반응성이벤트 발생 .. 2025. 5. 26. [STM32] 시간 결정성/비결정성 혹은 하드/소프트 실시간 분리 시간 결정성(Time Determinism)/비결정성(Non-Determinism) or 하드/소프트 실시간 분리(Hard/Soft Real-Time Separation) 개념예: DMA와 보다 느린 코어 로직 구조에 대한 설계 개념 정리 STM32에서 DMA로 출력의 실시간성을 보장하고, 메인 코어 로직(로봇 제어 로직 등)은 상대적으로 느린 주기로 설계하는 구조로 임베디드 시스템에서 흔히 사용되는 실시간 계층화 설계 전략✅ DMA + 느린 코어 로직 구조에 대한 설계 개념 정리1. 🎯 설계 철학구분설명하드 실시간 계층DMA, 인터럽트, 고속 루프 → 반드시 일정 시간 안에 실행되어야 함소프트 실시간 계층로직 판단, 상태 갱신 등 → 빠를수록 좋지만 약간의 지연 허용 가능비실시간 계층 (비동기)UI .. 2025. 5. 25. 이전 1 2 3 4 5 6 7 8 ··· 40 다음 반응형