본문 바로가기

자바8

실무에서 반환 값이 null일 가능성이 있을 때 Optional로 안전하게 반환하는 방법 공부하게 된 배경 웹 애플리케이션(Web Application)에서는 여러 역할을 맡는 기능이 필요하며, 이 기능들을 메서드 형태로 정의한 후 각각 관련이 있는 기능끼리 하나의 클래스(계층)로 묶어서 관리를 합니다. 하나의 웹 애플리케이션은 개념적으로 다양한 계층으로 나눠질 수 있겠지만, 주로 [프레젠테이션 계층 - 서비스 계층 - 리포지토리 계층]으로 구성이 되는데, 여기서 리포지토리(Repository) 계층은 서비스(Service) 계층으로부터 어떠한 요청을 받아, 데이터베이스와 직접적으로 커뮤니케이션을 하는 여러 기능들을 정의하는 곳입니다. 데이터베이스와 직접적으로 커뮤니케이션하는 리포지토리 계층 로직을 작성할 때 Spring Data JPA라는 프레임워크를 이용하였는데, 다음과 같이 JPARep.. 2024. 4. 3.
Container With Most Water [Java / LeetCode 11] 풀이 URL : https://leetcode.com/problems/container-with-most-water/description/ LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 오늘은 "가장 많은 물을 저장할 수 있는 컨테이너 찾기", LeetCode 11번 문제를 해결해보는 시간을 가지도록 하겠습니다. 긴 말 필요 없이, 문제부터 먼저 확인해 보도록 하.. 2024. 1. 24.
이진트리의 직경을 구해보자! [Java / LeetCode 543] URL : https://leetcode.com/problems/diameter-of-binary-tree/description/ LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 오늘은, 이진트리의 직경을 구하는 방법을 공부해 보도록 하겠습니다. 이진트리의 직경을 구하는 알고리즘을 공부하기에 앞서서, 이진트리의 직경이라는 것이 과연 무엇인지 알아볼까요? 이진 .. 2024. 1. 22.
특정 원소가 모두 포함된 최소 슬라이딩 윈도우를 찾아보자 [LeetCode 76 / Java] URL : https://leetcode.com/problems/minimum-window-substring/description/ LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 오늘은 특정 원소가 모두 포함되어 있는 최소 슬라이딩 윈도우를 찾는 방법을 알아보겠습니다! 특정 원소가 모두 포함된 최소 슬라이딩 윈도우가 무엇을 의미하는 것일까요? 잘 이해가 되지.. 2024. 1. 21.