분류 전체보기 162

[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 위 사이트에 들어가서 [회원가입]을 먼저 해..

[MYSQL] 프로그래머스 SQL 문제풀이 - Level 2 (8~9번 문제풀이) / level 1 (24/24)

8. 중성화 여부 파악하기 SELECT ANIMAL_ID, NAME, CASE WHEN SEX_UPON_INTAKE LIKE '%Neutered%' OR SEX_UPON_INTAKE LIKE '%Spayed%' THEN 'O' ELSE 'X' END AS 중성화 FROM ANIMAL_INS ORDER BY ANIMAL_ID; ANIMAL_INS 테이블에서 ANIMAL_ID, NAME을 조회하고 CASE문을 사용하여 SEX_UPON_INTAKE값에 Neutered, Spayed가 포함된다면 O 아니라면 X를 반환한다. 또한 별칭은 중성화로 선택해 줬다. 그 뒤 ORDER BY를 사용해서 오름차순으로 정렬했다. 9. NULL 처리하기 SELECT ANIMAL_TYPE, CASE WHEN NAME IS NUL..

프로필사진

남건욱's 공부기록

반응형