먹고살자

Jaemyeong Lee·2026년 6월 16일

업로드된 2026-06-02 EdgeCanvas 구현제안서와 2026-06-16 정리 문서를 기준으로 보면, 이 2년 커리큘럼은 “AI 공부”가 아니라 “컴퓨터공학 + 임베디드 + HMI + 컴퓨터비전 + LLM Agent + 엣지 배포”를 통합하는 커리큘럼이어야 한다. EdgeCanvas는 “반도체 데이터시트를 읽고 임베디드 화면 HMI를 자동 구현하는 AI 에이전트”이고, 주력 하드웨어는 STM32H747I-DISCO, 휴대 시연용 하드웨어는 M5Stack CoreS3로 정의되어 있다. 또한 핵심 구조는 데이터시트 자동 해석, LVGL 코드 생성, 실기 플래시, 카메라 기반 자가검증을 하나의 파이프라인으로 묶는 방식이다.

AegisEdge는 별도 명세 문서가 아직 없으므로, 여기서는 이전 정리와 네 맥락에 맞춰 엣지 AI, 영상분석, 카메라 기반 추론, 보안·정책·이벤트 처리형 에이전트로 확장된다고 가정한다. 따라서 ROS2·SLAM·로보틱스는 “주전공”이 아니라 후반 선택 심화 트랙으로 둔다.


0. 커리큘럼 설계 원칙

이 커리큘럼은 다음 세 가지 근거로 설계했다.

첫째, EdgeCanvas 구현제안서의 기술스택이 매우 넓다. 문서에는 Python 3.11 이상, C/C++, CMake, Make, Bash, LangGraph, LangChain, Pydantic, LVGL 9.x, arm-none-eabi-gcc, ESP-IDF v5.x, ST-Link, esptool, OpenOCD, pyserial, OpenCV, Pillow, v4l2, pytest, Docker, pip, GitHub, requirements.txt, CMakeLists.txt가 들어 있다. 즉, 단순히 LLM API만 쓰는 수준이 아니라 실제 펌웨어 빌드·플래시·비전 검증·배포까지 이해해야 한다.

둘째, EdgeCanvas의 핵심 루프는 문서 이해 → 하드웨어 제약 추출 → LVGL 코드 생성 → 빌드 → 플래시 → 카메라 검증 → 실패 시 자가수정이다. 구현제안서에는 Upstage Document Parse/Information Extract로 레지스터 맵·핀맵·클럭 트리·타이밍 제약을 JSON으로 추출하고, Solar Pro 3가 LVGL 초기화 루틴·위젯 트리·이벤트 핸들러 C 코드를 생성하며, USB 카메라 기반 검증과 LangGraph 상태머신 자가수정 루프를 수행한다고 되어 있다.

셋째, 표준 컴퓨터공학 커리큘럼 관점에서도 이 경로가 타당하다. ACM CS2023의 지식영역에는 알고리즘, 컴퓨터구조, 운영체제, 네트워크, 보안, AI, 데이터관리, HCI, 수학·통계 기초가 포함된다. (csed.acm.org) 컴퓨터공학 CE2016 쪽에서는 회로·전자, 디지털 설계, 컴퓨터구조, 임베디드 시스템, 네트워크, 알고리즘이 핵심 영역으로 제시된다. (ACM)

그래서 2년은 이렇게 나눈다.

기간단계목표
1~6개월기초개발자 기본기, C/Python, 자료구조, 리눅스, 컴퓨터구조 기초
7~12개월기본임베디드, STM32/ESP32, LVGL, 빌드/플래시, OpenCV 검증
13~18개월심화머신러닝, 딥러닝, 문서 AI, RAG, LangGraph, 보안, 네트워크
19~24개월실전EdgeCanvas MVP, AegisEdge 프로토타입, CI/CD, 벤치마크, 포트폴리오

1. 2년 후 목표 수준

2년 뒤에는 다음 정도까지 가는 것을 목표로 잡는다.

EdgeCanvas 기준

너는 다음을 혼자 설명하고 구현할 수 있어야 한다.

  1. MCU 데이터시트에서 RAM, Flash, 핀맵, 클럭, 디스플레이 인터페이스 정보를 읽는다.
  2. 그 정보를 JSON 스키마로 정리한다.
  3. UI 요구사항을 LVGL 위젯 트리로 바꾼다.
  4. LVGL C 코드를 생성한다.
  5. STM32H747I-DISCO 또는 M5Stack CoreS3에서 빌드·플래시한다.
  6. USB 카메라로 화면을 촬영한다.
  7. OpenCV 또는 멀티모달 모델로 화면을 검증한다.
  8. 실패하면 LangGraph 상태머신이 수정 루프로 되돌아간다.
  9. Docker, pytest, GitHub Actions로 재현 가능한 패키지를 만든다.

이 목표는 구현제안서의 결과물인 타깃 MCU별 LVGL C 소스 프로젝트, 크로스 컴파일 펌웨어 바이너리, UI 에셋 C 배열, Vision-in-the-Loop 검증 리포트 번들과 직접 연결된다.

AegisEdge 기준

AegisEdge가 영상분석·엣지 AI 방향이라면 다음을 목표로 잡는다.

  1. USB/RTSP 카메라 영상을 받는다.
  2. OpenCV로 전처리한다.
  3. YOLO 또는 ONNX Runtime으로 객체탐지를 수행한다.
  4. 이벤트를 JSON으로 구조화한다.
  5. Docker 또는 Jetson 계열 환경에 배포한다.
  6. 보안, 로그, API, 관제 대시보드까지 확장 가능한 구조를 만든다.

NVIDIA DeepStream은 실시간 스트리밍 분석 SDK로, 비디오·오디오·이미지 이해와 AI 기반 멀티센서 처리를 위한 툴킷으로 설명된다. 따라서 AegisEdge가 CCTV/RTSP/엣지 비전으로 가면 후반부에 들어가는 것이 타당하다. (NVIDIA Developer)


2. 공부 시간 기준

현실적으로는 아래 세 가지 중 하나를 선택해야 한다.

주당 시간2년 후 예상 수준
주 7~8시간개념 이해 + 일부 프로토타입 가능. 깊이는 부족할 수 있음
주 12~15시간가장 현실적인 기준. EdgeCanvas MVP 가능
주 20시간 이상EdgeCanvas + AegisEdge 포트폴리오 + 기술문서까지 가능

이 커리큘럼은 주 12~15시간 기준으로 설계한다.

주간 배분은 이렇게 한다.

활동시간
교재 읽기4시간
공식문서 읽기2시간
코딩 실습5시간
정리/블로그/README 작성1시간
복습/문제풀이2시간

매달 산출물이 있어야 한다. 책을 읽는 것만으로는 부족하고, 반드시 동작하는 코드, 회로/보드 실험, README, 테스트 결과를 남겨야 한다.


3. 전체 난이도 맵

기초 단계에서 피해야 할 것

처음 6개월 동안은 아래를 깊게 파지 않는다.

  • 강화학습
  • 휴머노이드
  • SLAM
  • ROS2 Nav2
  • Mobile ALOHA
  • 복잡한 LLM 논문
  • 멀티에이전트 프레임워크 난립

이유는 명확하다. EdgeCanvas의 첫 병목은 AI 이론이 아니라 리눅스, C, 메모리, 빌드, 임베디드, LVGL, OpenCV 검증이다. 이전 정리 문서에서도 EdgeCanvas를 제대로 이해하려면 C와 메모리, 컴퓨터구조, 임베디드 시스템, LVGL/HMI, OpenCV 기반 화면 검증, LangGraph 상태머신이 핵심이라고 정리했다.


4. 1~6개월: 기초 단계

목표

이 단계의 목적은 “프로그래밍을 해봤다”가 아니라 시스템이 어떻게 돌아가는지 밑바닥 감각을 만드는 것이다.

6개월이 끝나면 다음을 할 수 있어야 한다.

  • 리눅스 터미널에서 개발환경을 구축한다.
  • Git으로 버전관리한다.
  • Python으로 CLI 도구를 만든다.
  • C로 포인터, 구조체, 파일 입출력, 메모리 개념을 이해한다.
  • 자료구조를 직접 구현한다.
  • 컴퓨터구조와 운영체제 기본 용어를 설명한다.
  • 간단한 상태머신을 구현한다.

1개월차: 리눅스 / Git / 개발환경

공부할 것

  • 리눅스 파일 시스템
  • 터미널 명령어
  • Bash
  • 권한
  • 환경변수
  • 프로세스
  • 패키지 설치
  • Git commit / branch / merge
  • SSH
  • VS Code 또는 Cursor 개발환경

교재

  1. 《리눅스 커맨드라인 완벽 입문서》
  2. Pro Git 한국어 공식 문서

《리눅스 커맨드라인 완벽 입문서》는 초보 리눅스 사용자를 위한 책으로, 파일·디렉터리·심볼릭 링크 생성과 삭제 등 커맨드라인 기본을 다룬다. (Kyobo Bookstore) Git은 공식 사이트에서 Pro Git 한국어판을 제공하므로 책을 별도로 사지 않아도 된다.

공식문서

  • Git 공식 문서
  • Ubuntu 공식 문서
  • Docker 설치 문서, 단 개념만

실습 산출물

edgecanvas-lab/
  README.md
  scripts/
    setup_env.sh
    hello.sh
  notes/
    linux_commands.md
    git_workflow.md

통과 기준

  • git init, commit, branch, merge를 설명할 수 있다.
  • .env 파일과 환경변수 차이를 설명할 수 있다.
  • Bash 스크립트로 Python 가상환경을 만든다.
  • /dev/ttyUSB0, /dev/video0 같은 장치 파일 개념을 이해한다.

2개월차: Python 기초 + 자동화

공부할 것

  • 함수
  • 클래스
  • 모듈
  • 가상환경
  • pip
  • 파일 입출력
  • JSON
  • argparse 또는 Typer
  • subprocess
  • 예외 처리
  • logging
  • pytest 기초

교재

  1. 《혼자 공부하는 파이썬》

이 책은 독학으로 Python을 처음 배우는 사람이 필요한 내용을 체계적으로 학습하도록 구성된 입문서로 소개된다. 개정판은 혼공 계획표, 누적 예제, 도전 문제를 포함한다. (한빛+)

공식문서

  • Python 공식 튜토리얼
  • pytest getting started
  • Typer 문서
  • Pydantic 문서는 아직 맛보기만

실습 산출물

edgecanvas-cli/
  edgecanvas_cli/
    main.py
    config.py
    logger.py
  tests/
    test_config.py
  data/
    sample_ui_request.json

기능:

edgecanvas parse-request sample_ui_request.json
edgecanvas show-config
edgecanvas run-command "gcc --version"

통과 기준

  • JSON 파일을 읽고 검증한다.
  • subprocess로 외부 명령어를 실행하고 로그를 남긴다.
  • pytest로 최소 10개 테스트를 만든다.

3개월차: C 언어 / 메모리

공부할 것

  • 포인터
  • 배열
  • 문자열
  • 구조체
  • 헤더 파일
  • 전처리기
  • static / extern
  • bit operation
  • stack / heap
  • volatile 개념
  • 메모리 맵 사고방식

교재

  1. 《윤성우의 열혈 C 프로그래밍》

이 책은 C 언어 기본서로 오래 사용되어 온 책이고, 배열·포인터·구조체·매크로 같은 C 입문 핵심을 다룬다. (Aladin)

보조 자료

  • C 언어 레퍼런스
  • GCC warning 옵션 문서

실습 산출물

c-lab/
  pointer_lab.c
  struct_lab.c
  bitfield_lab.c
  json_like_parser.c
  Makefile

통과 기준

  • 포인터와 배열의 차이를 설명한다.
  • 구조체 배열을 만든다.
  • 비트 연산으로 레지스터 플래그처럼 값을 설정한다.
  • gcc -Wall -Wextra 경고를 읽고 수정한다.

4개월차: 자료구조 / 알고리즘 기초

공부할 것

  • 배열
  • 연결 리스트
  • 스택
  • 해시 테이블
  • 트리
  • 그래프
  • 정렬
  • 검색
  • BFS / DFS
  • 시간복잡도
  • 공간복잡도

교재

  1. 《C로 배우는 쉬운 자료구조 4판》
  2. 보조: 《알고리즘 도감》

《C로 배우는 쉬운 자료구조 4판》은 자료구조 원리와 구현 방법을 C 프로그램으로 차근차근 구현하도록 구성되어 있다. (한빛+)

EdgeCanvas 연결

  • LVGL UI는 위젯 트리다.
  • LangGraph는 상태 그래프다.
  • 빌드·검증 루프는 큐와 상태 전이를 가진다.
  • 데이터시트 추출 결과는 JSON 트리다.

실습 산출물

ds-lab/
  stack.c
  queue.c
  tree_widget.c
  graph_state_machine.c

graph_state_machine.c는 다음 상태를 가져야 한다.

PARSE_DOC
→ EXTRACT_SCHEMA
→ GENERATE_CODE
→ BUILD
→ FLASH
→ VERIFY
→ FIX_OR_DONE

통과 기준

  • 트리와 그래프 차이를 설명한다.
  • DFS/BFS를 직접 구현한다.
  • 간단한 상태머신을 C 또는 Python으로 구현한다.

5개월차: 컴퓨터구조

공부할 것

  • CPU
  • 레지스터
  • 명령어
  • 메모리 계층
  • 캐시
  • 버스
  • 인터럽트
  • DMA
  • memory-mapped I/O
  • endian
  • stack frame
  • startup code
  • linker 개념

교재

  1. 《컴퓨터 구조 및 설계 ARM》
  2. 보조: STM32H747I-DISCO User Manual 일부

Patterson & Hennessy의 《컴퓨터 구조 및 설계》는 하드웨어와 소프트웨어 사이의 상호작용을 이해하기 위한 대표적인 컴퓨터구조 교재이며, ARM 번역판도 확인된다. (Yes24)

EdgeCanvas 연결

EdgeCanvas는 MCU 데이터시트를 읽어야 한다. 따라서 레지스터, 메모리 맵, 인터럽트, DMA, 버스 개념을 모르면 데이터시트 기반 코드 생성이 껍데기만 된다.

실습 산출물

architecture-notes/
  memory_map.md
  interrupt.md
  stack_heap.md
  stm32h747_memory_summary.md

통과 기준

  • RAM, Flash, Register, Peripheral, Memory-mapped I/O 차이를 설명한다.
  • MCU 데이터시트에서 메모리 맵 표를 보고 의미를 설명한다.
  • stack overflow와 heap fragmentation 개념을 설명한다.

6개월차: 운영체제 + 이산수학 입문

공부할 것

운영체제:

  • 프로세스
  • 스레드
  • 파일 시스템
  • 장치 파일
  • 권한
  • system call
  • I/O
  • 동기화

이산수학:

  • 명제논리
  • 집합
  • 관계
  • 함수
  • 그래프
  • 트리
  • 귀납법
  • 상태기계

교재

  1. 《쉽게 배우는 운영체제 3판》
  2. 《Rosen의 이산수학》

《쉽게 배우는 운영체제 3판》은 운영체제의 기본 구조와 핵심 원리를 배우고자 하는 IT학과 학생을 대상으로 한다. (Kyobo Bookstore) 《Rosen의 이산수학》은 이산수학의 표준 교재 계열로 국내 판매 정보가 확인된다. (Yes24)

실습 산출물

os-discrete-lab/
  process_demo.py
  thread_demo.py
  file_permission_notes.md
  finite_state_machine.py
  graph_validation.py

통과 기준

  • 프로세스와 스레드 차이를 설명한다.
  • 파일 권한 오류를 해결할 수 있다.
  • LangGraph 같은 상태 그래프를 수학적으로 “상태와 전이”로 설명할 수 있다.

5. 7~12개월: 기본 단계

목표

이 단계는 EdgeCanvas의 물리 세계 기반을 만드는 단계다.

12개월차가 끝나면 다음이 되어야 한다.

  • STM32와 ESP32 계열 개발환경을 구축한다.
  • 보드에 예제를 빌드·플래시한다.
  • LVGL 화면을 띄운다.
  • OpenCV로 USB 카메라 화면을 읽는다.
  • LCD 화면 검증기를 만든다.
  • Docker/pytest 기반으로 실험을 재현한다.

7개월차: 디지털논리 / 전자회로 기초

공부할 것

  • 0/1 전압 레벨
  • 논리게이트
  • 플립플롭
  • 레지스터
  • 클럭
  • setup/hold time
  • pull-up / pull-down
  • GPIO
  • I2C
  • SPI
  • UART
  • PWM
  • ADC
  • 전원/그라운드

교재

  1. 《Floyd의 디지털 논리회로》
  2. 보조: 《마이크로전자회로》는 필요한 부분만

실습 산출물

electronics-notes/
  gpio.md
  uart.md
  spi_i2c.md
  clock_timing.md

통과 기준

  • GPIO 입력/출력 차이를 설명한다.
  • I2C, SPI, UART 차이를 설명한다.
  • 왜 LCD와 Touch가 서로 다른 버스를 쓸 수 있는지 설명한다.

8개월차: 임베디드 시스템 개론

공부할 것

  • MCU
  • HAL
  • BSP
  • RTOS 기초
  • 인터럽트
  • 타이머
  • DMA
  • UART 로그
  • Flash / RAM
  • 부트로더
  • linker script 개념

교재

  1. 《임베디드 엔지니어 교과서》
  2. 《임종수의 STM32 Cortex-M 완벽 활용서 Vol.1》 시작

《임베디드 엔지니어 교과서》는 하드웨어·소프트웨어 지식, 임베디드 프로그램 개요, 실시간 운영체제, 임베디드 소프트웨어 개발 프로세스 등을 다룬다고 소개된다. (Google Books) 《임종수의 STM32 Cortex-M 완벽 활용서 Vol.1》은 STM32 MCU 소개, CubeIDE/CubeMX/IAR/Keil 설치, GPIO 사용 등을 다루는 책으로 확인된다. (Kyobo Bookstore)

공식문서

  • STM32H747I-DISCO 제품 페이지
  • STM32H747I-DISCO User Manual
  • STM32CubeH7 예제

STM32H747I-DISCO는 STM32H747XIH6 마이크로컨트롤러 기반의 데모·개발 플랫폼이다. (STMicroelectronics) ST의 User Manual은 보드가 STM32H747XIH6를 중심으로 설계되어 있고 주변 컴포넌트 연결 구조를 설명한다. (STMicroelectronics)

실습 산출물

stm32-lab/
  gpio_blink/
  uart_log/
  timer_interrupt/
  notes/
    board_profile_stm32h747i_disco.md

통과 기준

  • LED blink를 직접 빌드·플래시한다.
  • UART 로그를 출력한다.
  • STM32 보드 프로필 문서를 작성한다.

9개월차: ESP32-S3 / M5Stack CoreS3

공부할 것

  • ESP-IDF 설치
  • menuconfig
  • build / flash / monitor
  • ESP32-S3 구조
  • M5Stack CoreS3 LCD / Touch / Camera
  • USB-C 플래시
  • PSRAM / Flash

공식문서

  • M5Stack CoreS3 공식문서
  • ESP-IDF Programming Guide

M5Stack CoreS3는 ESP32-S3 기반 장치이며 16MB Flash, 8MB PSRAM, USB Type-C 다운로드/플래시를 지원한다고 설명된다. (M5Stack Docs) ESP-IDF는 Espressif의 ESP32/ESP32-S/ESP32-C/ESP32-H/ESP32-P 계열 SoC용 공식 개발 프레임워크이며, 공식 가이드는 환경 설정, menuconfig, build, flash 과정을 안내한다. (Espressif Systems)

실습 산출물

m5stack-cores3-lab/
  hello_world/
  lcd_test/
  camera_test/
  board_profile_m5stack_cores3.json

통과 기준

  • ESP-IDF hello_world를 빌드·플래시한다.
  • M5Stack CoreS3의 LCD 또는 기본 디스플레이 예제를 실행한다.
  • STM32와 M5Stack의 차이를 보드 프로필로 정리한다.

10개월차: LVGL 기본

공부할 것

  • LVGL object model
  • screen
  • label
  • button
  • image
  • style
  • event
  • display driver
  • input device
  • tick
  • memory buffer
  • image converter

공식문서

  • LVGL 공식 문서
  • LVGL 포팅 문서
  • STM32/LVGL 예제
  • ESP-IDF/LVGL 예제

LVGL은 MCU, MPU, 다양한 디스플레이 타입을 대상으로 UI를 만들기 위한 무료 오픈소스 임베디드 그래픽 라이브러리로 설명된다. (LVGL)

실습 산출물

lvgl-lab/
  hello_label/
  button_event/
  image_widget/
  ui_schema/
    simple_dashboard.json
  generated/
    simple_dashboard.c

통과 기준

  • 버튼 클릭 이벤트를 구현한다.
  • JSON UI 스키마를 설계한다.
  • JSON을 읽어 LVGL C 코드 일부를 자동 생성한다.

11개월차: 빌드 시스템 / CMake / 컴파일 / 링크

공부할 것

  • Makefile
  • CMake
  • gcc
  • cross compile
  • object file
  • static library
  • include path
  • linker script
  • map file
  • compile error
  • link error
  • binary flashing

공식문서

  • CMake 튜토리얼
  • Arm GNU Toolchain
  • OpenOCD
  • ST-LINK
  • ESP-IDF build system

EdgeCanvas 문서에서도 CMake, Make, arm-none-eabi-gcc, ESP-IDF, ST-Link, OpenOCD, pyserial이 기술스택으로 들어 있다.

실습 산출물

build-lab/
  makefile_project/
  cmake_project/
  gcc_error_parser.py
  flash_stm32.sh
  flash_esp32.sh

통과 기준

  • 컴파일 에러와 링크 에러를 구분한다.
  • 빌드 로그에서 에러 파일명/라인/원인을 추출한다.
  • Python에서 빌드 명령을 실행하고 결과 JSON을 생성한다.

12개월차: OpenCV 기반 Vision-in-the-Loop 기초

공부할 것

  • 이미지 배열
  • RGB/BGR
  • 좌표계
  • VideoCapture
  • threshold
  • contour
  • template matching
  • color histogram
  • OCR은 보조
  • PASS/FAIL 판정

교재

  1. 《OpenCV 4로 배우는 컴퓨터 비전과 머신 러닝》

이 책은 OpenCV로 밝기·명암비 조절, 필터링, 에지 검출, 객체 검출, 영상 매칭, 필기체 숫자 인식까지 다루는 책으로 확인된다. (Kyobo Bookstore) 저자 페이지에서도 OpenCV를 이용해 컴퓨터비전과 머신러닝 알고리즘을 구현하는 방법을 설명한다고 소개한다. (Sunkyoo Hwang)

공식문서

  • OpenCV 공식 문서
  • OpenCV GitHub / docs

OpenCV는 오픈소스 컴퓨터비전 라이브러리이며 C++, Python 등의 API와 문서·테스트를 제공한다. (GitHub)

실습 산출물

vision-loop-lab/
  capture_camera.py
  detect_lcd_region.py
  compare_color.py
  compare_layout.py
  report.json

통과 기준

  • USB 카메라에서 프레임을 받는다.
  • LCD 영역을 잘라낸다.
  • 기준 이미지와 실제 이미지를 비교한다.
  • PASS/FAIL 리포트를 JSON으로 만든다.

6. 13~18개월: 심화 단계

목표

이제부터는 “보드 실습”을 넘어 AI Agent 시스템으로 들어간다.

18개월차가 끝나면 다음이 가능해야 한다.

  • 머신러닝/딥러닝의 기본 원리를 설명한다.
  • 문서 파싱과 정보 추출을 API로 수행한다.
  • RAG와 structured output을 구현한다.
  • LangGraph 상태머신을 만든다.
  • 빌드 실패와 Vision 실패를 수정 루프로 연결한다.
  • API 키, Docker, 네트워크, 보안을 고려한다.

13개월차: 선형대수 / 확률통계

공부할 것

선형대수:

  • 벡터
  • 행렬
  • 행렬곱
  • 역행렬
  • 고유값
  • SVD 맛보기
  • 좌표 변환
  • 최소제곱

확률통계:

  • 확률변수
  • 조건부확률
  • 베이즈 정리
  • 기댓값
  • 분산
  • 정규분포
  • 신뢰구간
  • precision / recall
  • confusion matrix

교재

  1. 《스트랭 선형대수학》
  2. 《이공계용 확률과 통계》

《스트랭 선형대수학》은 Gilbert Strang 교수의 MIT 선형대수학 강의를 기반으로 구성된 6판 번역서로 확인된다. (Kyobo Bookstore) 《이공계용 확률과 통계》는 Sheldon M. Ross의 공학·과학 계열 확률통계 교재로 확인된다. (Kyobo Bookstore)

EdgeCanvas 연결

  • Vision 판정 일치율
  • 색상/위치 오차
  • threshold 설정
  • 평가 지표
  • 센서 노이즈
  • AegisEdge 객체탐지 평가

실습 산출물

math-for-vision/
  matrix_transform.ipynb
  confusion_matrix.py
  pass_fail_statistics.py

통과 기준

  • 검증 결과 100개를 가지고 정확도, 정밀도, 재현율을 계산한다.
  • 화면 위치 오차를 픽셀 단위로 계산한다.

14개월차: 머신러닝 / 딥러닝 기초

공부할 것

  • supervised learning
  • loss
  • gradient descent
  • overfitting
  • train/validation/test
  • CNN
  • transformer 개념 맛보기
  • embedding
  • inference
  • evaluation

교재

  1. 《혼자 공부하는 머신러닝+딥러닝》
  2. 《밑바닥부터 시작하는 딥러닝 1》

《혼자 공부하는 머신러닝+딥러닝》 개정판은 머신러닝과 딥러닝 핵심을 직관적 예제로 설명하고, 트랜스포머와 LLM 실습, PyTorch 예제를 보강했다고 소개된다. (혼자 공부하는 책)

실습 산출물

ml-lab/
  image_classifier.ipynb
  simple_cnn.py
  evaluation_report.md

통과 기준

  • train/validation/test를 구분한다.
  • overfitting을 설명한다.
  • 작은 이미지 분류 모델을 학습해 본다.

15개월차: 자연어처리 / Transformer / RAG

공부할 것

  • token
  • embedding
  • attention
  • transformer
  • chunking
  • vector search
  • RAG
  • structured output
  • hallucination
  • prompt injection 기초

교재

  1. 《밑바닥부터 시작하는 딥러닝 2》
  2. 《트랜스포머를 활용한 자연어 처리》

EdgeCanvas 연결

EdgeCanvas의 데이터시트 해석은 결국 문서 이해 문제다. 구현제안서에서도 Document Parse와 Information Extract로 레지스터 맵, 핀맵, 클럭 트리, 타이밍 제약을 JSON 스키마로 추출한다고 되어 있다.

실습 산출물

rag-lab/
  chunk_datasheet.py
  extract_schema.py
  schema_validator.py
  retrieval_demo.py

통과 기준

  • PDF/Markdown 문서를 chunk로 나눈다.
  • 검색 결과를 근거로 JSON을 만든다.
  • 추출된 JSON을 Pydantic으로 검증한다.

16개월차: Upstage Document AI / Solar Pro 3 API

공부할 것

  • Document Parse
  • Information Extract
  • JSON schema extraction
  • API authentication
  • rate limit
  • retry
  • error handling
  • prompt template
  • structured output

공식문서

  • Upstage Document Parse
  • Upstage Information Extract
  • Solar Pro 3 관련 문서

Upstage Document Parse는 PDF, 스캔 이미지, 복잡한 차트 등을 LLM이 처리하기 쉬운 HTML/Markdown 같은 구조화 형식으로 변환하는 제품으로 설명된다. (upstage.ai) Information Extract는 다양한 문서에서 구조화 데이터를 추출하는 기능으로 설명된다. (upstage.ai) Solar Pro 3는 Upstage Console에서 API로 사용할 수 있다고 Upstage 블로그에서 설명한다. (upstage.ai)

실습 산출물

document-ai-lab/
  parse_datasheet.py
  extract_mcu_schema.py
  schemas/
    mcu_schema.json
    lvgl_constraints.json
  outputs/
    stm32_sample_extraction.json

통과 기준

  • 데이터시트 1개에서 최소 10개 필드를 추출한다.
  • 추출 실패와 누락 필드를 기록한다.
  • 사람이 검토한 정답 JSON과 비교한다.

17개월차: LangGraph Agent / 상태머신

공부할 것

  • StateGraph
  • node
  • edge
  • conditional edge
  • retry loop
  • checkpoint
  • tool calling
  • human-in-the-loop
  • evaluator
  • self-healing

교재

  1. 《LangGraph로 만드는 AI 에이전트 서비스》
  2. 《혼자서도 척척 해내는 AI 에이전트 만들기 with 랭체인 & 랭그래프》

공식문서

  • LangGraph 공식문서
  • LangChain tools 문서
  • Pydantic 문서

LangGraph는 장기 실행되는 stateful workflow 또는 agent를 위한 저수준 인프라를 제공한다고 공식 문서에 설명되어 있다. (LangChain Docs) LangGraph는 long-running, stateful agent를 구축·관리·배포하기 위한 low-level orchestration framework로도 설명된다. (GitHub)

실습 산출물

edgecanvas-agent/
  graph.py
  nodes/
    parse_datasheet.py
    extract_schema.py
    generate_lvgl.py
    build_firmware.py
    flash_device.py
    verify_screen.py
    fix_code.py
  state.py
  tests/

통과 기준

다음 루프가 mock으로라도 돌아가야 한다.

parse_datasheet
→ extract_schema
→ generate_lvgl
→ build_firmware
→ verify_screen
→ if failed: fix_code
→ if passed: report

18개월차: 네트워크 / HTTP / Docker / 보안 기초

공부할 것

네트워크:

  • TCP/IP
  • DNS
  • HTTP
  • REST API
  • TLS
  • WebSocket
  • RTSP 맛보기
  • timeout
  • retry
  • rate limit

Docker:

  • image
  • container
  • volume
  • network
  • Dockerfile
  • docker compose

보안:

  • API key
  • 환경변수
  • secret leakage
  • path traversal
  • command injection
  • prompt injection
  • dependency vulnerability

교재

  1. 《컴퓨터 네트워킹: 하향식 접근》
  2. 《HTTP 완벽 가이드》
  3. 《도커 교과서》
  4. KISA 시큐어코딩 가이드

《컴퓨터 네트워킹: 하향식 접근》은 컴퓨터 네트워킹의 기초와 전반을 학습할 수 있도록 구성된 교재로 확인된다. (Kyobo Bookstore) Docker 공식 문서는 컨테이너를 이미지의 실행 가능한 인스턴스로 설명하며, Docker API/CLI로 생성·시작·중지·삭제할 수 있다고 설명한다. (Docker Documentation)

실습 산출물

deployment-security-lab/
  Dockerfile
  docker-compose.yml
  .env.example
  secure_subprocess.py
  api_client_with_retry.py
  security_checklist.md

통과 기준

  • API key를 코드에 하드코딩하지 않는다.
  • Docker로 동일한 CLI를 재현 실행한다.
  • 외부 명령 실행 시 allowlist를 적용한다.

7. 19~24개월: 실전 단계

목표

이제 최종 목표는 EdgeCanvas MVP + AegisEdge 확장 프로토타입 + 기술문서 + 포트폴리오다.

구현제안서의 구현범위도 세부업무 #1 데이터시트 구조화, #2 하드웨어 제약 기반 HMI 설계 및 다중 타깃 코드 합성, #3 Vision-in-the-Loop 기반 피지컬 구동 검증 및 Self-Healing 폐쇄 루프로 나뉘어 있다.


19개월차: EdgeCanvas MVP 1 — 데이터시트 → JSON

구현 목표

MCU PDF / Markdown
→ Document Parse
→ Information Extract
→ MCU hardware schema
→ validation report

산출물

edgecanvas/
  schemas/
    mcu_schema.py
    board_profile.py
  parsers/
    upstage_document_parse.py
    information_extract.py
  examples/
    stm32h747i_disco.json
    m5stack_cores3.json
  reports/
    extraction_report.md

성공 기준

  • STM32 또는 M5Stack 관련 문서에서 최소 필드를 추출한다.
  • 추출 결과를 사람이 검토할 수 있는 리포트로 만든다.
  • Pydantic validation을 통과한다.

20개월차: EdgeCanvas MVP 2 — JSON → LVGL C 코드

구현 목표

UI requirement
→ UI schema
→ LVGL widget tree
→ generated C code

산출물

edgecanvas/
  ui_schema/
    widgets.py
    layout.py
  generators/
    lvgl_generator.py
  templates/
    lvgl_screen.c.j2
    lvgl_events.c.j2
  generated/
    dashboard_screen.c

성공 기준

  • label/button/image 최소 3개 위젯을 생성한다.
  • 이벤트 핸들러 코드를 생성한다.
  • 생성 코드는 gcc 또는 타깃 빌드에서 문법 오류 없이 통과한다.

21개월차: EdgeCanvas MVP 3 — 빌드 / 플래시 자동화

구현 목표

generated C project
→ build
→ binary
→ flash
→ serial log

산출물

edgecanvas/
  builders/
    cmake_builder.py
    espidf_builder.py
  flashers/
    stlink.py
    esptool.py
  logs/
    build_log.json
    flash_log.json

성공 기준

  • 빌드 명령을 Python에서 실행한다.
  • 실패 시 에러를 구조화한다.
  • 성공 시 binary 경로를 기록한다.
  • 플래시 명령을 실행하거나 dry-run으로 검증한다.

22개월차: EdgeCanvas MVP 4 — Vision-in-the-Loop

구현 목표

camera capture
→ LCD region detection
→ expected UI comparison
→ PASS/FAIL
→ report

산출물

edgecanvas/
  vision/
    capture.py
    lcd_detector.py
    layout_compare.py
    color_compare.py
    report.py
  reports/
    vision_report.html
    vision_report.json

성공 기준

  • 화면 검은색/흰색 죽음 상태를 감지한다.
  • 버튼 위치/색상/텍스트 존재 여부를 검증한다.
  • PASS/FAIL 결과를 JSON과 HTML로 생성한다.

23개월차: EdgeCanvas MVP 5 — LangGraph Self-Healing 통합

구현 목표

extract schema
→ generate code
→ build
→ flash
→ verify
→ failed?
   → fix prompt
   → regenerate
   → retry

산출물

edgecanvas/
  graph/
    state.py
    workflow.py
    conditions.py
  evaluators/
    build_evaluator.py
    vision_evaluator.py
  fixers/
    code_fixer.py
    ui_fixer.py

성공 기준

  • 빌드 실패 시 코드 수정 루프로 돌아간다.
  • Vision 실패 시 UI 수정 루프로 돌아간다.
  • 최대 retry 횟수를 제한한다.
  • 모든 step이 로그로 남는다.

이 부분은 EdgeCanvas 문서의 “LangGraph 상태머신이 전 계층 전이를 제어하며, 불일치 시 자가 수정 루프를 자율 실행”한다는 구조와 직접 맞닿아 있다.


24개월차: 최종 통합 / AegisEdge 프로토타입 / 포트폴리오

EdgeCanvas 최종 산출물

edgecanvas/
  README.md
  docs/
    architecture.md
    board_profile.md
    security.md
    benchmark.md
  examples/
    stm32_demo/
    m5stack_demo/
  docker/
    Dockerfile
  tests/
  reports/

AegisEdge 선택 프로토타입

AegisEdge가 영상분석 방향이면 다음을 만든다.

aegisedge-prototype/
  capture/
    rtsp_or_usb.py
  inference/
    yolo_or_onnx.py
  events/
    event_schema.py
  api/
    server.py
  dashboard/
    simple_viewer.py

AegisEdge가 로봇 방향이면 ROS2는 이때부터 들어간다. 이전 정리 문서에서도 ROS2는 EdgeCanvas 본체 1순위가 아니라, AegisEdge가 로봇과 연결되거나 EdgeCanvas가 서비스 로봇 HMI와 연동될 때 학습하는 후순위 자료로 분리했다.

최종 성공 기준

  • GitHub README만 보고 설치 가능하다.
  • Docker로 실행 가능하다.
  • 테스트가 자동 실행된다.
  • 보드 프로필이 2개 이상 있다.
  • 샘플 데이터시트 또는 샘플 JSON이 포함된다.
  • Vision-in-the-Loop 리포트가 자동 생성된다.
  • 실패 로그와 자가수정 라운드 수가 기록된다.

8. 24개월 월별 전체표

단계주제핵심 교재공식문서산출물
1기초리눅스/Git리눅스 커맨드라인Git/Ubuntu개발환경 repo
2기초Python 자동화혼자 공부하는 파이썬Python/pytestCLI 도구
3기초C/메모리열혈 CGCC포인터/구조체 실습
4기초자료구조C로 배우는 쉬운 자료구조없음트리/그래프/상태머신
5기초컴퓨터구조컴퓨터 구조 및 설계 ARMSTM32 memory map메모리맵 노트
6기초운영체제/이산수학쉽게 배우는 운영체제, RosenLinux docs프로세스/상태기계
7기본디지털논리/전자Floyd보드 회로도GPIO/I2C/SPI 노트
8기본STM32/임베디드임베디드 엔지니어, STM32 책ST docsSTM32 blink/UART
9기본M5Stack/ESP-IDFSTM32 책 보조M5Stack/ESP-IDFM5Stack LCD 예제
10기본LVGL공식문서 중심LVGL docsJSON→LVGL 코드
11기본CMake/빌드/플래시보조 자료CMake/OpenOCD빌드 로그 파서
12기본OpenCV 검증OpenCV 4 책OpenCV docs화면 PASS/FAIL
13심화선형대수/확률Strang, Ross없음평가 지표 계산
14심화ML/DL혼공 ML/DLPyTorch/Scikit docs이미지 분류
15심화NLP/RAG밑바닥 DL2Vector DB docs문서 chunk/RAG
16심화Upstage 문서AI공식문서 중심Upstage docs데이터시트 JSON
17심화LangGraph AgentLangGraph 교재LangGraph docsAgent workflow
18심화네트워크/Docker/보안네트워킹, 도커Docker/KISA안전한 API 클라이언트
19실전EdgeCanvas 파서이전 전체UpstagePDF→Schema
20실전LVGL 코드 생성이전 전체LVGLSchema→C
21실전빌드/플래시이전 전체CMake/ST/ESP자동 빌드/플래시
22실전Vision-in-the-LoopOpenCVOpenCV검증 리포트
23실전Self-HealingLangGraphLangGraph자가수정 루프
24실전통합/포트폴리오소프트웨어공학Docker/GitHub최종 MVP

9. 교재 구매 순서

1차 구매: 1~6개월용

이 10권이 기초 체력이다.

  1. 《리눅스 커맨드라인 완벽 입문서》
  2. 《혼자 공부하는 파이썬》
  3. 《윤성우의 열혈 C 프로그래밍》
  4. 《C로 배우는 쉬운 자료구조 4판》
  5. 《컴퓨터 구조 및 설계 ARM》
  6. 《쉽게 배우는 운영체제 3판》
  7. 《Rosen의 이산수학》
  8. 《Floyd의 디지털 논리회로》
  9. 《스트랭 선형대수학》
  10. 《이공계용 확률과 통계》

이전 정리 문서에서도 현실적인 첫 교재로 리눅스, Python, C, 자료구조, 컴퓨터구조, 운영체제, 이산수학, 선형대수, 임베디드, OpenCV가 제시되어 있다.

2차 구매: 7~12개월용

  1. 《임베디드 엔지니어 교과서》
  2. 《임종수의 STM32 Cortex-M 완벽 활용서 Vol.1》
  3. 《OpenCV 4로 배우는 컴퓨터 비전과 머신 러닝》
  4. 필요 시 《임베디드 프로그래밍 C 코드 최적화》

3차 구매: 13~18개월용

  1. 《혼자 공부하는 머신러닝+딥러닝》
  2. 《밑바닥부터 시작하는 딥러닝 1》
  3. 《밑바닥부터 시작하는 딥러닝 2》
  4. 《트랜스포머를 활용한 자연어 처리》
  5. 《LangGraph로 만드는 AI 에이전트 서비스》
  6. 《컴퓨터 네트워킹: 하향식 접근》
  7. 《HTTP 완벽 가이드》
  8. 《도커 교과서》

4차 구매: 19~24개월 선택

AegisEdge가 영상분석이면:

  1. 《IT CookBook, 컴퓨터 비전과 딥러닝》
  2. YOLO/ONNX/DeepStream 공식문서 중심

AegisEdge가 로봇이면:

  1. 《ROS2 혼자공부하는 로봇SW 직접 만들고 코딩하자》
  2. 《ROS 2로 시작하는 로봇 프로그래밍》
  3. ROS2/Nav2/Gazebo 공식문서

AegisEdge가 관제/보안/정책엔진이면:

  1. 《소프트웨어 공학의 모든 것》
  2. 《실용주의 프로그래머》
  3. KISA 시큐어코딩 가이드
  4. MCP/A2A 공식문서

10. 공식문서 읽는 순서

교재보다 공식문서가 중요한 영역이 있다. 이전 정리 문서에서도 LVGL 9.x, STM32H747I-DISCO, ESP-IDF/M5Stack CoreS3, Upstage API, LangGraph, OpenCV/DeepStream/YOLO는 버전 변화가 있어 공식문서 우선이라고 정리했다.

1순위 공식문서

  1. STM32H747I-DISCO User Manual
  2. ESP-IDF Programming Guide
  3. M5Stack CoreS3 공식문서
  4. LVGL 공식문서
  5. OpenCV 공식문서
  6. Upstage Document Parse / Information Extract / Solar Pro 3
  7. LangGraph 공식문서
  8. Docker 공식문서
  9. CMake 공식문서
  10. DeepStream 공식문서, AegisEdge 영상분석 시

11. 주간 공부 루틴

매주 이렇게 반복한다.

월요일

교재 1장 읽기.
핵심 용어 10개 정리.

화요일

공식문서 읽기.
교재와 공식문서 차이 정리.

수요일

코딩 실습.
작게라도 동작하는 예제를 만든다.

목요일

실패 로그 분석.
에러 메시지를 원인별로 분류한다.

금요일

README 작성.
“내가 뭘 배웠는지”가 아니라 “다른 사람이 어떻게 재현하는지”를 쓴다.

토요일

미니 프로젝트 구현.

일요일

복습, 정리, 다음 주 계획.


12. 매달 평가 기준

매달 아래 5개를 체크한다.

항목질문
개념내가 이 주제를 말로 설명할 수 있는가?
코드작게라도 동작하는 코드가 있는가?
문서README나 노트가 있는가?
테스트실패/성공 기준이 있는가?
연결EdgeCanvas 또는 AegisEdge와 어떻게 연결되는가?

점수는 5점 만점으로 기록한다.

점수의미
1읽기만 했다
2예제를 따라 했다
3변형해서 실행했다
4내 프로젝트에 연결했다
5문서화하고 재현 가능하게 만들었다

2년 동안 목표는 모든 핵심 영역을 4점 이상으로 만드는 것이다.


13. EdgeCanvas 관점 핵심 역량 우선순위

순위역량이유
1C와 메모리LVGL/MCU 펌웨어의 기반
2컴퓨터구조데이터시트, 레지스터, 메모리맵 이해
3임베디드 시스템STM32/M5Stack 실기 동작
4LVGL/HMIEdgeCanvas의 직접 산출물
5Python 자동화Agent, API, 빌드 자동화
6OpenCVVision-in-the-Loop 검증
7LangGraphSelf-Healing 상태머신
8Docker/pytest재현성, 평가, 제출 패키징
9보안API 키, 코드 생성, 외부 문서 입력
10머신러닝/LLM문서 이해와 코드 생성 품질 개선

14. AegisEdge 관점 핵심 역량 우선순위

순위역량이유
1리눅스/네트워크엣지 장비, RTSP, API 서버
2OpenCV모든 영상분석의 기본
3딥러닝/객체탐지YOLO/ONNX 추론
4Docker엣지 배포
5DeepStream실시간 멀티스트림 영상분석
6보안관제/이벤트/카메라 시스템의 핵심
7데이터베이스이벤트 로그와 추론 결과 저장
8ROS2로봇 연동 시
9제어/SLAM실제 이동체 연동 시
10MCP/A2A멀티에이전트 확장 시

15. 하지 말아야 할 순서

아래 순서로 가면 위험하다.

LLM Agent → ROS2 → Isaac Sim → 강화학습 → 임베디드

이 순서는 멋있어 보이지만 EdgeCanvas에는 비효율적이다. 왜냐하면 EdgeCanvas의 본질은 실물 MCU, LVGL, 빌드/플래시, 카메라 검증이기 때문이다.

올바른 순서는 다음이다.

리눅스
→ Python
→ C
→ 자료구조
→ 컴퓨터구조
→ 운영체제
→ 디지털논리
→ 임베디드
→ LVGL
→ OpenCV
→ 문서 AI
→ LangGraph
→ Docker/보안
→ EdgeCanvas MVP
→ AegisEdge 확장

이전 정리 문서에서도 “기초 학문은 AI부터가 아니라 리눅스 → Python → C → 자료구조 → 컴퓨터구조 → 운영체제 → 이산수학 → 임베디드 → 선형대수/확률통계 → OpenCV → 딥러닝 → LangGraph Agent → 네트워크/보안/소프트웨어공학” 순서가 맞다고 정리했다.


16. 최종 요약

2년 커리큘럼의 핵심은 이렇다.

기초, 1~6개월

리눅스, Git, Python, C, 자료구조, 컴퓨터구조, 운영체제, 이산수학을 한다.
목표는 시스템을 이해하는 개발자 기본기다.

기본, 7~12개월

디지털논리, 임베디드, STM32, M5Stack, ESP-IDF, LVGL, CMake, OpenCV를 한다.
목표는 실물 보드에 HMI를 띄우고 카메라로 검증하는 능력이다.

심화, 13~18개월

선형대수, 확률통계, 머신러닝, 딥러닝, NLP, RAG, Upstage 문서 AI, LangGraph, 네트워크, Docker, 보안을 한다.
목표는 문서 이해와 자가수정 Agent를 설계하는 능력이다.

실전, 19~24개월

EdgeCanvas MVP를 만든다.
목표는 데이터시트 → JSON → LVGL C 코드 → 빌드 → 플래시 → 카메라 검증 → 자가수정 리포트까지 연결하는 것이다.

가장 중요한 결론은 하나다.

EdgeCanvas를 제대로 하려면 AI보다 먼저 C, 컴퓨터구조, 임베디드, LVGL, OpenCV, LangGraph를 순서대로 쌓아야 한다. AegisEdge까지 생각하면 그 위에 네트워크, Docker, 딥러닝 객체탐지, DeepStream, 보안을 얹으면 된다.

profile
李家네_공부방

0개의 댓글