본문 바로가기

분류 전체보기225

예외(Exception) 이해하기 #1 머릿속에 있는 개념을 정리하는 블로그 글입니다. (개인적인 주관이 포함되어있습니다.)개념 정보가 정확하지 않을 수 있으므로, 참고만 부탁드립니다. 예외(Exception)가 왜 필요할까?( 개인적인 경험 )'예외'라는 단어는 사전적으로 "일반적인 규칙이나 통례에서 벗어나는 것"을 의미합니다. 개발을 하다 보면 "예외를 처리해야 한다"는 말을 자주 듣게 됩니다. 누구나 처음에는 자신이 생각한 방향대로 코드를 작성하지만, 모든 것이 계획대로만 흘러가지는 않습니다. 처음에는 "100% 문제가 발생하지 않을 것"이라는 막연한 자신감으로 예외 처리를 깊이 고민하지 않았습니다.하지만, Java에서 기본적으로 제공하는 예외 처리 기능 덕분에 지금까지 큰 불편 없이 개발할 수 있었습니다. 예외가 발생하면 함수 호출 스.. 2025. 3. 13.
쓰레드(Thread)의 기본개념 * 블로그 글을 읽기 전 *- 개념에 대해 주관적인 해석과 판단이 들어가 있으므로 정확하지 않을 수 있습니다 -스레드 (Thread)란?스레드는 컴퓨터가 하나의 작업을 처리하는 가장 작은 단위를 나타냅니다. 반면, 프로세스는 하나의 프로그램이 실행되는 단위라고 볼 수 있습니다.이 두 개념은 서로 비교되는 경우가 많습니다. 크기(단위)는 다르지만, 결국 컴퓨터가 작업을 처리하는 방식과 관련이 있기 때문입니다.그렇다면 컴퓨터가 작업을 처리한다는 것은 무엇을 의미할까요?컴퓨터는 저장된 데이터를 활용하거나 새로운 데이터를 입력받아 연산을 수행한 뒤, 결과를 도출하는 역할을 합니다. 이러한 일련의 과정을 우리는 "컴퓨터가 작업을 처리한다"라고 표현합니다. 이때, 컴퓨터가 이 작업을 프로세스로 처리할지, 아니면 스.. 2025. 3. 12.
[Spring-Resource] 스프링 Resource의 이해 (+ InputStream) * 요약 정보 *[Resource]- Resource는 인터페이스이다.- Resource를 사용하여, 기본적인 파일 상태값 또는 파일 여부를 파악이 가능하다- Resource 혹은 직접 작성하여 InputStream을 이용하여 제어할 수 있다[InputStream]- InputStream도 추상화된 추상클래스- FilterInputStream에서는 감싸기 기능이 추가된 InputStream이며, Resource와 결합하여 사용할 수 있다.- FileInputStream을 이용하여 파일제어가 가능하다. (이외에도 InputStream 구현체를 이용하여, 바이트 제어 및 오디오, 역직렬화, 스레드간의 통신이 가능)** 결론) 바이트 및 내용을 수정하는 것은 InputStream 클래스, 경로 및 상태값 확인.. 2025. 2. 24.
[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. 2. 13.
# RestTemplate 이해하기 ( + RestTemplate을 사용한 이유...) RestTemplate을 왜 사용해야하는가?HTTP 통신을 위한 Client 사용 이유?- 웹브라우저를 이용한다면, 검색 공간에서 해당 URL 혹은 검색을 통해 정보를 얻을 수 있다.- Application 서버의 경우, 적절한 Client를 이용하여 URL을 통하여 검색 결과를 얻을 수 있다.(Application 서버 뿐만아니라, command line에서도 확인 가능)   웹 브라우저 없이 호출하기1. CURLcommand line상에서 URL을 이용하여 HTTP 통신을 할 수 있게 도와주는 tool(API  서버의 경우, 프론트(화면)없이 응답값을 제공하는 경우가 있으므로 Curl로 확인이 가능하다)CURL 알아야할 옵션-X : Http Method 방식 ( GET / POST/ PUT / DEL.. 2025. 2. 11.
#1. OFFSET 기반 페이징 처리 이해하기 페이징(Paging) 이란?페이징은 데이터가 많을 때, 한 번에 모든 정보를 가져와서 사용자에게 보여주는 대신 일정 개수를 여러 페이지로 나누어 조회하고 화면에 표시하는 기법장점성능 향상 : DB나 서버로부터 모든 데이터를 한 번에 불러오는 부담을 줄임빠른 응답 : 필요한 데이터만 가져오기 때문에 응답시간 단축UI/UX 개선 : 화면에 한꺼번에 많은 정보를 보여주지 않기에 가독성 향상 페이징(Paging) 처리 시 고려해야할 점전체 데이터 개수 (totalCnt)전체 페이지 수 계산에 사용검색 조건에 따라 전체 데이터 개수가 달라질 수 있음현재 페이지 (currentPage)사용자가 보고자하는 페이지 번호한 페이지당 데이터 개수 (perPageCnt)한 페이지에 보여줄 데이터 양* 시작 위치 : (현재 .. 2025. 2. 11.