일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 보안
- 스피커
- 명령어
- 라즈베리파이5
- GitHub
- 통신 프로토콜
- 리눅스
- 티스토리챌린지
- vm
- 마이크
- virtualbox
- mosquitto
- 오블완
- 가상머신
- 커밋 이력
- Type of Attacks
- bfg repo-cleaner
- IOT
- 부팅 스크립트
- Principles of Security
- 공유기 포트포워딩
- ubuntu
- 네트워크
- linux
- mqtt
- 라즈비안 os
- Git
목록분류 전체보기 (25)
신짱구의 개발일지
더보기1. MQTT 프로토콜 지원 오픈소스 SW2. Mosquitto를 이용한 MQTT 통신 실습MQTT 프로토콜 지원 오픈소스 SWMQTT 프로토콜을 지원하는 여러 오픈소스 SW와 라이브러리가 있다. Broker와 Client 라이브러리로 나눌 수 있다. Mosquitto (Eclipse Mosquitto)Mosquitto는 설치가 간단하며, 리소스 소모가 적어서 사용하기에 편리하다. 또한, TLS 인증 및 WebSocket 기능을 사용할 수 있다. MQTT 3.1, 3.1.1, 5.0 버전을 지원하고, EPL/EDL 라이센스를 가진다.Mosquitto Broker경량 MQTT 브로커로, 빠르고 효율적인 메시지 중계를 제공한다. mosquitto 실행 파일로 서버 역할을 수행한다. CLI 명령어(mos..
더보기1. 가상머신 개념2. Ubuntu 다운로드3. VirtualBox 설치가상머신(Virtual Machine)이란?가상머신은 간단히 말하면 컴퓨팅 환경을 소프트웨어로 구현한 것이다. 가상머신에 대한 잘 정리된 내용을 아래에 인용했다.가상머신(VM; Virtual Machine)은 단일 물리적 컴퓨터 시스템 내에서 여러 개의 독립적인 운영 체제와 애플리케이션을 실행할 수 있도록 하는 소프트웨어 기술입니다. 마치 하나의 물리적 컴퓨터 안에 여러 개의 가상 컴퓨터가 존재하는 것과 같습니다. 각 가상머신은 자체 운영 체제, 메모리, 스토리지, 네트워크 자원 등을 가지고 독립적으로 작동합니다.가상머신을 사용하면 단일 컴퓨터에서 다양한 운영 체제를 동시에 사용할 수 있습니다. 각각의 가상머신은 다른 가상머신과..
더보기1. MQTT 프로토콜 배경2. MQTT 프로토콜 개념3. MQTT 구조 및 구성 요소4. MQTT 프로토콜 Layer5. MQTT 프로토콜 Topic 개념6. MQTT 프로토콜 QoS 개념7. 참고 문헌MQTT 프로토콜 배경MQTT (Message Queuing Telemetry Transport) 프로토콜은 Andy Stanford Clark(IBM)과 Arlen Nipper(Cirrus Link)이 1999년도에 공동으로 발명한 프로토콜이다. 그들은 위성을 통해 송유관과 연결하기 위해 최소한의 배터리 손실과 최소한의 대역폭을 가진 프로토콜이 필요했다. 두 발명가들은 미래 개발할 프로토콜을 위해 몇 가지 요구사항을 정리했다. Simple implementationQuality of Servi..
더보기1. 라즈베리파이 연결 방법2. GPIO 제어 라이브러리 설치3. DHT22 센서 통신 프로세스4. 코드 부분 설명사용된 장비라즈베리파이5DHT22 센서저항 (10kΩ)점퍼 와이어하드웨어 연결VCC: 5V (예: GPIO 2번 핀)GND: GND (예: GPIO 6번 핀)Data: GPIO 핀 (예: GPIO 17번 핀) 라즈베리파이5 GPIO 핀맵 온습도 센서 핀맵핀 구성은 왼쪽에서부터 아래와 같다.Pin 1: VDD (전원 공급, 3.3~6V DC 필요)Pin 2: DATA (디지털 신호 출력)Pin 3: NULL (연결되지 않음)Pin 4: GND (접지) 온습도 센서의 범위 오차표라즈베리파이 연결DHT22 데이타시트에 따르면, 전원 안정화를 위해 VDD와 GND 사이에 100nF의 Capac..
프로젝트를 진행하면서 IP 주소나 포트 번호 그리고 디비 계정 등을 임의의 값으로 수정하는 것을 잊고 커밋해버렸다.. 바로 이전 커밋을 취소하여도 되지만, 예전에 올린 커밋 이력에도 존재할 경우 모두 찾아서 커밋을 취소하기에는 너무너무 귀찮다. 이참에 이미 올라간 커밋 기록들에서 여러 민감 정보들을 한번에 가리거나 지울 수 있는 툴을 찾아보기로 했다. BFG Repo-CleanerBFG Repo-Cleaner는 Git 저장소에서 대용량 파일이나 민감한 정보를 빠르게 제거하기 위한 오픈 소스 도구이다. Git은 기본적으로 모든 커밋과 변경 이력을 추적하고 유지하기 때문에, 실수로 저장소에 민감한 정보나 큰 파일이 포함될 경우 영구적으로 남아 있을 수 있다. BFG Repo-Cleaner는 이러한 이력에서 ..
라즈베리파이 OS 부팅 시 지정된 동작이 자동으로 실행될 수 있도록 환경 구성한다. 1. rc.local 파일 수정rc.local 파일은 리눅스 시스템에서 부팅 과정 중 마지막에 실행되는 스크립트 파일이다. 이 파일은 부팅 시에 자동으로 실행되는 사용자 정의 명령이나 스크립트를 포함시킬 수 있다.sudo vi /etc/rc.local파일을 수정하기 위해 루트 권한으로 rc.local 파일을 연다.#!/bin/bash -e 와 exit 0 구문 사이에 부팅 시 실행할 스크립트 작성한다. 2. rc.local 파일 실행 권한 부여부팅 시 rc.local 파일을 실행하기 위해 실행 권한을 부여해야 한다. 라즈베리파이 OS에서는 이미 실행 권한이 부여되어 있었지만, 실행권한이 없는 경우 아래의 명령어로 부여한다..
더보기1. 마이크 입력 테스트2. 스피커 출력 테스트라즈베리파이에서 마이크와 스피가 제대로 동작하는지 확인하기 위한 명령어를 정리한다. 1. 연결된 마이크 장치 확인arecord 명령어는 Linux에서 오디오를 녹음하는데 사용된다.-D plughw:2,0: arecord에서 사용할 오디오 디바이스를 지정한다. plughw:2,0는 특정 하드웨어 장치(이 경우, 카드 번호 2, 장치 번호 0)를 의미한다. -d 10: 녹음 시간을 설정한다. -f cd: 녹음할 오디오의 포맷을 설정한다. cd는 CD 품질의 오디오 포맷을 의미하고, 44.1 kHz 샘플링 레이트와 16비트, 스테레오 형식으로 녹음된다.-l: 현재 시스템에 연결된 오디오 캡처(녹음) 장치의 목록을 표시한다.arecord -l 2. 마이크 ..
더보기Raspberry Pi Imager로 라즈베리파이 OS 설치공유기 포트포워딩하드웨어 사양Raspberry Pi 5Micro SD Card 128GB Raspberry Pi Imager로 라즈베리파이 OS 설치Raspberry Pi Imager는 Raspberry Pi 재단에서 제공하는 공식 도구로, Raspberry Pi 운영체제를 포함한 여러 OS를 SD 카드나 USB 드라이브에 손쉽게 설치할 수 있도록 한다. 1. 하드웨어 사양에 맞는 디바이스와 라즈베리파이 OS 그리고, SD 카드 저장소를 선택한다.2. OS 커스터마이징 라즈베리파이 이미저에는 OS 커스터마이징 옵션이 있다. 깡통 OS만 설치하면 SSH를 활성화시키기 위해 모니터를 연결해야만 하는 번거로움이 있다. 물론 처음 내부망으로 접속한..
더보기1. 덱(Dequeue)이란?2. 덱의 종류3. 시간 복잡도4. C++ 구현 코드 덱(Dequeue)이란? Dequeue(Double-Ended Queue)는 양쪽 끝에서 삽입과 삭제가 가능한 선형 자료구조이며, 양방향 큐라고도 불린다. 앞과 뒤에서 데이터를 자유롭게 추가하거나 제거할 수 있다는 점에서 일반적인 큐와는 다르다. 또한, 덱은 스택과 큐의 연산이 가능하기 때문에 스택과 큐의 혼합형 자료구조라고 볼 수 있다.덱의 종류 입력 제한 덱 (Input-Restricted Deque): 삭제는 양쪽에서 가능하지만, 삽입은 한쪽 끝에서만 가능한 덱출력 제한 (Output-Restricted Deque): 삽입은 양쪽에서 가능하지만, 삭제는 한쪽 끝에서만 가능한 덱시간 복잡도앞/뒤에서 삽입 및 삭제..
문제요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다. N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오.입력첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000)출력예제와 같이 요세푸스 순열을 출력한다.예제 입력7 3예제 출력문제 의도이 문제는 주어진 숫자들로 구성된 원형 큐..