[Java] MyBatis Query Formatter 이해하고 적용하기 : log4jdbc-log4j2 4.1
·
Java/MyBatis
해당 글에서는 MyBatis로 처리되는 Query에 대한 Formatting을 적용하기 위해 ‘log4 jdbc-log4j2’를 적용하는 글에 대해 공유합니다. 1) log4jdbc-log4j2 💡 log4jdbc-log4j2 - 자바 애플리케이션에서 ‘JDBC 드라이버를 사용’할 때, SQL문의 실행 로그를 자동으로 기록해 주는 라이브러리입니다. 또한 MyBatis를 사용하는 경우 Query Formatting을 지원하여 실제 실행되는 쿼리에 대해 문자열로 확인이 가능합니다. - 기본적으로 Log4j2를 지원하며 구현체인 Slf4j에서 사용이 가능하며 SQL을 실행할 때마다 자동으로 로그를 남겨 디버깅과 모니터링을 수행할 수 있습니다. - 해당 버전은 ‘log4 jdbc-remix’의 모든 개선사항을 ..
[Java/알고리즘] 완전 탐색(Exhaustive Search) 이해하기 -3 : 문제로 이해하기
·
Java/알고리즘 & 자료구조
해당 글에서는 알고리즘 중 ‘완전 탐색’에 대해서 다양한 문제를 통해서 이해를 돕기 위해 작성한 글입니다. 💡 [참고] 완전 탐색(Exhaustive Search)의 이론에 대해 궁금하시면 하단의 글을 참고하시면 크게 도움이 됩니다. [Java/알고리즘] 완전 탐색(Exhaustive Search) 이해하기 -1 : 정의 및 종류 해당 글에서는 탐색 알고리즘 중에서 완전 탐색 알고리즘에 대해 이해하고 각각의 종류에 대해 이해 및 시간 복잡도에 대해 확인해 봅니다. 1) 완전 탐색(Exhaustive Search) 💡 완전 탐색(Exhaustive Sear adjh54.tistory.com [Java/알고리즘] 완전 탐색(Exhaustive Search) 이해하기 -2 : 종류 별 이해 해당 글에서는 탐색..
[Java/자료구조] 선형구조 - 큐(Queue) 이해하기: 일반 큐, 우선순위 큐(Priority Queue) 이해하기
·
Java/알고리즘 & 자료구조
해당 글에서는 자료구조에서 선형구조의 큐 중에서 ‘우선순위 큐(Priority Queue)'에 대해 이해를 돕기 위해 작성한 글입니다. 💡 [참고] 자료구조의 전체 구조를 확인해봅니다. - 해당 부분은 선형 구조 중 큐 >> 일반 큐, 우선순위 큐에 대해 자세히 알아봅니다. 💡 우선순위 큐를 이해하기 전에 알아야 할 선형구조와 큐에 대해 간단히 알아봅니다. 1) 선형구조(Linear Structure), 큐(Queue) 1. 선형 구조(Linear Structure) 💡 선형 구조(Linear Structure) - 데이터를 저장하기 위한 기본적인 형태로 데이터가 '일렬로 나열'되어 있을 뿐만 아니라 데이터 간에 순서가 있고 논리적으로 이어져 있는 구조를 의미합니다. - 선형구조에는 큐(Queue), 스..
[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..