본문 바로가기

전체 글

(187)
SpringBoot 3.2.5 Initializer https://start.spring.io/Spring Web, Thymeleaf 추가GENERATE 버튼 클릭하면 기본 세팅 프로젝트가 다운로드 된다. 참고로 현재는 Spring initializer 2.0 지원을 하지 않기 때문에 3.0을 설치해야한다.2.0은 JDK 11을 설치하면 됐지만3.0은 17을 설치해줘야 한다.보통 11정도 설치되어 있을테니 JDK 다운로드 후 환경 변수 설정도 해줘야 한다. - JDK 17 Downloadhttps://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html Java Archive Downloads - Java SE 17WARNING: Older versions of the JDK are p..
Database 데드락 발생 시 해결 방법 스트리밍 서버를 개발 하다가 데이터베이스 데드락이 발생 해 서버가 다운 되는 현상이 발생했다. 클라이언트가 채널에 접속 했을 때 데이터베이스에 유저의 정보를 저장하고 퇴장했을 때 저장한 정보를 지워야 한다. 동시 접속자 수가 1000명인 경우 한번에 접속 해도 문제가 없었지만 5000명이 넘어갔을 때 부터 문제가 발생했다. CPU 점유율이 100%로 치솟아 렉이 걸리거나 심한 경우 서버가 다운되는 현상이 발생했다. 원인은 테스트 프로그램으로 N명의 유저들을 임의적으로 채널에 접속 시키는데 중간에 종료시키면 한번에 N명의 유저들의 소켓이 끊기면서 채널에 퇴장하게 된다. 그 때 여러개의 DB 커넥션이 생성되고 교착상태가 발생하는 것이었다. 물론 데이터베이스 커넥션 풀을 늘리는 것으로 어느 정도 해결할 수 있..
시간 간격을 정확하게 측정하는 방법. 개발을 하다 보면 시간 간격을 두어야 하는 경우가 많다. 일반적으로 Thread.Sleep 함수를 사용하는데 이 방법은 Thread 상태에 따라 오차가 존재한다. private void measureTime() { while (true) { long currentTimeMills = System.currentTimeMillis(); try { Thread.sleep(100); } catch (Exception e) { e.printStackTrace(); } long itv = System.currentTimeMillis() - currentTimeMills; System.out.println(itv); } } 0.1초 간격으로 콘솔을 출력했지만 0.004~0.012초까지의 오차가 발생한다. 이정도면 정..
안드로이드 Auto 마이크 테스트 cd C:\Users\YK\Downloads\AAEmu\Files\auto adb forward tcp:5277 tcp:5277 desktop-head-unit.exe mic begin mic play voice/kbsplay.wav
Android minSdkVersion 21 -> 23 이번에 minSdkVersion을 21에서 23으로 올리면서 NativeLibrary쪽 문제가 발생하여 이 글을 적는다. 왜 minSdkVersion을 올렸다고 네이티브 라이브러리 쪽에 문제가 발생하는걸까? https://developer.android.com/ndk/guides/sdk-versions?hl=ko Android SDK 버전 속성 | Android NDK | Android Developers Android SDK 버전 속성 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android 애플리케이션은 build.gradle 파일에 여러 SDK 버전 속성을 설정할 수 있습니다. Android b developer.android.com 외부네티티브라이브러리를 컴파일..
Android automotive 테스트 cd C:\Users\YK\AppData\Local\Android\Sdk\extras\google\auto adb forward tcp:5277 tcp:5277 desktop-head-unit.exe
재개발 구역 매매 시 주의사항 정리 1. 재개발 구역에 주택을 매수하려는 경우라면 매도인이 같은 구역 내에 여러 채를 소유한 다물권자가 아닌지 여부를 반드시 확인. 예방 방지법 : 매매계약을 체결하기 전에 재개발 조합에 매도인과 함께 직접 확인을 해보거나 매매계약서상에 매도인에게 같은 구역 내 다른 주택이 없다는 것을 특약으로 넣으면 예방이 가능
mp3 손실 압축 무전기 플레이어를 만들면서 삽질기 10분 노트 (의식의 흐름 주의) 우선 mp3는 손실 압축이다. 손실 압축이기 때문에 org_wav -> mp3 -> dec_wav 로 변환했을때 dec_wav의 pcm 데이터가 압축이 되어 org_wav보다 dec_wav 파일의 크기가 당연히 작을 것이라 생각했다. ex) org_wav(1000kb) -> mp3(31kb) -> dec_wav(500kb) 막상 변환 작업을 해보니 두 파일 사이즈가 같지도 않고 유의미하게 사이즈가 다른 것도 아니었다.(대략 7kb정도 dec_wav가 컸음) 결과 값을 보니 파일 사이즈가 잘리면서 압축이 되는 건 아닌 것 같다. 바이트 숫자 값을 낮춰서 압축을 하는 건가? 이건 두 파일의 byte array를 sum해서 비교해보면 알 수 ..