LocalDateTime을 바이트화(직렬화) 할 때 어떤 규칙으로 할지 지정되지 않아 발생하는 에러이다. 에러가 발생한 대상 LocalDateTime 타입의 필드에 직렬화(Serialization)와 역직렬화(Deserialization)를 위한 어노테이션을 사용하여 해결. public class Dividend { @JsonSerialize(using = LocalDateTimeSerializer.class) @JsonDeserialize(using = LocalDateTimeDeserializer.class) private LocalDateTime date; private String dividend; } @JsonSerialize(using = LocalDateTimeSerializer.class)..
트리 (Tree) Tree란? 트리는 영어 단어 그대로 가지가 뻗어 있는 모양으로 노드와 간선으로 구성된 그래프의 일종이다. 그래프와 다른 점은 하나의 노드에서 다른 노드로 이동하는 경로가 유일하다는 점이다. 이를 Acycle이라고 한다. 트리는 폴더 구조, 조직도, 가계도 등 계층적 구조를 나타날 때 사용 한다. 트리의 구조 트리 구조의 자료 값을 담고 있는 단위를 노드(Node)라고 한다. 그리고 노드 간의 연결선을 에지(Edge)라고 한다. 이렇게 연결된 두 노드 중 상위의 노드를 부모(Parent) 노드, 하위의 노드를 자식(Child) 노드라고 한다. 그리고 같은 부모를 가지는 노드를 형제(Sibling) 노드라고 한다. 자신을 포함한 자식 노드의 개수를 크기(Size)라고 하며, 각 노드가 지..
현재 나의 Windows 11에 WSL로 Ubuntu가 설치되어 있다. 그리고 다음과 같은 시나리오를 가정하고 있다. 어느 서버에 설치된 리눅스 환경의 정보가 주어졌을때 외부 환경에서 해당 서버에 접속하여 데이터베이스를 설치하고, 내 윈도우 환경에서 해당 데이터베이스에 직접 접속 하고 싶다. 즉, 다음과 같이 서버의 데이테 베이스에 접속 하는 두가지 케이스에서 2번의 경우를 가정하고 있다. 리모트에서 서버로 접속 후 데이터 베이스에 접속 리모트에서 서버의 데이터 베이스로 바로 접속 위를 위해 Ubuntu 환경과 내 윈도우 환경에서 해줘야하는 작업들은 다음과 같다. openssh-server 설치 우선 설치해둔 우분투에 접속하고 openssh-server를 설치 해 준다. sudo apt install o..
개발환경 세팅을 위해 WSL (Windows Subsystem for Linux)로 내 Windows11에 Linux(Ubuntu)를 설치하고자 한다. Windows 10 버전 2004 이상(빌드 19041 이상) 또는 Windows 11이라면 이하의 과정을 통해 별도의 번거로운 설정 필요 없이 간단하게 내 윈도우 환경에 우분투 설치가 가능하다. WSL 이란 무겁고 번거로운 가상 머신 없이 몇 번의 커맨드 입력 만으로 간단하게 윈도우 환경에 리눅스를 설치 할 수 있는 기능이다.WSL 이란?WSL(Linux용 Windows 하위 시스템)은 별도의 가상 머신 또는 이중 부팅 없이 Windows 컴퓨터에서 Linux 환경을 실행할 수 있는 Windows의 기능입니다. WSL은 Windows와 Linux를 동..
힙(Heap)이란 ? 힙은 완전 이진트리 형태로 최대, 최소 값을 빠르게 찾아내는데 유용한 자료구조이다. 힙은 중복 값을 허용하며, 부모 - 자식 간 정렬은 보장하나 형제간의 정렬은 보장하지 않는다. (반 정렬 상태) 최소 힙( Min Heap) 최소 힙은 부모 노드의 Key가 자식 노드의 Key보다 작거나 같은 완전 이진트리이다. 최소 힙 - 삽입 트리의 가장 끝 위치에 데이터 삽입 부모 노드와 키 비교한 후 부모 보다 작을 경우 부모와 자리 교체 (반복) 최소 힙 - 삭제 최상위 노드 반환 및 삭제 가장 마지막 위치의 노드를 최상위 노드로 위치 시킴 자식 노드 중 작은 값과 비교 후 부모 노드가 더 크면 자리 교체 (반복) 최소 힙 - 구현 기본 구조 ArrayList heap; MinHeap() {..
Queue란? 큐는 선형 자료구조 중 하나로 가장 먼저 들어온 데이터가 가장 먼저 나가는 선입선출(FIFO, First-In-First-Out) 형태의 자료구조이다. 큐에서 가장 먼저 들어온 데이터를 Front라고 하며 가장 먼저 나가게(삭제)된다. Front가 나가고 나면 그 다음 데이터가 새로운 Front가 된다. 큐에서 가장 마지막에 입력된 데이터를 Rear라고 한다. 새로운 데이터는 기존 Rear 다음에 삽입되고 그 데이터가 새로운 Rear가 된다. Queue Interface Java에서 큐는 인터페이스(Interface)로 제공되며 주로 큐 인터페이스(Queue Interface)를 구현(Implement)한 연결리스트(LinkedList) (Queue Interface 를 상속받은 Deque..