본문 바로가기

Java15

자바의 Stream 프로그래머스 사이트에서 알고리즘 문제를 풀다 보면 다른 사람의 답변에서 Stream이 자주 쓰이는 것을 볼 수 있다. 주어진 조건 내에서 해결하겠다는 고집으로 배열만을 사용하고, 정렬을 직접 구현하려 했는데문제 난이도가 올라 갈수록 한계에 부딪혀 점점 API의 필요성을 느끼게 되었다. 이전에는 컬렉션에 대해서 알아봤기 때문에 이번엔 Stream을 공부하며알고리즘 문제를 더 간편하게 해결해보려 한다. 🚀 Java Stream이란?Java의 Stream API는 컬렉션(List, Set 등)과 배열을 더 쉽게 다룰 수 있도록 도와주는 기능이다.함수형 프로그래밍 스타일을 지원하며, 코드의 가독성을 높이고 성능을 최적화할 수 있다. ✔ 주요 특징데이터를 반복문 없이 처리 (for 없이 map, filter, .. 2025. 3. 5.
QueryDSL에 대한 공부 JPA 관련 내용 중에서 QueryDSL에 대해서 알아보았다.JpaRepository는 기본적인 CRUD와 findBy, existBy, countBy 등다양한 데이터베이스 관련 메소드를 구현해주고 있지만특정 상황에선 직접 Query를 입력할 필요가 있다. 여기서 QueryDSL를 접하게 되었고어떤 상황에서 쓰이는지, 어떤 특징을 가지는지 작성하려 한다.✅ QueryDSL이란?QueryDSL은 타입 안전(Type-Safe)한 쿼리를 생성할 수 있도록 도와주는Java 기반의 쿼리 프레임워크이다. 주로 JPA, JDBC, MongoDB 등 다양한 데이터 소스와 함께 사용할 수 있으며,SQL이나 JPQL을 직접 작성하는 것보다 가독성이 높고유지보수가 쉬운 코드를 작성할 수 있다.QueryDSL의 특징 1. 타.. 2025. 2. 10.
영속성(Persistence)이란 무엇일까? 스프링부트에서 데이터 관리를 위해 공부하면 영속성이란 단어를 들을 수 있다.과연 영속성이란 무엇이며 어떤 역할을 하는지 알아봤다. 우선 자바에서 영속성이란 "프로그램이 종료되더라도 데이터가 유지되는 특성"을 의미한다.일반적으로 데이터베이스나 파일 시스템에 데이터를 저장하고, 필요할 때 이를 다시 불러오는 방식으로 구현한다 . 영속성과 관련된 개념(1) 영속 계층 (Persistence Layer)애플리케이션의 데이터 저장과 관리를 담당하는 계층데이터베이스, 파일, 클라우드 스토리지 등에 데이터를 저장(2) 영속 객체 (Persistent Object)데이터베이스에 저장되거나 저장될 수 있는 객체일반적으로 Entity 클래스 또는 VO(Value Object) 형태(3) 영속 컨텍스트 (Persistenc.. 2025. 2. 3.
Security Filter Chain Spring Security의 Filter는 HTTP 요청을 가로채서인증(Authentication)과 인가(Authorization)를 처리하는 핵심적인 역할을 한다.스프링 시큐리티는 자체적인 필터 체인을 가지고 있으며,이를 통해 요청이 컨트롤러(Controller)로 전달되기 전에 보안 검사를 수행한다.스프링 시큐리티의 필터 체인(Security Filter Chain)스프링 시큐리티는 여러 개의 서블릿 필터(Servlet Filter)를 체인 형태로 구성하여 요청을 보호한다.핵심적인 필터는 SecurityFilterChain 인터페이스를 구현하는 여러 개의 필터로 이루어져 있다. 📌 스프링 시큐리티의 전체 필터 목록WebAsyncManagerIntegrationFilter비동기 요청에서도 Secu.. 2025. 1. 31.
자바의 Filter에 대해서 자바의 Filter란?자바에서 Filter는 웹 애플리케이션에서 요청과 응답을 처리하는데 사용되는 객체이다. 주요 특징:요청 및 응답 필터링: Filter는 서블릿이 요청을 처리하기 전에 요청을 가로채서 필터링하거나, 서블릿이 응답을 처리한 후에 응답을 가로채서 수정할 수 있다.체이닝: 여러 개의 필터를 정의하고, 이를 체인처럼 연결하여 순차적으로 처리할 수 있다. 각 필터는 다른 필터가 처리한 결과를 받아들일 수 있다.Web.xml 또는 어노테이션을 통한 설정: 필터는 web.xml에서 정의하거나, 자바에서 어노테이션을 사용해 설정할 수 있다.주요 메서드:init(FilterConfig filterConfig):필터가 초기화될 때 호출된다. 필터 설정을 읽고 초기화 작업을 수행한다doFilter(Ser.. 2025. 1. 31.
인증과 인가 인증 (Authentication)정의인증은 사용자의 신원을 시스템에 증명하는 과정인증의 목표는 "이 사람이 자신이 주장하는 신분이 맞는가?"를 확인하는 것프로세스사용자 입력:사용자는 로그인 화면에서 (ID와 비밀번호 / 생체 인식 / 인증 토큰)을 제출시스템 확인:시스템은 데이터베이스나 인증 서버에 저장된 정보와 사용자가 제출한 정보를 비교결과:사용자를 확인하면 "인증 성공" 상태가 되고, 그렇지 않으면 "인증 실패" 메시지 반환인증 방법지식 기반 인증 (사용자가 아는 것):비밀번호, PIN 코드, 보안 질문 등소유 기반 인증 (사용자가 소유한 것):OTP(일회용 비밀번호) 기기, 보안 토큰, 이메일 인증 링크 등본질 기반 인증 (사용자 고유의 특징):생체 정보(지문, 홍채, 얼굴 인식 등)나 행동 패.. 2025. 1. 30.