일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- GitHub
- vm
- Principles of Security
- Git
- 오블완
- 보안
- 스피커
- Submodule
- virtualbox
- mqtt
- 라즈베리파이5
- 마이크
- 커밋 이력
- ubuntu
- 가상머신
- 통신 프로토콜
- linux
- Type of Attacks
- 부팅 스크립트
- 라즈비안 os
- 티스토리챌린지
- 명령어
- IOT
- mosquitto
- 네트워크
- bfg repo-cleaner
- 공유기 포트포워딩
- 리눅스
목록전체 글 (27)
신짱구의 개발일지

더보기1. Submodule 이란?2. Submodule 동작 방식3. ReferenceSubmodule이란?프로젝트를 수행하다 보면 다른 프로젝트를 함께 사용해야 하는 경우가 종종 있다. 함께 사용할 다른 프로젝트는 외부에서 개발한 라이브러리라던가 내부 여러 프로젝트에서 공통으로 사용할 라이브러리일 수 있다. 이런 상황에서 자주 생기는 이슈는 두 프로젝트를 서로 별개로 다루면서도 그 중 하나를 다른 하나 안에서 사용할 수 있어야 한다는 것이다. Git의 서브모듈은 이런 문제를 다루는 도구이다. Git 저장소 안에 다른 Git 저장소를 디렉토리로 분리해 넣는 것이 서브모듈이다. 다른 독립된 Git 저장소를 Clone해서 내 Git 저장소 안에 포함할 수 있으며 각 저장소의 커밋은 독립적으로 관리한다. ..
더보기1. VirtualBox 네트워크 인터페이스 종류2. NAT (Network Address Translation)3. 브리지 어댑터 (Bridged Adapter)4. 내부 네트워크 (Internal Network)5. 호스트 전용 어댑터 (Host-Only Adapter) VM을 자주 사용하지만, 네트워크 인터페이스에 대해서는 얕게 알고 있는 것 같아 정리한다. VirtualBox에서는 VM이 네트워크에 연결되는 여러 가지 방식을 제공한다. VirtualBox 네트워크 인터페이스 종류NAT(Network Address Translation)NAT 네트워크 (NAT Network)브리지 어댑터 (Bridge Adapter)내부 네트워크 (Internal Network)호스트 전용 어댑터 (Host-..

더보기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를 활성화시키기 위해 모니터를 연결해야만 하는 번거로움이 있다. 물론 처음 내부망으로 접속한..