분류 전체보기(604)
-
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 -
[모던 자바 인 액션] 람다 표현식
해당 글은 모던 자바 인 액션 도서의 3장 람다 표현식에서 나오는 키워드 용어들을 적고 제 생각대로 작성한 글입니다. 틀린 내용이 있을 수 있습니다. 동작 파라미터화 함수형 인터페이스를 매개변수로 전달하여 실행시키는 것 메소드의 동작을 외부에서 보이지 않게 캡슐화한 다음에 메소드로 전달해서 수행하는것 매개변수를 받은 메소드는 동작 파라미터화된 함수형 인터페이스의 내부를 모른체로 실행시키기만 하면 됩니다. 람다 표현식 이름이 없는 함수 메소드로 전달할 수 있는 익명 함수를 단순하게 표현한 표현식 람다 표현식은 어디에 사용되는가? 함수형 인터페이스에서 사용할 수 있습니다. 예를 들어 스트림의 filter 메소드의 매개변수로 Predicate를 기대하는데 람다 표현식으로 Predicate를 표현할 수 있습니다..
2023.10.12