CMake: target_link_libraries 사용법

CMake로 여러 타깃을 나눠 빌드하다 보면 "라이브러리는 분명히 링크했는데 헤더를 못 찾는다"는 에러를 자주 마주친다. 원인은 대부분 target_link_libraries의 PUBLIC/PRIVATE/INTERFACE 키워드를 잘못 골랐기 때문이다. 이 세 키워드는 단순히 "링크한다/안 한다"가 아니라,…

Continue ReadingCMake: target_link_libraries 사용법

sched_ext 사용법

리눅스 커널의 CPU 스케줄러(CFS 등)는 범용 워크로드에 맞춰 설계됐지만, 게이밍처럼 짧은 지연시간이 중요한 워크로드와 데이터센터의 처리량 위주 워크로드, 배터리 절약이 우선인 모바일 워크로드를 하나의 스케줄링 정책으로 동시에 만족시키기는 어렵다. 과거에는…

Continue Readingsched_ext 사용법

CMake 사용법

C++ 프로젝트가 파일 몇 개를 넘어서면 컴파일 명령이 금방 복잡해진다. 소스 파일이 여러 디렉터리에 흩어지고, 라이브러리를 따로 빌드해서 링크해야 하고, 리눅스에서는 GCC, macOS에서는 Clang, 윈도우에서는 MSVC를 각각 다르게 호출해야 한다.…

Continue ReadingCMake 사용법

우분투(Ubuntu) 최신 소식 총정리 — 26.04 LTS 신기능부터 Dirty Frag 커널 패치, 25.10 EOL까지

2026년 7월 첫째 주, 우분투 진영에서 한꺼번에 여러 소식이 쏟아졌습니다. 지난 4월 출시된 26.04 LTS "Resolute Raccoon"이 첫 포인트 릴리스를 앞두고 있는 와중에, 7월 1일에는 20.04 LTS부터 26.04 LTS까지 모든…

Continue Reading우분투(Ubuntu) 최신 소식 총정리 — 26.04 LTS 신기능부터 Dirty Frag 커널 패치, 25.10 EOL까지

리벨리온·퓨리오사AI, 파리 레이즈 서밋서 보여준 K-AI 반도체와 소버린 AI 전략

2026년 7월 8~9일 파리에서 열린 글로벌 AI 콘퍼런스 레이즈 서밋(Raise Summit) 2026에 한국 AI 반도체 스타트업 리벨리온과 퓨리오사AI가 나란히 참가했다. 구글 클라우드, AWS를 포함해 약 9,000명의 관계자와 350명의 연사가 모인…

Continue Reading리벨리온·퓨리오사AI, 파리 레이즈 서밋서 보여준 K-AI 반도체와 소버린 AI 전략

Ubuntu에서 네트워크 네임스페이스 활용하기

Docker 컨테이너를 쓰다 보면 컨테이너마다 독립된 IP와 라우팅 테이블을 갖는다는 걸 당연하게 받아들이게 되지만, 정작 그 격리를 커널이 어떤 메커니즘으로 제공하는지 직접 만들어본 적은 드물다. Docker의 기본 브리지 네트워크는 사실…

Continue ReadingUbuntu에서 네트워크 네임스페이스 활용하기

라즈베리파이 GPIO 제어 – Python과 C 비교

라즈베리파이 4 이하에서 잘 동작하던 RPi.GPIO 기반 코드를 라즈베리파이 5에 그대로 올리면 GPIO 핀 제어가 먹통이 되는 경우가 많다. Pi 5부터는 GPIO·USB·이더넷·카메라 등 외부 인터페이스를 처리하는 RP1이라는 별도 I/O 칩이…

Continue Reading라즈베리파이 GPIO 제어 – Python과 C 비교

Python subprocess로 시스템 명령어 제어하기

Python 스크립트에서 셸 명령어나 외부 프로그램을 호출해야 하는 상황은 흔하다. os.system()은 출력을 캡처할 수 없고, os.popen()은 에러 처리와 스트림 제어가 번거롭다. 특히 자동화 스크립트에서 외부 명령의 표준출력/표준에러를 각각 받아 로그로…

Continue ReadingPython subprocess로 시스템 명령어 제어하기

sed 사용법

sed는 스트림 편집기(stream editor)로, 텍스트 스트림을 편집하고 변환하는 데 사용되는 강력한 도구이다. sed는 주로 리눅스 및 유닉스 환경에서 활용되며, 특히 스크립트 및 대량 텍스트 처리에 유용하다. 이 글에서는 sed 사용법에…

Continue Readingsed 사용법