Java(70)
-
[File I/O #2] Resource 구현체 완전 정리
목차 1. Resource와 Stream I/O 이해2. Resource 구현체 이해하기3. InputStream/OutputStream 이해하기4. InputStreamReader, BufferedReader 이해하기5. Multipartfile 처리하기6. File 이외의 I/O stream 정리 File I/O #2 — Resource 구현체 완전 정리Resource 인터페이스public interface Resource extends InputStreamSource { InputStream getInputStream(); // 리소스를 읽기 위한 InputStream 반환 boolean exists(); // 리소스가 존재하는지 확인..
2025.04.20 -
[File I/O #1] Java 파일 처리의 기본 개념 정리
목차 1. Resource와 Stream I/O 이해2. Resource 구현체 이해하기3. InputStream/OutputStream 이해하기4. InputStreamReader, BufferedReader 이해하기5. Multipartfile 처리하기6. File 이외의 I/O stream 정리 File I/O #1 — Java 파일 처리의 기본 개념 정리 핵심 개념 요약Resource: 파일의 위치와 상태를 추상화 (파일이 있는지, 읽을 수 있는지 등)InputStream: 파일에서 데이터를 읽기 위한 추상 클래스 (바이트 단위)OutputStream: 파일에 데이터를 쓰기 위한 추상 클래스 (바이트 단위)예시 흐름도[파일 또는 리소스 경로] ↓ (Resource로 추상화)[Res..
2025.04.19 -
[Log #2] LogBack을 이용한 로그 설정
LogBack- Spring Boot에서 로그를 다룰 때 가장 많이 쓰는 로깅 구현체는 Logback- logback-spring.xml을 이용하면 로그 포맷, 출력 방식, 파일 보관 정책 등을 유연하게 설정 가능. 로그 출력 경로 제어클래스 종류설명ConsoleAppender콘솔에 출력FileAppender고정된 파일에 저장RollingFileAppender시간/용량 기준으로 파일 분리 저장SMTPAppender메일 전송용DBAppenderDB에 로그 저장용 로그 Level정의OFF로그 기록 안 함FATAL시스템 치명적 오류ERROR예상하지 못한 오류WARN경고, 주의 필요INFO운영 중 참고용 메시지DEBUG개발 중 디버깅 정보TRACE가장 세세한 단계의 로그 로그 롤링 정책 (파일 관리)> file..
2025.04.07 -
[Page처리 #3] 성능 차이 비교하기 (OFFSET, CURSOR)
공통 Total Count SQL@Query(value= "SELECT COUNT(*) " + "FROM Temperature t") Integer getTotCnt(); 일반적인 OFFSET 계산하기현재 페이지의 데이터 출력Total Count를 이용하여 전체 페이지 수 출력//Servicepublic Map findBasicPage(int currentPage, int limit){ Map map = new HashMap(); int offset = (currentPage - 1) * limit; map.put("content", temperatureRepository.findByPage(limit, offset)); map...
2025.04.07 -
[예외처리 #1] 예외(Exception) 이해하기
머릿속에 있는 개념을 정리하는 블로그 글입니다. (개인적인 주관이 포함되어있습니다.)개념 정보가 정확하지 않을 수 있으므로, 참고만 부탁드립니다. 예외(Exception)가 왜 필요할까?( 개인적인 경험 )'예외'라는 단어는 사전적으로 "일반적인 규칙이나 통례에서 벗어나는 것"을 의미합니다. 개발을 하다 보면 "예외를 처리해야 한다"는 말을 자주 듣게 됩니다. 누구나 처음에는 자신이 생각한 방향대로 코드를 작성하지만, 모든 것이 계획대로만 흘러가지는 않습니다. 처음에는 "100% 문제가 발생하지 않을 것"이라는 막연한 자신감으로 예외 처리를 깊이 고민하지 않았습니다.하지만, Java에서 기본적으로 제공하는 예외 처리 기능 덕분에 지금까지 큰 불편 없이 개발할 수 있었습니다. 예외가 발생하면 함수 호출 스..
2025.03.13 -
[File I/O] 파일 라이브러리 이해하기 (File, Files, Path, Paths)
구조FileJava 17 기준PathsPathFiles파일 관련 라이브러리Path의 유틸리티 라이브러리파일 경로 인터페이스파일관련 라이브러리파일 생성,삭제,수정 가능get() 메서드를 이용하여 경로 생성상대경로, 절대경로, 경로 결합 등 손쉽게 이용기존 File에서 제공되는 유틸 메서드 제공파일 심볼링 링크 및 고급기능 제한 기존 File객체와 호환 가능 ( toFile(), toPath() )추가적인 File관련 유틸 메서드 제공 (파일트리순회, 심볼릭 링크, 고급 기능 가능)예외처리 미흡 예외처리 강화 (IoException) watch Service(디렉터리 변경 감시를 이용하여 이벤트 처리 가능) * 해당 Paths, Path, Files를 NIO(New I/O) API라고 불리움 Fil..
2025.02.13