
쓰던 것이 있었으나 날아간 관계로... 중요한 것만 다시 쓴다.. 문제 발생 이번에 발생된 문제는 기본 사진에 All-in JPEG 사진이나 인터넷에서 다운 받은 사진을 넣으면 아예 이미지가 손상되어 보이지 않는 문제가 발생했다. 이미지 손상은 이때까지의 경험으로 정말 1~2 바이트의 오차만 있어도 깨지는 것을 봐왔기 때문에 우선 내 코드의 문제인지를 확인 하기 위해 어디가 잘못 된것인지를 다 뜯어 봐야 했다.. 내 코드 내가 봐도 이해하기 어려워서 계속 뜯어 고치고 고치고를 반복 했다. 덕분에 한결 깨끗해졌다! ㅎ 사진 데이터 분석 아무튼 내 코드를 다 뜯어 본 결론은 코드를 잘못 짠 것은 없었다. 이제 이게 구조상의 문제인지를 확인해야 했다! 손수 마커들의 종류와 위치를 확인해보고 일반 사진과 All..

https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 풀이 수의 개수가 1000개이고 시간 제한이 1초이므로 O(n^2)써도 충분한 문제이다. 그러므로 구현이 간단한 정렬 중 하나인 버블 정렬을 선택하여 풀었다. 입력 // 입력 Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int [] nums = new int[N]; for(int i=0; i< N;i++){ nums[i] = sc.nextInt..

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

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 변경 된..

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