차곡차곡 성 쌓기
article thumbnail
[kotlin, Java] ByteArrayOutputStream과 ByteBuffer의 차이
IT 정보 2023. 8. 1. 01:22

ByteArrayOutputStream과 ByteBuffer는 모두 데이터를 저장하고 조작하는 데 사용되는 클래스이다. 그러나 사용 목적과 동작 방식에 차이가 있다. ByteArrayOutputStream ByteArrayOutputStream은 Java의 java.io 패키지에 속하는 클래스로, 바이트 데이터를 메모리에 버퍼로 저장하는 역할을 한다. 데이터를 쓰는 작업(Write)을 주로 수행 한다. 따라서 데이터를 추가하거나 쓸 때는 내부적으로 자동으로 크기가 조정된다. 버퍼의 크기가 부족할 경우 (현재 사이즈)* 2 방식으로 조정 된다. 이때 버퍼의 메모리는 새롭게 할당된다. ByteArrayOutputStream에 데이터를 쓰는 경우, 버퍼에 데이터가 계속 추가되며, 필요한 시점에서 데이터를 가져..

article thumbnail
OnePIC 개발 일지 : All-in-JPEG 대공사 [2023.07.23 ~ 2023.07.29]
개발 일지 2023. 7. 26. 21:22

1. All-in-JPEG 대공사 1.1 변경 사항 변경 사항은 다음과 같다. 프레임(SOF ~ EOI 전)만 저장해오던 방식에서 메타 데이터가 들어있는 APP1 Exif 데이터도 함께 추가 (썸네일 포함) 기존 All in JPEG Extension에 들어있던 텍스트 데이터를 EOI 뒤로 추가. 추가된 데이터들을 구별할 수 있도록 커스텀 마커 추가 (표 참조) 마커 이름 마커 데이터 용도 XOI (Extension of Image) 0xFF, 0x10 확장한 이미지 데이터의 시작을 표시함 XOT (Extension of Text) 0xFF, 0x20 확장한 텍스트 데이터의 시작을 표시함 XOA (Extension of Audio) 0xFF, 0x30 확장한 오디오 데이터의 시작을 표시함 1.2 변경 된..

article thumbnail
Discovery Protocol (탐색 프로토콜)
IT 정보 2022. 12. 23. 18:44

아이폰의 '에어 드랍' 기능은 아이폰 유저 간 사진이나 메모를 빠르게 원본 그대로의 데이터를 주고받을 수 있는 강력한 기능이다. 하지만 이는 아이폰 유저끼리만 가능하다. 갤럭시와 아이폰 간에도 에어드랍 처럼 신속하고 깨끗하게 주고 받을 수는 없을까? 아이폰간 에어 드랍이 가능한 이유는 아이폰 기기에 똑같은 센서가 달려 있어 사용자가 다른 사용자에게 에어 드랍 요청을 하면 수신자의 센서가 신호를 보내고 송신자의 센서가 신호에 응답하여 다시 신호를 보내기 때문에 가능하다. 근처의 기기를 탐색할 때 본인이 근처에 있다고 알리는 것이다. 이러한 방법으로 인터넷 통신하는 것이 바로 Discovery Protocol이다. 1. Discovery란? - 일반적으로 주변 상황을 파악하고자 할 때 필요한 절차를 뜻함 2..

article thumbnail
npm install 옵션 정리
카테고리 없음 2022. 12. 20. 22:27

npm 패키지 매니저로 패키지를 설치할 때 상황에 맞는 옵션을 쓰면 패키지들을 관리하기가 수월하다. 옵션들에 대해서 알아보고 상황에 맞는 옵션을 써보자 1. npm install -D -D 옵션을 추가할 경우devDependencies에 패키지들이 추가된다. 배포할 프로젝트 빌드시 포함되지 않는다. 2. npm install --save --save 옵션을 추가할 경우 dependencies에 패키지가 추가된다. npm 5부터는 npm install시 디폴트로 dependencies 패키지에 추가된다. 개발할 때만 필요한 패키지들을 설치한다. 3. npm install -g -g 옵션을 추가한 경우, 해당 패지키를 전역으로 설치한다. 시스템 상의 node modules 디렉토리에 설치되며 보통 C:\Pr..

라즈베리 파이 모바일(노트북) 핫스팟 Putty 연결이 안되는 오류
카테고리 없음 2022. 7. 12. 23:11

작년까지 노트북의 모바일 핫스팟을 이용해 노트북을 공유기로 사용하고 노트북에 라즈베리 파이를 연결하여 ip를 할당해주어 putty에 접속이 원활하게 이루어 졌었다. 하지만 최근 다시 해보니 putty에 연결이 되지 않고 빈화면만 뜨며 노트북의 네트워크 또한 끊어 지는 현상이 발생 하였다. 1. 라즈베리 파이 자동 로그인 해제 처음엔 라즈베리 파이의 os가 2022년 업데이트 되면서 중복 로그인을 허용하지 않게 되었는데 해당 이유가 원인인 줄 알고 문제를 해결 해 보려 하였다. 라즈베리 파이는 처음 전원을 연결할 때 부팅이 되면서 자동으로 로그인이 이루어 진다. 그렇기 때문에 라즈베리 파이를 모니터 없이 원격 접속하고 싶을 때 중복 로그인을 불허하여 로그인이 안되는 현상이 있었다. sudo nano /bo..

article thumbnail
백준 12891 DNA 비밀
알고리즘/백준 2022. 7. 10. 01:06

https://www.acmicpc.net/problem/12891 12891번: DNA 비밀번호 평소에 문자열을 가지고 노는 것을 좋아하는 민호는 DNA 문자열을 알게 되었다. DNA 문자열은 모든 문자열에 등장하는 문자가 {‘A’, ‘C’, ‘G’, ‘T’} 인 문자열을 말한다. 예를 들어 “ACKA” www.acmicpc.net 배운 내용 1. 스캐너로 문자열을 입력 받고 char 배열로 처리 char [] arr = new char[S]; arr = sc.next().toCharArray(); 2. 접근 방식 N의 수가 최대 1,000,000이므로 O(N)의 알고리즘으로 풀어야 한다. 한 번의 배열을 탐색할 때 TRUE여부를 체크해 야 하므로 새롭게 추가된 문자에 집중하여 기존의 것에서 추가, 삭..

728x90