Trie(트라이)란?- 트리형 자료구조이다.- 문자열 검색을 효율적으로 저장하고 탐색하기 위해 사용된다.- 중복해서 단어를 저장할 필요가 없다.Trie의 구조루트 노드- 트리의 최상위 노드이며, 보통 빈 값을 가진다.노드- 문자 : 노트가 나타내는 문자- 자식 노드 : 해당 문자의 다음 문자를 나타내는 자식 노트의 리스트- 종료 플래그 : 해당 노드가 문자열의 끝인지 여부를 나타내는 플래그Trie의 주요 연산삽입 (Insert)- 삽입하고자 하는 문자열의 한 글자씩 가져온다.- 트리의 루트부터 적합한 노드 위치를 찾아가면서 저장한다. 이 때, 없으면 새 노드를 생성한다.- 마지막 글자까지 삽입이 되면 isEnd 플래그로 단어의 끝을 표시한다.검색 (Search)- 입력받은 문자열을 한글자씩 파싱(Pars..
임베디드 레디스 (Embedded Redis)- Redis의 임베디드 버전이다.- 어플리케이션 내에 직접 통합하여 사용할 수 있는 형태이다.- 어플리케이션과 함께 배포 및 실행할 수 있어, 외부 서버에 의존하지 않고도 빠르게 데이터 저장 및 조회기능을 사용할 수 있다.- 테스트 환경을 구성하거나, 작으 규모의 프로젝트에서 Redis를 간편하게 할 수 있도록 해준다.- 실제 운영 환경에서의 경우, 별도의 서버에 Redis 서버를 구축하여 사용하는 것이 대중적이다.사용 목적- SpinLock을 활용하여 동시성 제어를 수행할 수 있다.* SpinLock (스핀락) : 임계 구역(critical section)에 진입이 불가능할 때 진입이 가능할 때까지 루프를 돌면서 재시도하는 방식으로 구현된 락- 동시성 제..
H2 Database란?자바 기반의 경량형 관계형 데이터베이스이다.H2 Database의 특징경량성H2 Database는 매우 가볍고 빠르다.메모리 내에서 실행할 수 있어 테스트 및 개발 환경에 적합하다.내장형 DBJava 애플리케이션에 쉽게 통합할 수 있는 내장형 데이터베이스입니다.별도의 서버 설치가 필요 없습니다.SQL 호환성표준 SQL을 지원하며, 다양한 데이터베이스와 유사한 문법을 사용한다.메모리 모드데이터를 메모리에 저장하여 빠른 성능을 제공하며, 테스트 용도로 자주 사용된다.웹 콘솔H2 Database는 웹 기반의 관리 콘솔을 제공하여 데이터베이스를 쉽게 관리할 수 있습니다.예제import java.sql.Connection;import java.sql.DriverManager;import j..
Lombok이란?- 자바 프로그래밍 언어에서 반복되는 코드의 양을 줄이고 생산성을 높이기 위해 사용되는 라이브러리이다.Lombok의 기능ㆍ@Setter, @Getter : Java Bean 규약에 있는 setter, getter를 자동으로 생성해준다.ㆍ@ToString : Object에 기본 구현된 ToString 대신 객체의 데이터를 보여주는 ToString을 자동으로 생성해준다.ㆍ@NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor : 객체 생성자를 자동으로 생성해준다.ㆍ@Data : Getter, Setter, ToString, Equals, hashCode 등 다양한 기능을 모두 제공해준다.ㆍ@Builder : 빌더 패턴을 자동 생성..
스트림(Stream)이란?- 배열, 컬렉션 등의 데이터를 하나씩 참조하여 코드를 실행할 수 있는 기능을 제공한다.- 람다식을 사용해서 간결하게 요소들을 다룰 수 있다.- 대량의 데이터를 병렬로 처리할 수 있다. 이를 통해 대량의 데이터에서 평균값, 최대값, 조건에 맞는 결과값, 통계 등을 쉽게 얻을 수 있다.- 데이터를 최종 처리하기 전에 여러 가지 중간 처리를 할 수 있다.- 스트림은 크게 3가지로 구성되며, 스트림 생성(원본 스트림) ▶ 중개 연산(필터링 스트림, 매핑 스트림) ▶ 최종 연산(최종 처리 스트림) 과정으로 구성되어 있다.스트림 종류- 자바에서 제공하는 스트림 클래스를 이용하면 여러 가지 데이터 소스에서 데이터 스트림으로 변환해서 일관성 있고 빠르게 처리할 수 있다.- 자주 사용되는 데..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.