분류 전체보기(593)
-
OpenID Connect
1. OpenID Connect는 무엇인가? OpenID Connect는 OAuth 2.0 프로토콜(IETF RFC 6749 및 6750)를 기반으로 하는 인증 프로토콜입니다. OpenID Connect 프로토콜은 Authorization Server에서 수행한 인증을 기반으로 사용자의 신원을 확인하고 프로필을 얻을 수 있는 방법을 간소화한 것입니다. 즉, 정리하면 OpenID Connect는 OAuth 2.0 프로토콜 기반의 사용자의 신원을 확인하는 인증 프로토콜입니다. 대표적으로 OpenID Connect를 지원하는 서비스 제공자는 구글, 카카오 등이 존재합니다. OpenID는 2006년 1.0 버전을 표준으로 출시하였고 이후 2007년에 2.0 버전이 출시되었습니다. 2014년 3세데 OpenID로..
2024.02.09 -
OAuth 2.0
1. What is OAuth2.0? OAuth2.0은 웹사이트나 애플리케이션같은 제3자 애플리케이션이 사용자의 리소스에 접근할 수 있도록 사용자가 권한을 위임할 수 있도록 지원하는 표준 프로토콜입니다. 대표적인 사례로 구글은 OAuth2.0 프로토콜 기반 서비스를 지원하고 있습니다. 사용자는 구글 로그인을 하고 애플리케이션에게 구글에 저장된 사용자의 정보 일부분에 접근할 수 있는 권한을 부여합니다. 권한을 부여받은 애플리케이션은 구글의 사용자 정보에 접근하여 서비스를 제공합니다. 예를 들어 사용자는 애플리케이션에게 프로필 정보에 접근할 수 있는 권한을 부여하면 애플리케이션은 사용자의 프로필 정보에 접근하여 해당 애플리케이션 사용자 계정의 프로필로 사용할 수 있도록 제공할 수 있습니다. OAuth2.0을..
2024.02.09 -
JPA N+1 문제 및 해결 방법
이번 글에서는 JPA의 N+1 문제가 무엇인지 알아보고 N+1 문제가 발생하지 않도록 하기 위한 해결 방법은 무엇인지 설명하겠습니다. 1. N+1 문제란 무엇인가 N+1 문제는 JPA를 사용할 때 발생하는 대표적인 문제점 중 하나입니다. 문제의 내용을 설명하면 N+1 문제란 기본 엔티티에 의존하고 있는 연관 엔티티를 로딩할때 기본 엔티티를 조회하는 SQL 외에 연관 엔티티를 조회하는 SQL이 조회된 기본 엔티티의 개수(N)만큼 추가적으로 발생하는 문제를 의미합니다. 예를 들어 회원(Member) 엔티티와 주문(Order) 엔티티간에 연관관계가 일대다(1:N) 관계를 맺고 있습니다. 이때 클라이언트는 회원 데이터를 데이터베이스로부터 조회하는 쿼리를 실행합니다. 그렇다면 회원 데이터를 조회하는 JQPL 쿼리..
2024.02.03 -
Spring Framework Filter 등록
목차 - Filter의 개념 - FilterRegistrationBean을 이용한 Filter 등록 - @Component를 이용한 단순 Filter 등록 - @WebFilter + @ServletComponentScan을 이용한 Filter 등록 - Filter 등록시 주의사항 이번글에서는 Spring Framework에 Filter에 대해서 소개합니다. Filter의 간단한 개념과 Spring Framework에 Filter를 등록하는 다양한 방법과 Filter 등록시 주의사항에 대해서 소개합니다. 1. Filter의 개념 필터(Filter)는 J2EE(Java 2 Enterprise Edition) 표준 스펙 기능이며, 클라이언트의 요청이 들어오면 Spring Context의 DispatcherS..
2024.01.28 -
[프로그래머스] 바탕화면 정리
문제 https://school.programmers.co.kr/learn/courses/30/lessons/161990 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 격자 형태로 구성된 바탕화면에서 저장된 모든 파일을 한번에 삭제하기 위해서 왼쪽 상단 드래그 시작점과 오른쪽 하단 드래그 끝점을 구하여야 합니다. 이때 왼쪽 상단 드래그의 시작점의 행,열은 저장된 파일들의 위치들 중에서 최소가 되어야 합니다. 반대로 오른쪽 하단 드래그의 끝점의 행,열은 저장된 파이들의 위치들 중에서 최대가 되어야 합니다. 예를 들어 다음과 같은 바탕화면이 있다고 가정..
2023.11.07 -
FineAnts 프로젝트 회고
코드스쿼드 부트 캠프에서 진행한 자유 프로젝트인 FineAnts 프로젝트에 대한 회고록을 작성하고자 합니다. 회고록에는 프로젝트의 정보와 프로젝트를 하면서 잘한점, 아쉬웠던 점, 어려웠던 점 등에 대한 내용들을 작성하였습니다. 프로젝트 정보 기간 : 2023년 10월 10일 ~ 2023년 11월 03일 팀원 구성 : 프론트 엔드 (3명), 백엔드 (1명, 본인) 특이사항 : 기간은 4주이지만 그 이후에도 1~2달정도 계속 프로젝트를 진행할 예정 주제 : 주식 포트폴리오를 관리할 수 있는 애플리케이션으로써 사용자는 포트폴리오에 종목을 추가하고 관리할 수 있는 애플리케이션입니다. 사용자는 포트폴리오에 종목에 대한 매입이력을 추가하여 종목의 현재 시세에 따른 손익을 확인할 수 있고 포트폴리오가 특정한 손익금액..
2023.11.06