관리 메뉴

CASSIE'S BLOG

106강 Spring Boot 좀 더 사용하기 wrap-up 본문

PROGRAMMING/슈퍼코딩 강의 정리

106강 Spring Boot 좀 더 사용하기 wrap-up

ITSCASSIE1107 2024. 5. 13. 23:27

반복코드줄이기, 기록 남기기
Http 상태코드, 예외처리
스프링 Jpa활용, 스프링 테스트 활용


포조 POJO를 위한 철학이다. 3가지 요소가.

 

 

엄밀히 따지면 DI까지 총 4개다. 근데 뭉퉁그려서 3개로 설명.

 

AOP: 구현해야할 모듈을 모아서 침투적으로 하는 방법을 AOP라고 한다. RESTCONTROLLER 할 때 설명했다고함. 

(AOP는 **"반복되는 작업을 따로 빼서 관리하는 방법"**)

 

IOC: 빈을 등록해서 이 전체 서블릿 컨테이너의 빈에서 스프링프레임워크에서 돌아가는 스프링컨테이너가 관리하는거를 IOC라고 한다. 

 

실제 빈을 등록하게되면은 그 빈을 의존성이 있는 것 같은 경우에는 빈이 대신 넣어준다. 그걸 DI라고 한다. 

 

JPA로 추상화를 하게되면은 어떤 DB와 상관없이 JPA가 알아서 바꿔준다. 
이런게 휴대용 서비스 추상화라고 해가지고 PSA라고 부른다. 

 

 

 

JPA 했을때도 TRANSACTION이 계속 나온다.
구문자체를 원자성으로 묶는 그 작업이 커질수록 
CREATE, UPDATE하는, 수정하는 구문이 있을 때 중요하게 생각하고 잘 다루어야하는데

그 잘 따라야하는 원칙이 ACID 원칙임. (트랜잭션이 따라야하는 원칙)

 

LOGBACK 안하고 SWAGGER 했다고함. 같은 레벨에 있는거임

 

 

 

Redis(레디스)는 "Remote Dictionary Server"의 약자로, 오픈 소스 인메모리 데이터 구조 저장소입니다. 주로 다음과 같은 용도로 사용됩니다:

캐싱: Redis는 매우 빠른 데이터 접근 속도를 제공하므로, 자주 조회되는 데이터를 캐시하여 데이터베이스의 부하를 줄이고 애플리케이션의 응답 시간을 단축할 수 있습니다.
데이터 저장소: 키-값 쌍 형태의 데이터를 저장하는 NoSQL 데이터베이스로 사용됩니다. Redis는 다양한 데이터 구조(예: 문자열, 리스트, 세트, 해시, 정렬된 세트 등)를 지원합니다.
메시지 브로커: Redis는 Pub/Sub(발행/구독) 메시징 시스템을 통해 메시지를 전달할 수 있습니다. 이는 실시간 채팅이나 알림 시스템 등에 유용합니다.
세션 관리: 웹 애플리케이션에서 사용자의 세션 데이터를 저장하고 관리하는 데 Redis를 사용할 수 있습니다.
분산 락: 여러 프로세스나 스레드 간에 자원의 접근을 제어하기 위한 분산 락을 구현하는 데 Redis를 사용할 수 있습니다.
Redis의 주요 특징 중 일부는 다음과 같습니다:

인메모리 데이터 저장소: 모든 데이터를 메모리에 저장하여 매우 빠른 읽기 및 쓰기 속도를 제공합니다.
영속성: 메모리에 저장된 데이터를 디스크에 주기적으로 저장하여 데이터 영속성을 유지할 수 있습니다.
복제 및 고가용성: Redis는 마스터-슬레이브 복제, 자동 페일오버 등을 통해 고가용성을 지원합니다.
스크립팅: Lua 스크립트를 사용하여 서버 측에서 복잡한 연산을 수행할 수 있습니다.
Redis는 다양한 프로그래밍 언어를 위한 클라이언트 라이브러리를 제공하며, 간단한 API와 명령어 셋을 통해 쉽게 사용할 수 있습니다.

백엔드 시스템에서 Redis는 보통 데이터베이스와 애플리케이션 사이에 위치하여 데이터 캐싱, 세션 관리, 실시간 데이터 처리 등의 역할을 합니다. 이를 통해 전체 시스템의 성능과 확장성을 향상시킬 수 있습니다.

반응형