[Spring Security] 스프링 시큐리티와 JWT로 인증 구현하기
·
Spring
✅Spring Security 란?스프링 시큐리티는 인증 (Authentication) ,인가(Authorize) 부여 및 보호 기능을 제공하는 프레임워크다.인증'과 '인가'에 대한 부분을 Filter 흐름에 따라 처리한다.우선 Security 를 본격적으로 알아보기 전에 인증과 인가에 대해 정의해보자. 인증: 해당 사용자가 본인이 맞는지를 확인하는 절차. 인가: 인증된 사용자가 요청된 자원에 접근가능한가를 결정하는 절차 금융 예시로 비유하자면:인증: 은행 창구에서 신분증을 제시해 본인이 맞는지 확인.인가: 확인된 고객이 계좌 이체(특정 작업)를 할 수 있는 권한이 있는지 판단.또한 Filter 흐름으로 처리를 한다했는데 Security는 Request가 Controller 로 가기전에 중간에서 실행된다..
[TIL]2025-05-13
·
TIL
📋오늘 푼 코딩테스트더보기 📖 오늘 작성한 글더보기https://computerreport.tistory.com/139 [QueryDSL] Hibernate SemanticException과 fetchJoin() 트러블슈팅intro프로젝트를 진행하며 발생한 문제 상황과 해결 과정들을 상세히 기록하고 추후에 같은 문제가 발생 했을때 빠르게 문제 해결하기 위해 트러블 슈팅을 정리할려고 한다.기록하는 습관을 기computerreport.tistory.com ✒️ 회고- 금융 및 IT 에 관련된 시사 나 정보들도 블로그에 정리하는 습관을 길러야겠다.- 새로운 기술을 배울때도 기초를 탄탄하게 한 후에 진행하는게 올바른 학습 습관인거같다.
[QueryDSL] Hibernate SemanticException과 fetchJoin() 트러블슈팅
·
프로젝트/트러블슈팅
intro프로젝트를 진행하며 발생한 문제 상황과 해결 과정들을 상세히 기록하고 추후에 같은 문제가 발생 했을때 빠르게 문제 해결하기 위해 트러블 슈팅을 정리할려고 한다.기록하는 습관을 기르기 위해 프로젝트 기간동안 꾸준히 작성할 것 이다.Spring Boot와 QueryDSL을 사용한 To-Do 프로젝트에서 /todos/title 엔드포인트를 호출했을 때 아래 오류가 발생했다. ⚠️ 1.문제 상황 발생/todos/title?title=Sample 엔드포인트를 호출했을 때 서버가 500 Internal Server Error 를 반환하며 위 오류가 발생했다. 이 엔드포인트는 Todo 엔티티를 검색하여 TodoFindByCaseResponse DTO로 결과를 반환한다..오류는 TodoRepositoryImp..
[TIL]2025-05-08
·
TIL
📋오늘 푼 코딩테스트더보기 📖 오늘 작성한 글더보기https://computerreport.tistory.com/136 [Spring]N+1 문제JPA의 N+1 문제는 쿼리 폭증으로 DB 부하를 일으키고, 결국 사용자 경험과 시스템 안정성을 해칠 수 있다.이 글은 N+1 문제의 원인과 실무 해결법을 코드 예시와 함께 정리해볼려고 한다.✅ N+1 문제computerreport.tistory.comhttps://computerreport.tistory.com/137 [QueryDSL] QueryDSL 쓸려면 제대로 알고 쓰자QueryDSL은 JPA 기반 프로젝트에서 쿼리를 타입-세이프하게 작성할 수 있는 강력한 도구다.금융 IT처럼 데이터 무결성이 중요한 환경에서는 오타나 런타임 오류를 줄이는 게 생명인..
[QueryDSL] QueryDSL 쓸려면 제대로 알고 쓰자
·
SQL
QueryDSL은 JPA 기반 프로젝트에서 쿼리를 타입-세이프하게 작성할 수 있는 강력한 도구다.금융 IT처럼 데이터 무결성이 중요한 환경에서는 오타나 런타임 오류를 줄이는 게 생명인데, QueryDSL은 이걸 깔끔하게 해결해준다.✅ QueryDSL이란?QueryDSL은 SQL 비슷한 문법을 자바 코드로 작성해서 데이터베이스 쿼리를 만드는 프레임워크다.JPA, MongoDB, SQL 등 다양한 백엔드를 지원하고, 타입-세이프 덕분에 컴파일 때 오류를 잡아준다.문자열 기반 JPQL이나 SQL 쓰다가 오타로 런타임에 터지는 일을 줄이고, IDE 자동완성으로 쿼리 짜는 속도도 빨라진다.💡 타입-세이프란?코드 작성할 때 타입을 엄격히 체크해서 런타임 오류를 미리 막아준다. 예를 들어, 엔티티 필드 이름 틀리면..
[Spring]N+1 문제
·
Spring
JPA의 N+1 문제는 쿼리 폭증으로 DB 부하를 일으키고, 결국 사용자 경험과 시스템 안정성을 해칠 수 있다.이 글은 N+1 문제의 원인과 실무 해결법을 코드 예시와 함께 정리해볼려고 한다.✅ N+1 문제란?N+1 문제는 JPA 같은 ORM에서 연관 관계를 조회할 때 불필요한 쿼리가 반복 발생하는 현상이다. 예를 들어, 하나의 엔티티를 조회한 뒤 연관된 데이터를 조회하려고 하면, 연관 데이터 개수만큼 추가 쿼리가 날아간다. 왜 생기나?객체지향 언어는 메모리 내에서 참조로 쉽게 데이터를 탐색하지만, 관계형 DB는 쿼리로 데이터를 가져와야 한다.특히 @OneToMany 관계에서 FetchType.LAZY 설정 시, 프록시 객체가 생성되고 이 객체를 조회할 때마다 추가 쿼리가 발생한다. ✅ N+1 문제 ..