본문 바로가기

CS

(22)
아두이노 (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) 메모리힙은 참조 타입 객체(배열, 클래스 인스턴스 등..
프로그램 실행 시 운영체제의 메모리 관리 과정 (가상 메모리, 페이징) 1️⃣ 운영체제가 프로세스에 해당하는 가상 메모리 공간을 할당프로세스가 실행되면, 운영체제는 해당 프로세스만의 독립적인 가상 메모리 공간을 설정함.2️⃣ 당장 실행에 필요한 부분만 RAM에 적재 (지연 로딩, Demand Paging)프로그램 전체를 한 번에 RAM에 올리지 않고, 실행에 필요한 페이지만 RAM에 적재함.이 방식이 지연 로딩(Demand Paging) 이라고 불림.3️⃣ 추가적인 페이지가 필요하면, 페이지 폴트(Page Fault)가 발생하여 RAM에 로드실행 중에 프로세스가 아직 로드되지 않은 메모리를 참조하면 운영체제는 해당 페이지를 HDD/SSD에서 RAM으로 불러옴.4️⃣ RAM 공간이 부족하면 Swap을 활용하여 메모리 관리만약 RAM이 부족하면, 운영체제는 오래 사용하지 않은 ..
브라우저 주소창에 www.naver.com 을 입력했을 때 벌어지는 일 (호스트 파일, DNS, ISP) 1. host 파일 검색2. DNS 캐시 검색3. ISP의 DNS 서버가 DNS 쿼리 보내기4. naver 서버의 IP 주소 획득5. TCP 연결6. HTTP Request7. HTTP Response8. 웹 페이지 로드 1. host 파일 검색host 파일이란 ?호스트 파일은 로컬 시스템에서 사용하는 정적인 호스트 이름과 IP 주소 매핑 정보를 저장하는 텍스트 파일입니다.주로 작은 네트워크 환경이나 로컬 시스템에서 사용되며, 특정 도메인에 대한 IP 주소를 직접 지정할 수 있습니다. 호스트 파일은 windows 기준 아래 경로에서 찾을 수 있습니다.C:\Windows\System32\drivers\etc\hosts# For example:## 102.54.94.97 rhino.acme...
CSR(Certificate Signing Request) 이란? CSR(Certificate Signing Request)CSR은 인증서 서명 요청을 의미하며, 인증서를 발급에 필요한 정보를 포함하는 데이터 형식이다.CSR에는 다음 정보가 포함된다. 1. DN (Distinguished Name, 주체 정보) - 조직명, 도메인 이름, 국가 등 인증서 요청자의 정보2. 공개키 (Public Key) - 인증서에 포함될 공개키 (RSA/ECC 등) 3. 서명 알고리즘 (Signature Algorithm) - CSR을 생성할 때 사용한 해시 및 서명 알고리즘 (e.g. sha256WithRSAEncryption)4. 서명 (Signature) - DN + 공개키를 서명 알고리즘(SHA-256 등)으로 해싱한 후, 개인키로 암호화한 값. 이는 CSR의 무결성을 보장하는 ..
C# 정수 자료형 정수형의 특징 C#은 다음과 같은 미리 정의된 정수 계열 형식을 지원합니다. sbyte -128~127 부호 있는 8비트 정수 System.SByte byte 0~255 부호 없는 8비트 정수 System.Byte short -32,768~32,767 부호 있는 16비트 정수 System.Int16 ushort 0~65,535 부호 없는 16비트 정수 System.UInt16 int -2,147,483,648 ~ 2,147,483,647 부호 있는 32비트 정수 System.Int32 uint 0~4,294,967,295 부호 없는 32비트 정수 System.UInt32 long -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 부호 있는 64비트 정수 S..
[네트워크] OSI 7 Layer[계층] 1. OSI 7 계층이란? OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다. 계층을 나눈 이유는 통신이 일어나는 과정이 단계별로 파악할 수 있기 때문이다. 흐름을 한눈에 알아보기 쉽고, 사람들이 이해하기 쉽고,7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만 고칠 수 있기 때문이다. 그럼 문제를 예로 들어보자 PC방에서 오버워치를 하는데 연결이 끊겼다. 어디에 문제가 있는지 확인하기 위해서는 모든 PC가 문제가 있다면 라우터의 문제(3계층 네트워크 계층)이거나 광랜을 제공하는 회사의 회선 문제(1계층 물리 계층) 한 PC만 문제가 있고   오버워치 소프트웨어에 문제가 있다면(7계층 어플리케이션 계층) 오버워치 소프트..
함수(function)란 ? 프로그래밍 언어에서의 함수 함수(function) 프로그래밍 언어의 함수는 일련의 과정을 문(statement)으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것 function add(x,y) { return x + y; } 덧셈 함수
시리얼(Serial) 통신이란 ? 시리얼(Serial) 통신 병렬 데이터의 형태를 직렬 방식으로 전환하여 데이터를 전송하는 컴퓨터 하드웨어의 일종 통신에는 직렬 통신과 병렬 통신 이렇게 2가지 방식이 존재하는데 직렬 통신은 데이터를 보낼 때 한 데이터 선에서 데이터를 보내는 방식이고, 병렬 통신은 여려 개의 선에서 보내고자 하는 데이터를 나눠서 보내는 것이다 Serial 통신의 종류에는 UART, USART, SPI, I2C 등이 있다.
브라우저의 렌더링 과정 렌더링(rendering) - 렌더링은 HTML, CSS, JS로 작성된 문서를 파싱하여 브라우저에 시각적으로 출력하는 것