Target
Board
Raspberry Pi CM5 + IO Board
Host
PC - Window
목표
Raspberry Pi CM5 - UI(Avalonia) 환경 구축

 

라즈베리 파이에서 UI를 구성할 때 여러 가지 선택지가 있는데, 주력 플랫폼은 크게 아래의 네 종류가 있다.

 

1. Qt (가장 전통적이고 실제 사용량이 가장 많음)

임베디드 리눅스 UI의 사실상 표준에 가까운 프레임워크

산업용 디스플레이, 제어기, 기기 UI에서 폭넓게 검증됨

라즈베리 파이에서도 하드웨어 가속, 안정성, 최적화 수준이 가장 높음

특징:

  • 성능·안정성 우수
  • 산업용에서 가장 많은 사례
  • 습득 난이도, 라이선스 고려 필요

 

2. Flutter (모던 UI용으로 빠르게 성장 중)

원래 모바일 UI지만, ARM 리눅스를 공식 지원하면서 파이에서도 활용 가능

애니메이션·렌더링 품질이 좋아 모던한 UI가 필요할 때 많이 고려됨

특징:

  • 크로스플랫폼 개발 속도 빠름
  • 예쁜 UI 제작에 유리
  • 런타임 리소스 요구량이 비교적 큼

 

3. Avalonia (.NET 기반 UI의 사실상 유일한 실전 선택지)

C#, XAML 기반으로 데스크톱 개발 경험을 그대로 가져올 수 있음

ARM64 파이에서 빌드·실행이 쉽고, .NET 기반 프로젝트와 궁합이 가장 좋음

특징:

  • .NET 생태계 활용
  • XAML 기반이라 UI 구조화가 편함
  • 임베디드 레퍼런스는 Qt·Flutter보다 적음

 

4. Web 기반 UI (실제로 많이 사용됨)

Electron이 아니라, WebView 또는 전체 화면 브라우저 기반 UI를 의미

라즈베리 파이 기반 키오스크, 대시보드, 관리 UI에서 자주 보임

특징:

  • HTML/CSS/JS로 개발 → 유지보수 매우 쉬움
  • PC·모바일·파이 모두 동일 UI 사용 가능
  • 복잡한 애니메이션·Native 성능은 한계가 있음

(참고: Electron은 기술적으로 가능하지만 리소스 부담이 커 실제 제품에서는 거의 안 씀)

 

추가로 언급할 수 있는 건 있지만, 실사용 비중이 매우 낮음

  • LVGL
  • Kivy (Python 기반)

 

여기서는 Avalonia로 UI 구성하는 방법을 설명한다.


 

Avalonia?

1. 개요

- Avalonia는 .NET 기반의 크로스플랫폼 UI 프레임워크

- C#과 XAML로 화면을 만들며 Windows / Linux / macOS / 임베디드 리눅스에서 동일 코드로 실행

 

2. UI 구성 방식

- XAML 기반 레이아웃, 스타일 시스템, 데이터 바인딩을 지원해서 데스크톱 수준의 일관된 UI 구조를 만들 수 있음

 

3. 성능 및 렌더링

- GPU 기반 렌더러를 사용해 고해상도 환경에서도 안정적이고 빠르게 동작

 

4. 배포와 환경 구성

- 독립 실행 형태로 배포할 수 있어 라즈베리 파이 같은 ARM 장치에서도 설정이 단순

 

5. 생태계 특징

- 오픈소스이며 .NET 라이브러리들과 자연스럽게 연동됨

- 라이선스 비용 부담이 없음

 

Avalonia를 라즈베리 파이에서 사용하기 위한 환경 구성 절차는 다음과 같음

1. NET 런타임 설치

2. 개발 환경 구성(PC)

3. 프로젝트 빌드 및 배포 파일 생성

4. 라즈베리 파이에 배포 및 실행

 


1. NET 런타임 설치

- 라즈베리 파이 OS(64비트 기준)에 Microsoft 패키지 저장소를 등록한 뒤 .NET SDK 설치

- Visual Studio 2022 설치 하면 .NET SDK는 같이 설치됨

- 확장 관리자에서 Avalonia 설치(Avalonia, Avalonia Template Studio)

설치 후 dotnet --info 명령으로 ARM64 환경이 정상 인식되는지 확인

 

 

 

3. 프로젝트 빌드 및 배포 파일 생성

다음 명령으로 라즈베리 파이용 실행 파일을 생성

dotnet publish -c Release -r linux-arm64 --self-contained true
 

이 방식은 .NET 런타임이 포함된 독립 실행 파일을 생성하므로 파이에 별도 설치가 필요 없음

 

 

4. 라즈베리 파이에 배포 및 실행

Publish 디렉터리 전체를 라즈베리 파이에 복사한 후 실행 파일을 실행

Avalonia는 X11 또는 Wayland 환경에서 자동으로 렌더링되며, 터치 디스플레이도 기본적으로 지원됨

 

 

Target
Board
Raspberry Pi5
Camera
Arducam V3Link Camera Solution
목표
Raspberry Pi5 - FPD-Link with MIPI CSI 구동

 

1. Arducam FPD-Link Camera Solution 테스트

- Raspberry Pi의 MIPI CSI-2 카메라는 센서를 보드 근처에 두는 것을 전제로 설계되었기 때문에 FPC 길이에 제한이 있음

- 기구 설계 관련하여 카메라를 보드에서 떨어진 위치에 배치해야 했음. 이를 위해 SerDes 기반 FPD-Link 를 테스트 해봐야 했고 Arducam V3Link Camera Solution을 구매함.

 

Arducam V3Link Camera Solution은 구성은 다음과 같음

  • Arducam FPD-Link Camera
  • Deserializer Board
  • Coaxial Cable

https://docs.arducam.com/V3Link-Camera-Solution/V3Link-Camera-Solution-for-Raspberry-Pi/Quick-Start-Guide/#package-list

 

Quick Start Guide - Arducam Wiki

Quick Start Guide Hardware Package List Connection of Camera Module Connection of camera and adapter board Final Steps Software Preparation Firstly, you should confirm the sensor of your camera module and execute the corresponding steps to access it. You c

docs.arducam.com

 


 

2. Raspbery Pi 시스템 설정

  • config.txt 수정
pi $ sudo nano /boot/firmware/config.txt
 

아래와 같이 수정

camera_auto_detect=0
.
.
dtoverlay=imx219
 

저장 후 재부팅

 

  • i2c 몇번에 장치가 붙었는지 확인
pi $ i2cdetect -l
 

Raspberry pi5 기준 CSI0는 4, CSI1는 6

 

  • 해당 장치에 0xc0가 있는지 확인
pi $ i2cdetect -y 6
 

 

  • Channel 1(CSI1) 카메라 선택
pi $ sudo i2ctransfer -f -y 6 w3@0x0c 0xff 0x55 0x01
 
  • Channel 1(CSI1) 카메라 영상 출력 확인
pi $ rpicam-still -t 0
 

 

  • Channel 2(CSI1) 카메라 선택
pi $ sudo i2ctransfer -f -y 6 w3@0x0c 0xff 0x55 0x01
 
  • Channel 2(CSI1) 카메라 영상 출력 확인
pi $ rpicam-still -t 0
 

FPD-Link 뒤에 연결되어 있지만 RPi에서는 일반 MIPI 카메라처럼 인식됨.


 

테스트 중 no camera 라면서 동작 하지 않는 문제가 있었는데 검색 결과, 특정 버전 이후로 Raspberry Pi I2C 신호 타이밍이 변경 된것으로 보인다.

그래서 과거 버전으로 rollback 해서 동작 확인 하였고, 내가 사용한 버전은 2024-03-15 버전이다.

 

https://forum.arducam.com/t/v3link-kit-no-cameras-available/6457/19

 

V3Link kit: no cameras available

The attempt to modify the baudrate has not been effective. This is the information before modification. sudo cat /boot/firmware/config.txt | grep dtparam= dtparam=i2c_arm=on #dtparam=i2s=on #dtparam=spi=on dtparam=audio=on dmesg | grep i2c [ 0.536821] plat

forum.arducam.com

 

 

1. GMSL, FPD-Link 사용 이유

임베디드·산업·자동차 시스템에서 카메라를 SoC 근처에 둘 수 없는 경우가 많은데 이때 가장 현실적인 해결책이 GMSL(Analog Devices)FPD-Link(Texas Instruments).

이 두 기술은 흔히 'MIPI 연장' 이라고 말하지만, 정확히 말하면 MIPI를 장거리로 끌고 가는 기술이 아니고 본질은 카메라의 위치 제약을 제거하기 위한 SerDes 링크 구조임.

 

1-1. 왜 MIPI는 그대로 연장할 수 없는가

MIPI CSI-2는 애초에 다음 전제를 기반으로 설계된 인터페이스

  • SoC 바로 근처에 센서 배치
  • PCB 트레이스 또는 짧은 FPC 전제
  • 수 cm ~ 수십 cm 이내 거리
  • 케이블, 커넥터 사용 비권장

 

그래서 현실적으로는 다음 문제가 발생

  • FPC 길이 증가 시 신호 무결성 붕괴
  • 외부 케이블 사용 시 EMI, skew, eye collapse 발생
  • 거리 확장은 사실상 불가능함

즉, MIPI에는 '연장'이라는 개념 자체가 없음.

 

1-2. SerDes 구조의 본질

GMSL과 FPD-Link는 MIPI 인터페이스가 아니라 입력 인터페이스를 직렬화하여 장거리 전송 가능한 링크로 변환하는 기술

 

기본 구조는 다음과 같음

CMOS Sensor

↓ (MIPI CSI-2 또는 병렬)

Serializer

↓ (Coax / STP 장거리 링크)

Deserializer

↓ (MIPI CSI-2 등)

SoC / CPU

 

여기서 핵심은 다음임.

  • MIPI는 짧은 구간에서만 유지
  • 장거리 구간은 SerDes 전용 물리계층
  • 케이블, 커넥터, EMI를 전제로 설계된 링크

그래서 정확한 표현은

'MIPI를 장거리로 연장한다'가 아니라 'MIPI 구간을 국소화한다'가 맞는 표현.


 

2. GMSL (Gigabit Multimedia Serial Link)

2-1. 개요

  • 제조사: Analog Devices(구 Maxim)
  • 주요 사용처: 자동차, 고신뢰 산업 시스템
  • 설계 성향: 링크 안정성, EMI 내성 우선

 

2-2. GMSL 대표 IC 구성

Serializer (카메라 모듈 쪽)

  • MAX9295A
  • MAX9296A
  • MAX96717 / MAX96717F (GMSL2)
  • MAX96799 (GMSL3)

대부분의 MIPI 카메라 모듈은

CMOS Sensor → MAX9295A 구조를 사용

 

Deserializer (SoC 보드 쪽)

  • MAX96712 (4채널 멀티카메라 허브)
  • MAX9296A
  • MAX96722
  • MAX96724 (GMSL3)

멀티카메라 시스템에서는

MAX96712가 사실상 표준

 

2-3. GMSL 구현 구조

[CMOS Sensor]
|
MIPI CSI-2
|
[Serializer: MAX9295A]
|
Coax / STP + PoC
|
[Deserializer: MAX96712]
|
MIPI CSI-2
|
[SoC]

 

2-4. GMSL 구현 절차

  1. CMOS 센서 해상도, FPS, MIPI lane 수 확정
  2. Serializer를 센서 출력 규격에 맞게 선택
  3. Deserializer를 카메라 수 기준으로 선택
  4. Bias-T 기반 PoC 회로 설계
  5. I2C 제어는 SerDes 내부 터널링 사용
  6. 초기화 순서는
  7. Deserializer → Serializer → Sensor 필수
  8. FSYNC, EQ, EMI 관련 기능은 자동 처리됨

 

2-5. GMSL 특성 요약

  • 케이블 길이와 편차에 매우 강함
  • EMI 환경에서 안정성 높음
  • 멀티카메라 동기 정확함
  • IC 단가와 설계 난이도는 높음

 

3. FPD-Link

3-1. 개요

  • 제조사: Texas Instruments
  • 주요 사용처: 산업용, 머신비전, 중저가 자동차
  • 설계 성향: 단순성, 비용 효율성 중시함

 

3-2. FPD-Link 대표 IC 구성

Serializer

  • DS90UB933
  • DS90UB953
  • DS90UB971 (FPD-Link IV)
  • DS90UB925 (병렬 RGB)

Deserializer

  • DS90UB960 (4채널 허브)
  • DS90UB964
  • DS90UB914

실무에서는

DS90UB953 + DS90UB960 조합이 가장 흔함.

 

3-3. FPD-Link 구현 구조

[CMOS Sensor]
|
MIPI CSI-2
|
[Serializer: DS90UB953]
|
Coax / STP + PoC
|
[Deserializer: DS90UB960]
|
MIPI CSI-2
|
[SoC]

 

3-4. FPD-Link 구현 절차

  1. 센서 출력 클럭과 lane 구조 확인
  2. Serializer 선택
  3. Deserializer로 카메라 수 집약
  4. TI 레퍼런스 기반 PoC 회로 설계
  5. I2C Alias 설정으로 주소 충돌 방지
  6. Link Lock 상태 확인

 

3-5. FPD-Link 특성 요약

  • 설정 구조 직관적
  • 비용 경쟁력 있음
  • 양산에 유리

EMI 성능은 PCB 레이아웃 영향 큼


4. 최종 정리

- GMSL과 FPD-Link는 서로 호환되지 않음

- Serializer와 Deserializer는 반드시 같은 계열로 구성해야 함

- 케이블이 같아도 내부 프로토콜은 완전히 다름

 

이 두 기술은 MIPI를 단순히 연장하는 방식이 아니라,

- 카메라의 위치 제약을 제거하기 위해 MIPI 구간을 최소화

- 장거리 구간을 SerDes 링크로 대체하는 구조

 

뭘 사용할지는,

- 케이블 길이

- EMI 환경

- 카메라 개수

- 비용 조건

이 네 가지에 의해 결정됨

 

'Raspberry Pi > Pi4 & Pi5' 카테고리의 다른 글

Raspberry Pi5 - FPD-Link with MIPI CSI  (0) 2026.01.17
Raspberry Pi4 - 크로스 컴파일 환경 구축(1)  (0) 2025.03.19
Raspberry Pi  (0) 2025.03.19

 

Raspberry Pi 5 + EDATEC 10.1인치 LCD를 사용 중이다. 최근 Raspbian이 Trixie로 업데이트 되었는데 LCD 드라이버가 제대로 동작하지 않는 문제가 발생했다. 여러 방법을 시도해봤지만 해결되지 않아, 결국 이전 버전으로 롤백하게 됐다. 여기서는 그 과정과 방법을 정리해두었다.

 

1. Rasberry pi OS

Raspberry Pi Foundation에서 개발한 공식 Raspberry Pi용 OS으로 Debian 기반으로 만들어진 배포판

 

2. Raspberry Pi OS 이력

날짜
릴리스(기반)
핵심 변화
2012-07-18
Raspbian (Debian Wheezy)
첫 공식 Raspbian SD 이미지 공개, 기존 Debian Squeeze 이미지 대체. Raspberry Pi
2015-09-29
Raspbian Jessie (Debian 8)
데스크톱 기본 부팅, LibreOffice 포함 등. Raspberry Pi

2016-09-28
PIXEL 데스크톱 도입
새 테마/아이콘/스플래시(PI‑Improved Xwindows Environment, Lightweight). Raspberry Pi
2017-08-17
Raspbian Stretch (Debian 9)
Debian 9 기반으로 업데이트. Raspberry Pi

2019-06-25
Raspbian Buster (Debian 10)
Pi 4 지원, OpenGL 비디오 드라이버 기본. Raspberry Pi

2020-05-29
이름 변경 → Raspberry Pi OS
32‑bit 업데이트 + 64‑bit 베타 공개. Raspberry Pi

2021-11-08
Raspberry Pi OS Bullseye (Debian 11)
GTK3 전환, KMS 디스플레이, 새 카메라 스택(libcamera), mutter 채택. Raspberry Pi
2021-12-02
Raspberry Pi OS (Legacy, Buster)
호환성 유지를 위한 레거시 브랜치 제공. Raspberry Pi

2022-02-02
Raspberry Pi OS 64‑bit 공식
arm64 정식 이미지 공개. Raspberry Pi

2023-10-11
Raspberry Pi OS Bookworm (Debian 12)
Wayland(wayfire) 기본(Pi 4/5), PipeWire, NetworkManager, 최적화된 Firefox. Raspberry Pi
2024-10-28
Bookworm 대규모 업데이트
Wayland 컴포지터를 wayfire → labwc로 교체, 모든 모델에서 Wayland 기본화. Raspberry Pi
2025-10-02
Raspberry Pi OS Trixie (Debian 13)
새 테마/글꼴, Control Centre 통합 설정 앱, 데스크톱 메타 패키지 도입. Raspberry Pi
 
Bookworm

Trixie

 

3-1. Raspberry Pi OS Download

https://www.raspberrypi.com/software/operating-systems/

 

Raspberry Pi OS downloads – Raspberry Pi

Raspberry Pi OS (previously called Raspbian) is our official, supported operating system.

www.raspberrypi.com

 

3-2. Raspberry Pi OS 이전 버전 Download

Raspberry Pi OS 공식적으로 이전 릴리스들을 아카이브 형식으로 보관하여 Raspberry Pi Imager에서 바로 Writing이 불가하다.

위 링크에서 원하는 버전의 View archive를 누르면 아래와 같이 이전 버전을 다운로드 할 수 있다.

 

Index of /raspios_arm64/images

 

downloads.raspberrypi.com

 

*.img.xy를 다운로드


 

 

4. Raspberry Pi Imager 실행

 

장치 선택 - 사용할 디바이스 선택

 

운영체제 선택 - 사용자 정의 사용

 

위에서 다운로드 받은 파일 선택(*.img.xz 압축 풀 필요 없음)

 

저장소 선택 후 Writing

 

 

 

1. STM32CubeIDE for VS Code

- Code editing

- Project build

- Automation

- Simplified debugging

라고 설명하고 있다.

 

메뉴얼이라고 만들어 놓은 pdf는 설치, 삭제만 달랑 적어놔서 사용하는데 한참 헤맴.

 

https://www.st.com/content/st_com/en/stm32-mcu-developer-zone/software-development-tools/stm32cubevscode.html?ecmp=tt46154_jk_enews_sep2025&mkt_tok=ODU2LVBWUC03MTUAAAGdhFroKMOR1L8tsWFmBRiNFi0kgX75HcMnbqwDFDSPF6ZGHcUp0aD_DYg1hF-SjG4HmClsm_l84rkyyzg_A120FUhrmTjauxAEWrPaajPs3JruPsg%EF%BB%BF

 

STM32Cube for VS Code - STMicroelectronics - STMicroelectronics

 

www.st.com

 

2. STM32CubeIDE vs STM32CubeIDE for VS Code

항목
STM32CubeIDE
STM32CubeIDE VS Code
무게감
무겁고 로딩 느림 (Eclipse 기반)
가볍고 빠름
설정 난이도
자동 설정 많음 → 초보자 친화
직접 설정 필요 → 숙련자 친화
빌드 시스템
Makefile 기반 (CubeMX 자동 생성)
CMake 기반 (자동화·CI에 유리)
디버깅
ST-LINK 완전 통합, 안정적
ST-LINK + Cortex-Debug로 가벼움
CubeMX 통합
IDE 내부에서 GUI 설정
CubeMX 따로 실행하거나 CLT 이용
확장성
제한적 (Eclipse 한계)
VS Code 확장 풍부, Git·Lint 등 연동 용이
대규모 프로젝트
안정적이지만 무거움
빠르지만 세팅 관리 중요
학습 곡선
낮음
중간 이상 (툴체인, CMake 이해 필요)

 

3. VSCode STM32CubeIDE 플러그인 설치

: VSC에서 Extension에서 STMCubeIDE 검색하여 install

: CubeCLT 설치 할 필요 없음. 필요한 파일은 위 통합팩에 다 들어있음.

 

4. STM32CubeMX에서 새 프로젝트 생성

VS Code에서 사용하는 여러 방법이 있겠지만 나는 아래 방법으로 하였다.

! CubeIDE에서 Toolchain 변경 안됨(하는 방법이 있긴 하나 억지로 건드려야 함)

! 결국 STM32CubeMX를 6.14.0 이후 버전을 설치(이후 버전 부터 Toolchain이 cmake 지원된다고 함)

! STM32CubeMX에서 새 프로젝트 생성

 

: STM32CubeMX

- MCU 선택

 

- Project Name, Location 입력, Toolchain → CMake 선택

 

- 기본 설정 & GENERATE CODE

 

: VS Code

- File - Open Folder... - 위에서 만든 폴더 오픈

 

- 하단 우측에 메시지가 뜨는데 'Bad CMake~'는 무시하고 아래의 'Would you like to configure discovered CMake project(s) as STM32Cube project(s)'는 Yes 클릭

 

- 하단의 Build 클릭

 

- Debug or Release 어느것으로 Build할껀지 선택 하여 Build

 

- 좌측 Run and Debug를 클릭해 STLink 확인(STLink를 연결한 상태)

 

- ST-Link Firmware 업그레이드

 

- 하단 우측에 'Successfully updated STLink Firmware' 메시지 확인

 

- STM32Cube:STLink GDB Server 클릭

 

- Build 성공 후, Debugger 연결이 안되서 STM32CubeProgrammer로 Download해 Build 확인 완료.

 

'ST > 개발 환경 및 구조' 카테고리의 다른 글

STM32F103x Core registers  (0) 2025.03.18
STM32F103x Memory map  (0) 2025.03.18
ST MCU/MPU Security Features  (0) 2025.03.18
CMSIS  (0) 2025.03.18
STM32 CubeMX LL driver  (0) 2025.03.18

 

기존 방법들의 단점:

  • SSH (PuTTY): 빠르지만 VI/NANO 같은 터미널 에디터만 사용 가능 → 불편함
  • 원격 제어 (VNC, XRDP): GUI 사용 가능하지만 느리고 딜레이 심함

 

VSCode + Remote-SSH 방식:

  • GUI 환경에서 편집 가능
  • 빠른 속도 (SSH 기반)
  • 파일/디렉터리 한눈에 확인
  • 무료 (Microsoft 개발)
 

VSCode 원격 접속 설정 방법

 

1. Raspberry pi : SSH 설정

: Preferences - Raspberry Pi Configuration

: Terminal 열어 ifconfig로 ip 확인


 

2. VSCode 다운로드 및 설치

https://code.visualstudio.com/

 
 

Visual Studio Code - Code Editing. Redefined

Visual Studio Code redefines AI-powered coding with GitHub Copilot for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

code.visualstudio.com

 

3. VSCode Remote-SSH 플러그인 설치

: VSC에서 Extension에서 remote -ssh 검색하여 install

 

4. VSCode SSH 접속 설정

: VSC에서 Remote Explorer - New Remote

: id(지정 안했으면 기본 'pi')@(Raspberrypi에서 확인한) ip 입력

 

또는,

: Open a Remote Window

: Connec to Host

: id(지정 안했으면 기본 'pi')@(Raspberrypi에서 확인한) ip 입력

 

: 접속이 되면 다음과 같이 어떤 플랫폼인지 선택

: 비밀번호 입력(지정 안했으면 기본 'pi')

: 접속 중

: 하단 왼쪽에 접속 확인

 

: VSC에서 Terminal - New Terminal

 

파일 열어서 편집도 가능

빠르면서도 편리한 GUI 기반 개발 가능!

 

 

 

 

1. Gemini Code Assist 설치

: Visual Studio Code가 설치 되어 있어야 한다.(이하 VSC)

: VSC에서 Extension에서 Gemini Code Assist를 검색하여 install

 

2-2. 왼쪽 다이아몬드 모양을 누르면 아래와 같이 사용 가능


2. GitHub Copilot 설치

: VSC에서 Extension에서 GitHub Copilot + GitHub Copilot Chat 검색하여 install

 

2-1. GitHub 계정 연결

: 상단 중앙 또는 하단의 개구리 모양(고글 쓴 로봇)을 누르면 사용 가능

 

Sign in to use Copilot for free 버튼을 클릭하여 Github 계정 연결.

GitHub 계정이 있으면 연결

없으면 Create an account 버튼 눌러서 계정 생성

 

2-2. GitHub Copilot 설정

https://github.com/settings/copilot/features

 

GitHub · Build and ship software on a single, collaborative platform

Join the world's most widely adopted, AI-powered developer platform where millions of developers, businesses, and the largest open source community build software that advances humanity.

github.com

 

: Settings - Copilot - Features

: 처음 접속하면 You are using Copilot for free 라고 뜨는데, 밑에 Start a free trial 버튼 클릭

 

: Copilot in GitHub.com → Enabled

: Copilot in GitHub Desktop → Enabled

 

 

'AI' 카테고리의 다른 글

Claude(클로드)에 Notion MCP Server 연결  (0) 2025.08.28
Claude(클로드)에 Figma MCP Server 연결  (0) 2025.08.26
클라우드 플랫폼이란?  (1) 2025.08.26

 

최근 이런 생각이 들었다.

내가 선택해 쓰는 프로그래밍 언어(이하 언어)와 프레임워크, 앞으로도 살아남을 수 있을까?

서서히 사라져가는 기술에 시간을 쓰는건 아닐까?

 

예전에는 플랫폼 마다 언어가 거의 정해져 있었다.

- PC나 서버에서는 Java, C#, Python 같은 범용 언어들이 주로 사용됐고,

- 센서나 장비 위에서는 C나 C++ 같은 임베디드 전용 언어가 사용됐다.

 

하지만 지금은 상황이 다르다.

- 라즈베리 파이 같은 고성능 보드에서는 Python도 돌아가고,

- Rust나 MicroPython처럼 PC와 임베디드 경계를 넘나드는 언어도 등장했다.

PC와 임베디드의 기술의 경계가 흐려졌고, 선택지도 많아졌다.

 


 

 

기술을 고를 수 있는 폭은 넓어졌지만, 그만큼 ‘오래가지 않는 기술’을 고를 위험도 커졌다.

유지보수가 끊긴 프레임워크, 구인 시장에서 사라진 언어들.

그럴 때마다 생각하게 된다.

지금 나는 어떤 흐름에 올라타야 할까?

 

최근 몇 년간 어떤 언어가 올라가고, 어떤 언어가 내려갔는지 살펴봤다.

내가 자주 보거나 써온 언어들을 중심으로 정리해보니 이런 흐름이 보였다

 

  • Python, JavaScript, TypeScript, Rust는 꾸준히 올라오고 있음
  • Java와 C#은 한때 압도적인 점유율을 보였지만 천천히 하락 중
  • Go는 클라우드, 인프라 분야에서 안정적인 위치를 유지하고 있음
 
언어
등장
주로 쓰이는 곳
요약
Java
1995
서버, 안드로이드
한 시대를 풍미했지만 지금은 조금씩 내려오는 중
C# (.NET)
2002
윈도우 앱, 게임, 백엔드
안정적이긴 한데 앞으로 확 올라가진 않을 듯
Python
1991
데이터, 자동화, AI
요즘엔 안 쓰는 데가 없음
JavaScript
1995
웹 프론트엔드, 풀스택
웹 쪽은 이 언어가 기본
TypeScript
2012
대규모 프론트엔드, 서버
이제는 TS 없이 JS를 말하기 어려움
Go
2009
인프라, 클라우드
특정 분야에서는 잘 버티는 언어
Rust
2010
시스템, 보안, WebAssembly
쓰는 사람은 적지만, 확실히 성장 중
C++
1985
게임, 내장형 시스템
여전히 건재하지만 새로운 진입은 많지 않음

 

요즘 인기 있다는 이유로 언어를 쉽게 바꾸고 싶진 않다.

하지만 적어도, 앞으로도 살아남을 기술에 시간을 쓰고 싶다.

내가 쓰는 언어가 그냥 ‘지금 당장 되는 기술’인지,

아니면 몇 년 뒤에도 여전히 쓸 수 있을 기술인지

한 번쯤 점검할 필요가 있다.

 

프로그래밍 언어는 결국 도구다.

하지만 그 도구가 나의 커리어 방향을 정하기도 한다.

눈앞의 편리함만 쫓지 말고, 지금 내가 타고 있는 흐름이 어디로 향하는지도 같이 봐야 한다고 생각한다.

 

 

Claude(클로드)에 Notion MCP Server 연결

 

1-1. Notion Web : 개인 토큰 생성

Profile - Integrations - New integration - Internal Integration Secret

https://www.notion.so/profile/integrations

 

The AI workspace that works for you. | Notion

A tool that connects everyday work into one space. It gives you and your teams AI tools—search, writing, note-taking—inside an all-in-one, flexible workspace.

www.notion.com

 

 

1-2. Notion Web : 개인 토큰 생성 및 복사

(절대 남에게 공개 하면 안됨)

 

1-3. Notion Web : Integration 설정

 

1-4. Notion Web : Acess page 추가

 

2. Claude Desktop : json 파일 편집

설정 - 개발자 - 로컬 MCP 서버 - 구성 편집

 

3. Claude Desktop : claude_desktop_config.json 파일 편집

2번에서 생성한 개인 토큰을 아래 편집 파일의 your-integration-token에 대체

{
  "mcpServers": {
    "notion": {
      "command": "npx",
      "args": ["-y", "@suekou/mcp-notion-server"],
      "env": {
        "NOTION_API_TOKEN": "your-integration-token"
      }
    }
  }
}
 

4. Claude Desktop 완전 종료 후 재실행

running 되었음 확인 가능

 

 

'AI' 카테고리의 다른 글

VSCode에 Gemini Code Assist + GitHub Copilot 설치  (0) 2025.09.09
Claude(클로드)에 Figma MCP Server 연결  (0) 2025.08.26
클라우드 플랫폼이란?  (1) 2025.08.26

 

Model Context Protocol (MCP)

Anthropic이 발표한 지능형 에이전트용 개방형 프로토콜. Model Context Protocol (MCP)을 통해 수천 개의 외부 도구와 데이터 소스에 연결할 수 있음

MCP 서버는 Claude Code가 도구, 데이터베이스, API에 액세스할 수 있게 함

 

현재 기준으로 수천 개의 MCP Server가 공개되어 있어, Claude와 다양한 외부 서비스 간의 연동이 가능. 여기는 Figma만 적어 놓았고, MCP Server별로 설정 방법이 다르므로, 다른 MCP Server 사용시 방법 확인 필요.

ChatGPT는 MCP Server를 지원하지 않고, 에이전트 모드라고 만들었는데 유료 버전 부터 사용 가능

 

  • MCP 호스트 : 데이터에 액세스하기 위해 MCP를 사용하는 AI LLM 애플리케이션.
  • MCP 클라이언트 : 호스트 애플리케이션 내부에서 MCP 서버와의 일대일 개별 연결을 유지하는 시스템
  • MCP 서버 : 표준화된 프로토콜을 통해 컨텍스트, 도구, 프롬프트 등 특정 기능과 정보 소스를 제공하며, 데이터와 기능을 MCP 클라이언트에 노출하는 프로그램
  • 로컬 데이터 소스 : 관련 정보를 포함하는 데이터베이스, 파일 및 로컬 서비스
  • 원격 서비스 : MCP 서버가 기능을 확장하기 위해 연결할 수 있는 외부 API 또는 서비스

 

https://docs.anthropic.com/ko/docs/claude-code/mcp

 

MCP를 통해 Claude Code를 도구에 연결하기 - Anthropic

”—” 매개변수 이해하기: -- (이중 대시)는 Claude 자체의 CLI 플래그와 MCP 서버에 전달되는 명령 및 인수를 구분합니다. -- 앞의 모든 것은 Claude의 옵션(--env, --scope 등)이고, -- 뒤의 모든 것은 MCP

docs.anthropic.com

 


 

A. Claude + Figma (직접 통합)

  • 기능 : Figma에서 직접 디자인 생성
  • 작업 방식 : Figma 플랫폼 내에서 Claude의 도움을 받아 디자인 작업 수행
  • 특징 : 실시간 디자인 생성 및 편집 가능

 

명령어 예시

사용자 :

"우리 모바일 앱 프로젝트 Figma 파일에서 로그인 화면 컴포넌트를 찾아서, 그 디자인을 분석하고 HTML/CSS로 구현해줘."

 

Claude :

"죄송하지만 Figma 파일에 직접 접근할 수 없습니다. 대신 다음과 같은 방법으로 도움을 드릴 수 있습니다: 1. Figma에서 로그인 화면을 스크린샷으로 찍어서 공유해 주세요

2. 또는 Figma의 "Copy as CSS" 기능을 사용한 코드를 붙여넣어 주세요

3. 디자인 스펙(색상, 폰트, 크기 등)을 텍스트로 알려주세요 그러면 그 정보를 바탕으로 HTML/CSS 코드를 작성해드리겠습니다."

 


 

B. Claude + Figma MCP Server (서버 기반 통합)

  • 기능 : Claude에서 Figma 관련 작업 요청 및 처리
  • 작업 방식 : Claude 인터페이스에서 "Figma로 안내문 작성해줘"와 같은 자연어 명령으로 Figma 작업 수행
  • 특징:
    • Claude 환경에서 직접 Figma 파일 데이터 조회
    • Figma 이미지 및 에셋 다운로드
    • 자연어를 통한 직관적인 디자인 작업 지시

 

명령어 예시

사용자 :

"우리 모바일 앱 프로젝트 Figma 파일에서 로그인 화면 컴포넌트를 찾아서, 그 디자인을 분석하고 HTML/CSS로 구현해줘."

와 같이 가능해짐.

 


 

Claude(클로드)에 Figma MCP Server 연결

 

0. 사전 준비 사항 : Claude Desktop 설치

https://claude.ai/download

 

1. 코드 복사 : 다음 링크에서 Mac 또는 Windows용 코드를 복사

https://github.com/GLips/Figma-Context-MCP/blob/main/README.ko.md

 

Figma-Context-MCP/README.ko.md at main · GLips/Figma-Context-MCP

MCP server to provide Figma layout information to AI coding agents like Cursor - GLips/Figma-Context-MCP

github.com

 

2. Figma Web : 개인 토큰 생성

Profile - Settings - Security 탭 - Generate new tokens

 

3. Figma Web : 개인 토큰 생성 및 복사

(절대 남에게 공개 하면 안됨)

 

4. Claude Desktop : json 파일 편집

설정 - 개발자 - 로컬 MCP 서버 - 구성 편집

 

 

5. Claude Desktop : claude_desktop_config.json 파일 편집

3번에서 생성한 개인 토큰을 아래 편집 파일의 YOUR-KEY에 대체

{
  "mcpServers": {
    "Framelink Figma MCP": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "figma-developer-mcp", "--figma-api-key=YOUR-KEY", "--stdio"]
    }
  }
}
 

 

6. Claude Desktop 완전 종료 후 재실행

running 되었음 확인 가능



'AI' 카테고리의 다른 글

VSCode에 Gemini Code Assist + GitHub Copilot 설치  (0) 2025.09.09
Claude(클로드)에 Notion MCP Server 연결  (0) 2025.08.28
클라우드 플랫폼이란?  (1) 2025.08.26

+ Recent posts