본문 바로가기

JAVA

(5)
Amazon S3 객체 업로드 중 Stream 버퍼 메모리 관련 메세지 - no content length specfied for stream data Aws Polly를 활용하여 음성 파일을 추출하고 S3 버킷에 저장하던 도중 Stream 관련 메세지를 확인할 수 있습니다. 업로드는 잘 되는데 아래 메세지를 계속 출력되고 있는 상황입니다. No content length specfied for stream data. stream contents will be bufferd in memory and could result in out of memory errors. 해당 메세지는 업로드하기 위해서 만든 metadata의  컨텐츠 길이를 명시해주지 않아서 생기는 경고 메세지입니다. 저장되는 객체의 콘텐츠 길이를 설정하지 않고 스트림 유형의 객체를 Amazon s3에 업로드하면 콘텐츠 길이를 계산할 수 있도록 입력 스트림의 전체 컨텐츠가 메모리에 모컬로 버..
Connection Pool( feat. HikariCP test) JDBC Connection pooling frameworks 기업용으로 사용할 수 있는 여러 Connection Pool Framework가 존재하지만 이것은 어플리케이션에 어떤 프레임워크를 사용해야하는지에 대한 혼란을 만들기도 한다. 어떤 Connection Pool이 서비스에 가장 적합한지 파악하는데 많은 시간을 투자하고 싶지 않다면 가장 추천하는 프레임워크는 HikariCP이다. C3P0, Apache DBCP, BoneCp, Vibur 등과 같이 선택할 수 있는 프레임워크가 많이 있지만 가장 인기 있는 선택은 Tomcat JDBC 및 HikariCP이다. 위 벤치마크 결과 상으로도 CP 프레임워크 시장에서 HikariCP는 압도적으로 점유하고 있으며, Spring boot 2.0부터는 defau..
[Exception] java.net.BindException : Address already in use: NET_Bind Today's Error&Exception java.net.BindException : Address already in use : NET_bind 소켓 통신을 이용하여 여러 사람들과 서로 문자열을 전송할 수 있는 다중 대화 웹서버를 만들었다. 여기서 문제는 서버 클래스를 구동하는 도중에 다음과 같은 Exception이 발생하였다. 왜 이런 메세지가 출력되었을까? Whta is the reason for error code? Server Main 메소드 실행 시, address가 중복되었다는 것을 의미하며, 해당 포트를 사용하고 있는 프로세스가 이미 사용 중일 때 발생한다. Solution 이 에러코드는 이미 서버의 포트가 열려있어서 발생하는 에러이기 때문에 임의로 프로세스를 죽여야한다. 현재 사용 중인..
[Intellij] Lombok(롬복) Setting 방법 Lombok(롬복)은 다양한 어노테이션을 제공하고, 컴파일과정에서 코드를 생성해주고 동작하는 JAVA 라이브러리입니다. JAVA에서 Lombok 라이브러리에서 제공하는 어노테이션들을 사용하여 코드의 가독성과 생산성을 높일 수 있습니다. 개발자가 일일히 만들어야하는 것을 어노테이션 하나로 구현이 가능하게끔 만듭니다. 이번 포스팅 gradle 빌드 시 Lombok 라이브러리 환경 세팅을 해봅시다. Lombok 라이브러리 세팅 방법 1. 먼저 Maven Repository 사이트에 접속합니다. https://mvnrepository.com/artifact/org.projectlombok/lombok 여기서 우리는 가장 최근인 1.18.22 version을 선택합니다. 2. Gradle를 빌드 도구로 사용할 것..
[IntelliJ] IntelliJ 한글 깨짐 해결방법 UTF-8 UTF-8은 가장 대표적인 유니코드 인코딩 방식 중 하나이다. ASCII 문자를 표현할 수 있기 때문에 대부분의 개발자들이 원하는 방식이기도 하다. 처음 IntelliJ 설치하고 코드를 실행하게 되면 콘솔 창에 한글이 깨져서 출력되는 경우가 발생한다. 오늘은 이 한글 깨짐 현상을 해결하는 방법들을 정리하고자 한다. 첫 번째, VM Options 편집 먼저 IntelliJ 상단바에 있는 Help -> Edit Custom VM Options.. 로 이동한다. -Dfile.encoding=UTF-8 -Dconsole.encoding=UTF-8 열린 파일 코드 맨 아래에 Dfile.encoding=UTF-8 과 Dconsole.encoding=UTF-8 를 추가하고 IntelliJ를 재시작하면 해결된다. 두 ..