[Java/API] Priority Queue Method API Document : Java 11
·
Java/API Document
해당 글에서는 Java 11 버전을 기준으로 PriorityQueue 클래스의 API에 대해서 확인합니다. 1) 우선순위 큐(Priority Queue) 💡 우선순위 큐(Priority Queue) - 큐와 비슷한 자료구조로 데이터를 ‘일렬로 늘어놓은 다음’ 그중에서 ‘가장 우선순위가 높은 데이터를 가장 먼저 꺼내오는 방식’으로 동작하는 클래스를 의미합니다. - Queue 인터페이스를 상속받기 때문에 Queue 인터페이스에서 정의된 메서드들도 사용할 수 있습니다. [ 더 알아보기] 💡 우선순위 큐의 원리 - Dequeue : 우선순위 큐에서 데이터를 꺼내는 연산이며 가장 우선순위가 높은 데이터를 꺼내기에 가장 작은 값 또는 가장 큰 값이 꺼내집니다. : poll() 메서드를 이용합니다. - Enqueue..
[Java] Spring Boot OAuth 2 Client 이해하기 -2: Security 없이 카카오 로그인 구성
·
Java/Spring Boot
해당 글에서는 'Spring Security의 사용 없이' Kakao 로그인을 구성하는 방법에 대해 공유합니다.  💡 [참고] 해당 글은 이전의 글에서 이어지는 내용입니다.  [Java] Spring Boot OAuth 2 Client 이해하기 -1 : 정의, 흐름, 인증방식 종류해당 글에서는 Spring Boot 기반의 OAuth 2 Client에 대해서 이해를 돕기 위해 작성한 글입니다. 1) OAuth(Open Authorization) 💡 OAuth(Open Authorization) - 인터넷 사용자들이 특정 웹 사이트를 접근하고자 할 때 'adjh54.tistory.com   1) 개발 환경개발 환경버전java11Spring Boot2.7.5Spring Boot Starter WebFlux..
[Java/API] Queue Method API Document : Java 11
·
Java/API Document
해당 글에서는 Java 11 버전을 기준으로 Queue 인터페이스를 구현한 클래스인 Queue의 메서드의 API에 대해서 확인합니다. 1) Queue 💡 큐(Queue)란? - 데이터를 일시적으로 쌓아두기 위한 자료구조 중 하나로 선입선출(FIFO, First-In-First-Out)의 특성을 가집니다. [ 더 알아보기 ] 💡 선입선출(FIFO, First-In-First-Out) - 자료구조론에서 사용되는 용어로 “가장 먼저 추가된 데이터가 가장 먼저 삭제” 되는 구조를 의미합니다. [참고] Queue에 대해서 궁금하시면 아래의 글을 참고하면 도움이 됩니다. [Java/자료구조론] 선형구조 이해하기 -1 : 큐(Queue), 스택(Stack), 덱(Deque) 해당 글에서는 자료구조론 중 선형 구조인 ..
[Java] Spring Boot OAuth 2 Client 이해하기 -1 : 정의, 흐름, 인증방식 종류
·
Java/Spring Boot
해당 글에서는 Spring Boot 기반의 OAuth 2 Client에 대해서 이해를 돕기 위해 작성한 글입니다. 1) OAuth(Open Authorization) 💡 OAuth(Open Authorization) - 인터넷 사용자들이 특정 웹 사이트를 접근하고자 할 때 '접근하려는 웹 사이트에 비밀번호를 제공하지 않고' 서드파티 애플리케이션(구글, 카카오, 페이스북 등)의 연결을 통해 '인증 및 권한'을 부여받을 수 있는 프로토콜을 의미합니다. [ 더 알아보기 ] 💡 프로토콜이란? - 인터넷에서 컴퓨터와 컴퓨터 간에 데이터를 주고받을 때 사용되는 통신 규약을 의미합니다. 1. OAuth 1.0a vs OAuth 2.0 💡 OAuth 1.0a와 OAuth 2.0은 OAuth 프로토콜의 두 가지 다른 버..
[Java/API] Stack Method API Document : Java 11
·
Java/API Document
해당 글에서는 Java 11 버전을 기준으로 Stack 인터페이스를 구현한 클래스인 Stack의 메서드의 API에 대해서 확인합니다. 1) Stack 💡 스택(Stack)이란? - 데이터를 일시적으로 쌓아두기 위한 자료구조 중 하나로, 후입선출(LIFO, Last-In-First-Out)의 특성을 가집니다. - Java에서 스택은 java.util.Stack 클래스를 이용해 구현할 수 있습니다. [참고] Stack에 대해서 궁금하시면 아래의 글을 참고하면 도움이 됩니다. [Java/자료구조론] 선형구조 이해하기 -1 : 큐(Queue), 스택(Stack), 덱(Deque) 해당 글에서는 자료구조론 중 선형 구조인 큐(Queue)와 스택(Stack), 덱(Deque)에 대해서 이해하고 언제 사용하며 각각의..
[Java/알고리즘] 분할정복(Divide and Conquer Algorithm) 이해하기
·
Java/알고리즘 & 자료구조
해당 글에서는 알고리즘 중 분할정복에 대해서 이해를 돕기 위해 작성한 글입니다. 1) 분할정복(Divide and Conquer Algorithm) 💡 분할정복(Divide and Conquer Algorithm)이란? - ‘큰 문제’를 ‘작은 문제’로 나누어서 해결하는 알고리즘을 의미합니다. 해당 알고리즘을 활용하여 크고 방대한 문제를 해결할 때 유용한 알고리즘입니다. - 구체적으로 하나의 큰 문제를 작은 부분 문제들로 나눕니다. 그리고 나눈 부분 문제를 해결하고 해결된 해들을 모아 원래의 문제를 해결해 나아가는 방식을 의미합니다.(분할 → 정복 → 결합 과정) [ 더 알아보기 ] 💡 분할 정복과 동적 계획법 알고리즘 차이 - 동적 계획법(Dynamic Programming)과 분할 정복(Divide ..
[Java] MacOS 환경에서 Java JDK 설정 및 변경하기 : homebrew, 다운로드 파일
·
Java/아키텍처 & 디자인 패턴
해당 환경에서는 MacOS 환경에서 Java JDK를 변경하는 방법에 대해서 공유합니다. 해당 글에서는 Java JDK 11 버전에서 Java JDK 17 버전으로 올리는 작업 위주로 작성하였습니다. 1) 자바 JDK 버전 확인💡 현재 Java JDK 11 버전임을 확인하였습니다.# java version 확인 $ java --version 💡 [참고] Java JDK 버전 및 LTS 버전에 대해 궁금하시면 아래의 글을 참고하시면 도움이 됩니다 [Java] JDK(Java Development Kit), Open JDK 이해하기해당 글에서는 Java에서 사용되는 JDK(Java Development Kit), Open JDK에 대해 이해를 돕기 위해 작성한 글입니다. 1) Java 1. Java Vers..
[Java] Gradle 버전 확인 및 변경 방법
·
Java/아키텍처 & 디자인 패턴
해당 글에서는 Spring Boot 환경에서 Gradle의 버전을 확인하거나 변경하는 방법에 대해서 확인합니다.1) Gradle 버전 확인 방법💡 Gradle 버전 확인 방법- 프로젝트 내에서 gradle/wrapper 경로에 들어가서 gradle-wrapper.properties 파일 내의 ‘distributionUrl’ 속성을 확인하면 gradle 버전을 확인할 수 있습니다.     2) Gradle 버전 변경 방법1. Gradle 버전 확인💡 아래의 사이트에서 출시된 Gradle 버전에 대해서 확인할 수 있습니다. Gradle | ReleasesFind binaries and reference documentation for current and past versions of Gradle.gra..
[Java] JDK(Java Development Kit), Open JDK 이해하기
·
Java/이론 및 문법
해당 글에서는 Java에서 사용되는 JDK(Java Development Kit), Open JDK에 대해 이해를 돕기 위해 작성한 글입니다. 1) Java 1. Java Version 💡 2023년 6월 기준 Java 버전에 대해서 확인해 봅니다. Version LTS 출시 일자 무료 공개 업데이트 종료일 연장 지원일 java SE 6 2006년 12월 11일 2013년 4월 java SE 7 2011년 7월 28일 - OpenJDK : ~2022년 9월 - Oracle : ~2015년 5월 - Red Hat : ~2020년 8월 - Azul : ~2022년 9월까지 java SE 8 O 2014년 3월 18일 - OpenJDK는 Red Hat에 되어 유지보수 되고 있음 - Oracle (상업용) : ..
[Java/알고리즘] 그리디 알고리즘(탐욕법, Greedy Algorithm) 이해하기
·
Java/알고리즘 & 자료구조
해당 글에서는 알고리즘의 설계 방법 중 탐욕법/그리디 알고리즘에 대해서 이해를 돕기 위해 작성한 글입니다. 1) 그리디 알고리즘(탐욕법, Greedy Algorithm) 💡 그리디 알고리즘(탐욕법, Greedy Algorithm) 이란? - 최적의 값을 구해야 하는 상황에서 사용되는 근시안적인 방법론으로 ‘각 단계에서 최적이라고 생각되는 것을 선택’ 해 나가는 방식으로 진행하여 최종적인 해답에 도달하는 알고리즘입니다. - 이때, 항상 최적의 값을 보장하는것이 아니라 최적의 값의 ‘근사한 값’을 목표로 하고 있습니다. - 주로 문제를 분할 가능한 문제들로 분할한 뒤, 각 문제들에 대한 최적해를 구한 뒤 이를 결합하여 전체 문제의 최적해를 구하는 경우에 주로 사용됩니다. 💡 [문제] 노드에서 가장 합이 높은..