Python으로 /proc 파일시스템 파싱하기
ps, top, htop 같은 도구는 어떻게 실행 중인 모든 프로세스의 상태와 메모리 사용량을 실시간으로 보여줄까. 답은 의외로 단순한데, 이 도구들은 별도의 커널 API를 호출하는 게 아니라 /proc 아래의 파일들을 읽어서…
ps, top, htop 같은 도구는 어떻게 실행 중인 모든 프로세스의 상태와 메모리 사용량을 실시간으로 보여줄까. 답은 의외로 단순한데, 이 도구들은 별도의 커널 API를 호출하는 게 아니라 /proc 아래의 파일들을 읽어서…
파이썬으로 시스템 프로그래밍을 하다 보면 표준 라이브러리에 없는 저수준 기능이 필요한 순간이 온다. 특정 syscall을 직접 호출해야 하거나, 이미 검증된 C 라이브러리(.so)를 재사용하고 싶거나, 순수 파이썬으로는 느린 연산을 C로 짜둔…
라즈베리파이 4 이하에서 잘 동작하던 RPi.GPIO 기반 코드를 라즈베리파이 5에 그대로 올리면 GPIO 핀 제어가 먹통이 되는 경우가 많다. Pi 5부터는 GPIO·USB·이더넷·카메라 등 외부 인터페이스를 처리하는 RP1이라는 별도 I/O 칩이…
Python 스크립트에서 셸 명령어나 외부 프로그램을 호출해야 하는 상황은 흔하다. os.system()은 출력을 캡처할 수 없고, os.popen()은 에러 처리와 스트림 제어가 번거롭다. 특히 자동화 스크립트에서 외부 명령의 표준출력/표준에러를 각각 받아 로그로…
표 형태의 데이터를 다룰 때 파이썬에서 가장 많이 쓰는 게 Pandas DataFrame이다. DataFrame은 크게 세 요소로 이뤄진다 — 행을 식별하는 index, 열을 식별하는 columns, 그리고 실제 값들인 data. 이 글에서는…
다른 언어를 다뤄본 사람이라도 Python(파이썬) 연산자에서 몇 군데는 헷갈릴 수 있다. 대표적으로 /와 //의 차이, ==와 is의 차이가 그렇다. 이 글에서는 파이썬의 연산자 종류를 실제 코드 실행 결과와 함께 정리한다.…
자료구조는 데이터를 저장하고 조직화하는 방식을 정의한다. Python(파이썬)은 리스트, 튜플, 집합, 사전 같은 내장 자료구조와, 이를 확장한 collections 모듈을 함께 제공해 대부분의 작업을 표준 라이브러리만으로 처리할 수 있다. 이 글에서는 각…
Python GIL 제거, AUR 보안 공격, BPF 코루틴, CPU 전력 관리 등 이번 주 리눅스/오픈소스 주요 소식
Pandas apply 메서드는 pandas 내에서 가장 많이 사용되는 함수 중 하나이고, 사용자가 정의한 함수와 함께 사용할 수 있어서 데이터 전처리 등에 응용하여 사용할 수 있다. 사용자 정의 함수가 필요한 이유는…
Pandas의 merge 메서드는 두 개 이상의 데이터프레임을 병합(또는 조인)하는 데 사용된다. 이를 통해 데이터프레임 간에 공통 열을 기준으로 데이터를 결합하고, 데이터를 조합하여 분석하거나 시각화에 활용할 수 있다. 이 글에서는 Pandas의…