공부메모 & 오류해결 37

[Elasticsearch] 엘라스틱 서치의 Analyzer, Tokenizer 정리(Nori_tokenizer)

1. Analyzer 기본 설정 (standard)아무런 설정을 하지 않으면 Standard Analyzer가 사용되며 한글 타입은 단순 토큰화만되고 형태소 분석 등은 이루어지지 않음 2. 추천 Nori_tokenizerPUT /library_index{ "settings": { "analysis": { "analyzer": { "custom_korean_analyzer": { "type": "custom", "tokenizer": "nori_tokenizer", "filter": ["nori_readingform", "lowercase", "nori_part_of_speech"] } } } ..

[Spring Boot] lombok을 분명 적용했는데 사용이 안될때

평소처럼 프로젝트를 만드려 하다가 @Getter, @Setter 등이 사용이 안될 때가 있다.다시 한번 확인해 보지만 build.gradle에는 lombok이 적용되어있다. 하지만 값을 외부로 보낼 수 없고 getter나 setter를 사용하면 오류를 만난다. 내가 @Data를 안 달았나? @Getter / @Setter를 안달았나? 확인해 보지만 전부 달려있다. 이때 한 가지 더 체크해 볼 만한 것 하나annotationProcessor 'org.projectlombok:lombok'build.gradle에서 다음 의존성을 주입하고 다시 시도해 보자. 10에 8은 될 것이다.

[Spring Boot + SMTP] 이메일 인증 구현

1. 개발환경Java 17Spring Boot 3.1.8Gradle 8.5 2. 의존성 추가 // SMTP implementation 'org.springframework.boot:spring-boot-starter-mail' // Redis implementation 'org.springframework.boot:spring-boot-starter-data-redis'SMTP와 Redis의 의존성을 build.gradle에 추가해 줍니다. 3. Gmail SMTP 설정 3-1구글로그인 후 지메일로 들어갑니다. 3-2오른쪽 상단의 톱니바퀴 버튼을 누른 뒤 버튼을 클릭합니다. 3-3 전달 및 POP/IMAP를 눌러주신 후 사진과 같이 체크한 뒤 버튼을 눌러 저장해 줍니..

[Spring Boot] LogBack을 사용해서 로그파일 저장하기

1. 개발환경Java 17Spring Boot 3.1.8Gradle 8.5 2. LogBack이란?LogLogback은 자바 기반의 오픈 소스 로깅 프레임워크이다. Logback은 로깅 기능과 SLF4J(Simple Logging Facade for Java)와의 통합을 제공하여 강력하고 유연한 로깅 솔루션을 제공해 준다. SLF4J는 다양한 로깅 구현체를 추상화하는 인터페이스를 제공하고, Logback은 이러한 인터페이스를 구현하여 실제로 로그를 처리한다.Logback은 Log4j의 후속 버전으로 개발되었으며, Log4j보다 더욱 효율적이고 성능이 우수하다. Logback은 다음과 같은 주요 기능을 제공한다 3. LogBack의 주요 기능1 모듈화된 아키텍처Logback은 세 가지 주요 구성 ..

[Spring Boot] Global Exception으로 에러 처리하기

1. 개발환경Java 17Spring Boot 3.1.8Gradle 8.5 2. Global Exception은 무엇일까?Spring Boot 기반의 Restful API에서 예외처리의 유지보수성과 확장성을 향상하며, 명확한 에러 메시지를 제공하도록 도와준다. 에러코드와 메시지를 관리하며 GlobalExceptionHandler를 통해 이러한 예외들을 중앙에서 처리하도록 해준다. 3. Global Exception를 사용하는 이유1 코드 중복 감소동일한 예외를 반복해서 처리하는 것은 비효율적이다. 전역 예외를 사용하면 모든 컨트롤러에서 발생하는 공통 예외들을 한 곳에서 처리할 수 있으므로, 코드의 중복을 줄이고 유지보수가 용이해진다 2 일관된 에러 응답 형식일관된 형식의 에러 응답을 제공하면 클라이..

[DataBase] 트랜잭션이란?

1. 트랜잭션의 개념트랜잭션이란 DB 시스템에서 한셋의 작업들을 수행하는 논리적인 작업 단위를 의미. 이러한 작업들은 모두 성공적으로 완료되거나 아무것도 수행되지 않는 두 가지 결과만을 가진다. 트랜잭션은 DB의 상태를 다른 일관된 상태로 변환하는 데 사용된다. 2. 트랜잭션의 특징원자성 (Atomicity)모든 작업이 성공적으로 완료되거나 실패했다면 아무것도 완료되지 않아야 한다. 중간 단계에서의 실패로부터 DB를 보호한다. 일관성 (Consistency)트랜잭션이 실행 전과 후에도 DB는 일관된 상태여야한다. 트랜잭션이 일부만 적용되거나 적용되지 않는 경우를 방지. 고립성 (Isolation)여러 트랜잭셔닝 동시에 실행 중이더라도 각각의 트랜잭션은 다른 트랜잭션에서 수행 중인 작업에 대해 영향을 미..

[QueryDSL] QueryDSL 이란?

1. QueryDSL 이란?QueryDSL은 자바 프로그래밍 언어를 사용하여 데이터베이스 쿼리를 작성할 수 있게 해주는 라이브러리이다. 문자열 기반 SQL쿼리 대신 자바 코드로 쿼리를 작성하므로 컴파일 시간에 오류를 확인할 수 있고, IDE의 지원을 받을 수 있다. 동적 쿼리나 복잡한 쿼리 작성 시 유용하며, 다양한 데이터베이스와 호환되며 다양한 모듈을 제공한다. 2. ORM과 QueryDSL의 관계ORMORM은 객체와 RDBMS간의 매핑을 자동화하는 기술이다. 주로 JPA나 Hibernate와 같은 프레임워크를 사용하여 객체 지향 언어에서 DB를 조작할 때 사용된다. ORM은 객체와 테이블 간의 매핑을 처리하고, 쿼리를 객체지향적인 방식으로 작성하도록 도와준다. Querydsl과 ORMQueryds..

[Spring Batch] 스프링 배치(Spring Batch)란?

1. Spring Batch?Spring 환경에서 대용량의 데이터 처리를 위한 기능을 제공하는 프레임 워크이다. 이름 그대로 스프링 배치(Batch)이기 때문에 Spring과 같은 특성을 띤다. 주기적으로 대용량의 데이터를 처리해야 하는 규모 있는 엔터프라이즈 시스템을 운영하기 위해 스프링 배치를 자주 사용한다. 2. Spring Batch의 특징대용량 데이터 처리Spring Batch는 방대한 양의 데이터를 처리할 수 있다. (로킹/추적, 트랜잭션 관리, 통계 등) 스케줄러배치는 일괄처리라는 뜻을 가지고 있기 때문에 지정한 스케줄러에 의해 시간에 맞춰 수행한다. 재시도 기능Spring Batch는 작업 중 실패한 경우, 작업을 재시도할 수 있는 기능을 제공한다. 또한 재시도 횟수를 지정할 수 있다. ..

[ElasticSearch] Elasticsearch란 뭘까?

1. ElasticsearchElasticsearch는 오픈소스 검색 및 분석 엔진으로, Apache Lucene을 기반으로 한 분산형 데이터베이스이다. 대량의 데이터를 신속하게 저장, 검색 및 분석할 수 있으며 Full text search 기능이 제공된다. 2. ELK (Elasticsearch / Logstash / Kibana) 스택ELK 스택은 Elasticsearch, Logstash, kibana로 구성된 데이터 분석 및 시각화 도구의 집합이다. 각 구성 요소는 특정 기능을 담당하며, 이들을 함께 사용하여 데이터 수집, 저장, 분석을 시각화할 수 있다. 현재는 Elastic 스택이라고 하며 Beats도 추가됐다. Elasticsearch역할 : 데이터 저장 및 검색 엔진기능 : 대량의 데이터..

[Spring Boot + OpenWeather] OpenWeather를 사용해서 날씨정보 가져오기 + Spring Boot

1. OpenWeather 1-1 회원가입 https://openweathermap.org/ Сurrent weather and forecast - OpenWeatherMap Access current weather data for any location on Earth including over 200,000 cities! The data is frequently updated based on the global and local weather models, satellites, radars and a vast network of weather stations. how to obtain APIs (subscriptions w openweathermap.org 위 사이트에 들어가서 [회원가입]을 먼저 해..

프로필사진

남건욱's 공부기록

반응형