본문 바로가기

전체 글

(65)
아두이노 (Arduino)와 라즈베리파이 (Raspberry Pi) 학부 시절, 아두이노와 라즈베리파이 둘 다 실습해 보았다. 그러나 이 둘이 어떤 차이점이 있고 어떤 용도에 적합한지 생각을 안 해보았는데, 지금이라도 글을 작성해 본다. 라즈베리파이(Raspberry Pi)와 아두이노(Arduino)는 모두 임베디드 시스템이나 전자제어가 필요한 제품에 많이 사용되며, 각각 특징이 다르기 때문에 쓰임새도 조금씩 다르다. 🔌 아두이노 (Arduino)아두이노는 센서나 간단한 하드웨어 제어에 특화된 마이크로컨트롤러이며, 빠르게 반응해야 하거나 반복적인 작업에 적합하다.주로 사용되는 제품/분야:스마트 조명 (예: 움직임 감지해서 불 켜기)자동문/자동 잠금장치온도/습도 조절기드론이나 로봇의 센서 제어DIY 스마트 화분 (토양 습도 측정해서 물주기)장난감, 인터랙티브 아트 (LE..
스택(Stack)과 힙(Heap) 메모리 구조 설명 📌 스택(Stack) 메모리스택은 지역 변수와 함수 호출 정보를 저장하는 메모리 영역입니다.그림에서는 스택(Stack) 메모리가 높은 주소에서 낮은 주소로 자라는 구조로 표현되었습니다. 스택에 저장된 데이터:주소데이터0xB5D37E44CarrayNum2 = 0x1F771163C00 (힙의 배열 주소)0xB5D37E444arrayNum = 0x1F771163C00 (힙의 배열 주소)0xB5D37E440num2 = 5 (값 타입)0xB5D37E43Cnum = 5 (값 타입) ✔ 값 타입(int)인 num과 num2는 직접 값이 저장됨.✔ 참조 타입(int[])인 arrayNum과 arrayNum2는 힙을 가리키는 주소(참조)만 저장됨.📌 힙(Heap) 메모리힙은 참조 타입 객체(배열, 클래스 인스턴스 등..
[C# WinForm] UI 스레드 (메인 스레드) 와 작업 스레드 (백그라운드 스레드) UI 스레드 (메인 스레드)역할:폼과 컨트롤을 생성하고 관리하며, 사용자 입력(클릭, 키 입력 등)과 같은 이벤트를 처리합니다.Windows 메시지 루프(Message Loop)를 통해 모든 UI 이벤트를 순차적으로 처리합니다.특징:UI 업데이트는 반드시 이 스레드에서 실행되어야 합니다.다른 스레드에서 UI에 접근할 경우 Invoke나 BeginInvoke 같은 메서드를 통해 UI 스레드로 작업을 넘겨야 합니다.타이머 관련:System.Windows.Forms.Timer:UI 스레드의 메시지 루프에서 동작하는 타이머입니다.타이머의 Tick 이벤트는 UI 스레드에서 호출되므로, UI 컨트롤의 직접 업데이트가 가능합니다.단, UI 스레드가 바쁘면 타이머 이벤트가 지연될 수 있습니다.작업(백그라운드) 스레드역..