[Java] 파일 읽고 쓸 때 UTF-8 인코딩 처리 방법 정리
·
STUDY/JAVA
Java에서 한글 파일 입출력Java에서 한글 파일을 다룰 때는 문자 인코딩을 UTF-8로 명시적으로 지정하여 한글이 깨지지 않도록 해야 합니다. Java는 다양한 클래스에서 문자 인코딩을 설정하는 방식을 지원하며, 표준 인코딩 집합인 StandardCharsets를 사용하면 간편하게 UTF-8 인코딩을 지정할 수 있습니다. 각 클래스별로 한글 처리 방법과 예제를 아래에 정리하였습니다. StandardCharsetsStandardCharsets는 Java에서 제공하는 클래스 중 하나로, 표준 문자 집합을 정의하는 상수들을 제공합니다. StandardCharsets.UTF_8을 통해 UTF-8 인코딩을 간편하게 지정할 수 있으며, 하드코딩한 문자열 "UTF-8" 대신 사용할 수 있어 오류를 줄여줍니다. S..
[SQL] 행 개수 지정 조회 SELECT TOP LIMIT FETCH FIRST ROWNUM
·
STUDY/DB SQL
SQL SELECT TOP 절SQL의 SELECT TOP 절은 반환할 레코드의 수를 제한할 때 사용하는 절입니다. 주로 수천 개 이상의 레코드를 포함한 대형 테이블에서 필요한 수만큼의 레코드만 조회하여 성능을 최적화하는 데 유용합니다.그러나 모든 데이터베이스가 SELECT TOP을 지원하지는 않습니다. 데이터베이스에 따라 비슷한 기능을 제공하는 다른 구문이 있습니다. SQL Server / MS Access 구문:SELECT TOP number|percent column_name(s)FROM table_nameWHERE condition; MySQL 구문:SELECT column_name(s)FROM table_nameWHERE conditionLIMIT number; Oracle 12 구문:SELECT..
[tomcat] Protocol handler start failed 에러 - 톰캣 실행 시 포트번호 충돌 오류
·
STUDY/WEB
해결 방법톰캣 실행 시 포트번호가 동일한 프로세스가 있어서 충돌하여 생긴 오류이다.해결하기 위해서는 2가지 방법이 있다. - 1번 : 기존에 진행중인 프로세스를 중지한다.- 2번 : 새로 시작하려는 톰캣의 포트번호를 변경한다.  1번 방법으로 해결하는 방법[윈도우키 + R] 실행창을 열고 'cmd'를 입력한다. 충돌하는 포트번호가 8080이면 cmd창에서 'netstat -ano | findstr 8080' 를 입력해서 실행중인 프로세스 PID를 확인한다.  PID를 확인 후 'taskkill /F /PID포트번호'를 입력해서 해당 프로세스를 중지시킨다. 2번 방법으로 해결하는 방법IDE에서 Servers에 Tomcat 클릭Ports 설정에 Port Number 수정
audio tag로 재생되지않는 파일 포맷 ACM?
·
STUDY/HTML5 CSS3
Problem with audio tag not playing when file format is ACM 이미지가 그렇듯이 audio도 파일 포맷이 존재한다.uncompressed (압축되지않은),이미지로 치자면 BMP(비트맵)에 해당하는 게 있으니 PCM(Pulse Code Modulation) 이라고 한다. 그리고 compressed (압축된)가 있는데, 이는 codec을 사용하여 압축 된 포맷을 말한다.  *codec : 파일의 부피를 줄여서 효율적으로 보관하고 전송시 부담을 줄이기 위해 압축하고 또 그 파일의 압축을 풀 때는 꼭 알집같은 프로그램이 필요하듯이 동영상, 음악을 압축하고 그것을 해제하는데 필요한 것이 코덱 wav 는 비 압축 오디오를 저장하기 위한 가장 일반적인 선택이다.mp3 는 인..
[Java] Javadoc 활용한 자바 주석 처리
·
STUDY/JAVA
JavaDoc란?Javadoc은 자바 코드에 대한 문서를 생성하는 도구입니다. 주석을 통해 코드의 기능, 매개변수, 반환 값 등을 설명하고, 이를 HTML 형식의 문서로 만들어줍니다. 컴파일시 모든 주석은 지워지므로 프로그램 성능에는 전혀 영향이 없습니다.참고로, IDE Tool에서 /** Enter를 치면 해당 JavaDoc를 바로 쓸 수 있습니다. JavaDoc Tags DescriptionExample@version구현체(클래스, 메소드,변수 등)의 버전 @author작성자 @deprecated해당 구현체가 곧 삭제, 업데이트 중단을 의미 @since해당 구현체가 추가된 버전 @see외부 링크나 텍스트, 다른 필드나 메소드를 링크할 때 사용외부 링크 : a href 태그 이용내부 참조 : 패키지명#..
Spring Boot - grpc server 예제
·
STUDY/SpringBoot
Spring Boot  - grpc server 이전글 : https://rebornbb.tistory.com/entry/Spring-Boot-grpc-client-%EB%B0%94%EC%9D%B4%EB%84%88%EB%A6%AC-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%A0%84%EC%86%A1 Spring Boot - grpc client 바이너리 데이터 전송Spring Boot  - grpc client 1. 프로젝트 생성 https://start.spring.io/  2. build.gradlebuildscript { // 24.07.21 기준 최신 버전 ext { protobufVersion = '4.28.2' protobufPluginVersion = '0.9.4' grpcVe..
Spring Boot - grpc client 바이너리 데이터 전송
·
STUDY/SpringBoot
Spring Boot  - grpc client 1. 프로젝트 생성 https://start.spring.io/  2. build.gradlebuildscript { // 24.07.21 기준 최신 버전 ext { protobufVersion = '4.28.2' protobufPluginVersion = '0.9.4' grpcVersion = '1.65.1' }}plugins { id 'java' id 'org.springframework.boot' version '3.3.4' id 'io.spring.dependency-management' version '1.1.6' // Protobuf 플러그인을 적용하여 .proto 파일을 컴파일할 수 있다. 여기서 버전은 ext에 정의된 protobufPl..
[Java] 바이트 크기를 사람이 읽기 편한 형식으로 변환 (kb, mb, gb ...)
·
STUDY/JAVA
import java.text.NumberFormat;public class FileSizeFormatter { /** * 주어진 바이트 크기를 사람이 읽기 쉬운 파일 크기 형식으로 변환합니다. * * @param byteSize 파일 크기 (바이트 단위) * @param floatDigits 소수점 아래 자리수 (0이면 자동 결정) * @return 사람이 읽기 쉬운 형식의 파일 크기 문자열 */ public static String getFileSize(long byteSize, int floatDigits) { double size = byteSize; // 바이트 크기를 double로 변환하여 저장 // 파일 크기 단..