[Java/오류노트] SonarLint : Use try-with-resources or close this "CloseableHttpClient" in a "finally" clause.
·
Java/오류노트
해당 글에서는 Java에서 SornarLint에서 발생하는 오류에 대한 해결방법에 대해 알아봅니다. 1) 문제점 💡 Use try-with-resources or close this "CloseableHttpClient" in a "finally" clause. 문제점 - 리소스 누출을 피하기 위해 "try-with-resources" 문을 사용하거나 "finally" 절에서 "CloseableHttpClient"를 닫는 것이 권장됩니다. 이렇게 하면 예외가 발생하더라도 리소스가 제대로 닫히게 됩니다. 💡 변경 이전 소스코드 public Map httpPost(String url, String queryParams) { try { // HTTPClient 객체 생성 CloseableHttpClient h..
[Java/오류노트] SonarLint : A "NullPointerException" could be thrown; "getBody()" can return null.
·
Java/오류노트
해당 글에서는 Java에서 SonarLint에서 발생하는 오류에 대한 해결방법에 대해 알아봅니다. 1) 문제점 💡 A "NullPointerException" could be thrown; "getBody()" can return null. 문제점 - "NullPointerException"라는 오류 메시지는 null 값을 접근하려고 할 때 발생합니다. 이 경우 "getBody()" 메소드가 null을 반환할 수 있으며, 이로 인해 예외가 발생할 수 있습니다. 이 오류는 일반적으로 초기화되지 않은 객체의 메소드나 속성에 접근하려고 할 때 또는 존재하지 않는 객체에 접근하려고 할 때 발생합니다. - 해당 오류에서는 ResponseEntity result 값으로 제너릭 타입 형태의 ‘result’ 값에 Nu..
[Java/알고리즘] 정렬 알고리즘(Sort Algorithm) 이해하기 -1 : 기본 구조 및 종류
·
Java/알고리즘 & 자료구조
해당 글에서는 정렬 알고리즘에 대해 기본적인 구조와 종류에 대해서 알아봅니다. 💡 [참고] 전체 알고리즘 구성 중에 '정렬 알고리즘'에 대해 알아봅니다. 1) 정렬 알고리즘(Sort Algorithm) 💡 정렬 알고리즘(Sort Algorithm) - ‘데이터’를 ‘특정한 기준에 따라 순서대로 정렬’하는 알고리즘을 의미합니다. 1. 정렬 알고리즘의 특징 💡 정렬 알고리즘의 특징 - 정렬 알고리즘만이 가지고 있는 특징에 대해서 알아봅니다. 특징 설명 시간 복잡도 일부 알고리즘은 작은 데이터 집합에 대해 빠르지만, 큰 데이터 집합에 대해 느릴 수 있습니다. 알고리즘의 시간 복잡도를 고려하여 적절한 정렬 알고리즘을 선택해야 합니다. 안정성 안정적인 정렬 알고리즘은 동일한 값의 순서가 바뀌지 않는 특징을 가지고..
[Java/디자인패턴] 싱글턴 패턴(Signleton Pattern) 이해하기 -1 : 정의 및 종류
·
Java/아키텍처 & 디자인 패턴
해당 글에서는 싱글턴 패턴(Signleton Pattern)에 대해서 이해를 돕기 위해서 공유하기 위한 목적으로 작성한 글입니다. 1) 디자인 패턴(Design Pattern)💡 디자인 패턴(Design Pattern) - 소프트웨어에서 특정 문제를 해결하기 위해 개발된 재사용성이 가능한 솔루션을 의미합니다. - 디자인 패턴을 통해 재사용성, 유지 보수성, 확장성을 향상하는데 도움이 됩니다[ 더 알아보기 ] 💡 디자인 패턴의 종류 1️⃣ 생성 패턴 (Creational Patterns) - 객체의 인스턴스화 과정을 추상화하고, 객체를 생성하는 방법을 다양화하는 패턴입니다. 이에는 Singleton, Factory Method, Abstract Factory 등이 포함됩니다. 2️⃣ 구조 패턴 (Struc..
[Java/알고리즘] 깊이 우선 탐색(DFS) / 너비 우선 탐색(BFS) 이해하기 -1 : 이론 및 구조
·
Java/알고리즘 & 자료구조
해당 글에서는 알고리즘 중에서 깊이우선탐색(DFS) / 너비우선탐색(DFS)에 대해서 알아봅니다. 1) 깊이우선탐색(DFS) / 너비우선탐색(DFS) 전체 구조 💡 깊이우선탐색(DFS) / 너비우선탐색(DFS) 전체 구조 - 해당 글에서는 알고리즘 구조에서 ‘탐색 알고리즘’ - ‘완전 탐색’ - ‘비 선형 구조 탐색’에 해당하는 깊이 우선 탐색(DFS) / 너비 우선탐색 (BFS)에 대해 알아봅니다. 💡 [참고] 깊이 우선 탐색(DFS) / 너비 우선 탐색(BFS)을 이해하기 전에 전제로 알면 좋은 알고리즘과 자료구조입니다. 분류 주제 링크 알고리즘 완전 탐색 알고리즘 https://adjh54.tistory.com/196 알고리즘 완전 탐색 알고리즘 : 종료 https://adjh54.tistory.c..
[Java/자료구조] 비선형구조 이해하기 -3 : 그래프 (방향, 무방향 그래프)
·
Java/알고리즘 & 자료구조
해당 글에서는 자료구조에서 비선형구조 중 그래프에 대해 알아봅니다. 💡 [참고] 자료구조의 전체 구조 - 해당 글에서는 자료구조 중 비선형 구조 > 그래프(방향트리/무방향 트리)에 대해 알아봅니다. 1) 비선형 구조(Non Linear) 💡 비선형 구조(Non Linear) - 데이터를 저장하기 위한 방법으로 데이터 간의 관계를 이루면서 ‘계층적인 구조‘를 가지며 ‘일렬로 나열되지 않은 자료구조’ 형태를 의미합니다. - 일련 되지 않은 자료구조는 계층적으로 데이터의 관계가 부모-자식 관계, 연결 관계, 또는 소속 관계 등을 가지고 있어서 계층적이거나 상호 연결되어 있습니다. - 대표적인 비선형 구조는 트리(Tree), 그래프(Graph)등이 이에 해당합니다. 💡 [참고] 비선형 구조에서 트리에 대해 궁금..
[Java/자료구조] 비선형구조 이해하기 - 2 : 균형 트리(AVL, 레드-블랙, B-트리)
·
Java/알고리즘 & 자료구조
해당 글에서는 비선형 구조 중 균형트리를 응용한 AVL, 레드-블랙, B-트리에 대해서 알아봅니다. 💡 [참고] 이전에 작성한 비선형 구조에 이어지는 글입니다. [Java/자료구조] 비선형구조 이해하기 - 1 : 트리(일반트리, 이진트리) 해당 글에서는 자료구조에서 비 선형 구조에 대해 이해하며, 그 종류인 일반트리/이진트리에 대해서 알아봅니다. 💡 [참고] 자료구조의 전체 구조 - 해당 글에서는 자료구조 중 비선형 구조에 adjh54.tistory.com 1) 비 선형구조(Non Linear) 💡 비 선형구조(Non Linear) - 데이터를 저장하기 위한 방법으로 데이터 간의 관계를 이루면서 계층적인 구조를 가지는 ‘일렬로 나열되지 않은 자료구조’ 형태를 의미합니다. - 일련 되지 않은 자료구조는 계..
[Java/자료구조] 비선형구조 이해하기 - 1 : 트리(일반트리, 이진트리)
·
Java/알고리즘 & 자료구조
해당 글에서는 자료구조에서 비 선형 구조에 대해 이해하며, 그 종류인 일반트리/이진트리에 대해서 알아봅니다. 💡 [참고] 자료구조의 전체 구조 - 해당 글에서는 자료구조 중 비선형 구조에 대해 알아봅니다. 1) 비선형 구조(Non Linear) 💡 비 선형구조(Non Linear) - 데이터를 저장하기 위한 방법으로 데이터 간의 관계를 이루면서 ‘계층적인 구조‘를 가지며 ‘일렬로 나열되지 않은 자료구조’ 형태를 의미합니다. - 일련 되지 않은 자료구조는 계층적으로 데이터의 관계가 부모-자식 관계, 연결 관계, 또는 소속 관계 등을 가지고 있어서 계층적이거나 상호 연결되어 있습니다. - 대표적인 비선형 구조는 트리(Tree), 그래프(Graph)등이 이에 해당합니다. [ 더 알아보기 ] 💡 계층적인 구조?..
[Java/자료구조] 선형구조 - 연결 리스트 이해하기 : 단순, 이중, 순환 연결리스트
·
Java/알고리즘 & 자료구조
해당 글에서는 자료구조에서 선형 구조 중 연결 리스트에 대해 알아봅니다. 💡 [참고] 자료구조론 구조 - 선형구조 중 연결리스트와 종류인 단순, 이중, 순환 연결 리스트를 확인해 봅니다. 1) 선형 구조(Linear Structure) 💡 선형 구조(Linear Structure)란? - 데이터를 저장하기 위한 기본적인 형태로 데이터가 '일렬로 나열'되어 있을 뿐만 아니라 데이터 간에 순서가 있고 논리적으로 이어져 있는 구조를 의미합니다. - 선형 구조에는 순차 리스트, 연결 리스트, 큐(Queue), 스택(Stack), 덱(deque)이 있습니다. 💡 [참고] 이외에 선형구조에 대해 궁금하시면 아래의 글을 참고하시면 도움이 됩니다 [Java/자료구조] 선형 구조 - 순차 리스트(Sequential Li..
[Java/API] LinkedList Method API Document : Java 11
·
Java/API Document
해당 글에서는 Java 11 버전을 기준으로 LinkedList 인터페이스의 API에 대해서 확인합니다. 1) LinkedList 💡 연결 리스트(Linked List) - 데이터 요소를 ‘노드(Node)’로 구성된 선형 자료구조입니다. 각 노드는 데이터와 다음 노드를 가리키는 링크(포인터)로 이루어져 있습니다. - 연결 리스트는 동적 크기 조정이 용이하고, 삽입과 삭제가 빠르게 이루어질 수 있는 장점이 있습니다. - 하지만 특정 위치에 접근하는 데에는 선형적인 탐색이 필요하기 때문에 접근 속도가 느릴 수 있습니다. - 주로 데이터의 삽입과 삭제가 빈번하게 일어나는 상황에서 주로 사용됩니다. 큐(Queue)나 스택(Stack)과 같은 자료구조를 구현할 때 많이 활용됩니다. 또한 데이터 크기가 동적으로 변..