분류 전체보기

일상생활에서는 버퍼링 걸린다 라고 할때 쓰이고, 코딩을 하다보면 여러 분야에서 사용이 되는것이 버퍼입니다. 파일 입출력을 할때 크게 신경안쓰고 사용한 "버퍼" 과연 어떤 뜻인지 궁금하여 자세히 알아보았습니다. Buffer 의 사전적 의미 영단어 의미 1. 완충제 2. (기차나 철로의) 완충장치 3. (충격을) 완화하다 정보통신용어 의미 (네이버 지식백과 출처) 하나의 장치에서 다른 장치로 데이터를 전송할 경우에 양자간의 데이터의 전송속도나 처리속도의 차를 보상하여 양호하게 결합할 목적으로 사용하는 기억영역 즉 Buffer는 장치들 사이에서 데이터 전송할때 서로 다른 데이터 전송 및 처리 속도를 완충하기 위한 목적을 가진 장치임을 알 수 있습니다. Buffer는 데이터 전송 및 처리 속도 차이를 완충하기 ..
Base64 인코딩이란? Base 64란 이진 데이터를(Binary Data) 64개의 아스키코드 문자(char)로만 이루어진 텍스트로 표시하는 진법입니다. 아래 표를 보면 Padding 포함 64개로 이루어져 있습니다. 예시는 아래와 같습니다. Man이란 단어를 Bit로 8개씩 3단어 총 24Bit로 나열한 다음 이를 6Bit로 나눠서 이를 치환한 결과입니다. 이러한 방식으로 인코딩을 하는것을 Base64 인코딩이라고 합니다. Man은 총 24Bit로 Base64에서 나누는 6Bit와 나눠지는 숫자였습니다. 만약 Ma의 16Bit처럼 6으로 나눠지지 않는 경우는 아래와 같습니다. 이때 바로 Padding이 사용되어 빈칸을 매웁니다. Base64 사용하는 이유는? 예시로 사용한 Ma 같은경우 16비트에서..
문득 트랜잭션 트랜잭션이라 이야기 하는데 그럼 과연 트랜잭션이 의미하는것은 무엇인지 궁금했습니다. 이를 해결하기 위해 트랜잭션을 공부하게 되었습니다. 트랜잭션의 성질과 정의를 공부했습니다. 제가 공부한 내용에 대한 설명은 아래와 같습니다. 특징 DB에서 병행제어 및 회복 작업시 처리되는 작업의 단위. 하나의 트랜잭션은 commit이 되거나 rollback이 된다. 이 두 가지 특징을 생각하면 동시에 들어온 요구사항을 제어할 수 있으며, 오류가 발생 시 이를 회복(복구)을 할 수 있습니다. 그리고 작업을 정상적으로 완료하여 관리자(시스템)에게 알려주는 것이 commit이며, 만약 오류가 발생할 경우 rollback을 통해 작업 전 상태로 복구를 완료 후 관리자에게 알려주는 것임을 알 수 있습니다. 성질(A..
기존에 안드로이드에서 MQTT를 이용하여 메세지를 주고 받는걸 확인 했다. 이를 응용해서 전등을 컨트롤하는 예제를 만들어보자. 1. MQTT 로 보낼 TOPIC, JSON 구조 정하기 MQTT 중계 프로그램 제작 - 1부 안드로이드와 스위치 간 MQTT를 이용한 통신을 서버에서 중계를 하고자 한다. 그러면 어떻게 해야 중계를 할 수 있을까? 내용이 너무 길어 나눠서 포스팅 하도록 하겠습니다. 살펴볼 코드는 총 5 sonjuhy.tistory.com 이 글과 2부에서 작성한 서버와 통신할 안드로이드 어플을 만들고자 합니다. 그러므로 TOPIC은 이 글을 따라가겠습니다. 해당 글에서 안드로이드로부터 오는 메세지를 받는 토픽은 아래와 같습니다. MyHome/Light/Pub/Server 그리고 전등의 변경된 ..
Spring Boot에서 MQTT를 이용하여 각종 IoT가 접목된 기기들을 컨트롤하고자 한다. 그러면 어떻게 Spring Boot에서 이를 사용할 수 있을까? 환경 버전 java : 11 spring boot : 2.7.6 1. MQTT 라이브러리 설치하기 우선 MQTT 라이브러리를 설치해야 이 기능을 사용할 수 있으므로 설치를 합니다. implementation 'org.springframework.integration:spring-integration-mqtt:5.5.14' 위 코드를 "build gradle" 파일 내에 있는 "dependencies" 에 추가합니다. 저는 5.5 보다 더 윗단계 라이브러리 사용시 호환성 문제로 작동하지 않는 부분이 있어 해당 버전을 사용했습니다. 2. 코드 작성 여..
버튼입력을 통한 컨트롤 및 MQTT를 이용한 통신을 서버에 전송 하고자 한다. 그리고 유지 보수를 위해 펌웨어를 OTA로 업데이트 할 수 있도록 하고자 한다. 1. 펌웨어의 목적 정의 스위치를 통해 하고자 하는 목적을 먼저 정의를 해야합니다. 제가 원하는 목적들을 정의를 하자면 아래와 같습니다. 1. 버튼으로 스위치 컨트롤 1-1. 어떠한 경우에도 최우선적으로 작동 1-2. 버튼 작동했을때 상태를 서버로 전송 2. MQTT 구독, 발행 3. 웹 컨트롤 기능 3-1. OTA 기능 3-2. 테스트 컨트롤 및 상태값 확인 2. 목적 별 필요 기능 1번. 핀&릴레이 컨트롤 및 인터럽트 버튼 입력을 통해 컨트롤 하고자 하면 핀 & 릴레이 컨트롤이 필요합니다. 핀 : 버튼을 눌렀을때 해당 신호를 esp칩셋에 전송할..
Red-Hat
'분류 전체보기' 카테고리의 글 목록 (4 Page)