일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- DDL
- java
- redis
- Exception
- 필드 주입
- DI
- 조합
- docker
- hashcode
- 재정의
- stream
- 인덱스
- Test
- SQL
- MSA
- 생성자 주입
- AOP
- cache
- equals
- static
- StringBuilder
- jpa
- 테스트 코드
- VUE
- select_type
- KEVISS
- Spring
- lambda
- jwt
- 열 속성
- Today
- Total
목록AOP (3)
백엔드 개발자 블로그
AOP 전략에 대해 알아보자AOP 적용 방식AOP는 무엇인가?AOP는 공통의 관심사(aspect)를 추상화해 잘 보관하고 있다가 필요한 곳에 동적으로 삽입하여 적용해주는 기술이다. 이로 인해 핵심 로직과 부가 기능을 분리할 수 있고 각각의 기능은 단일 책임을 가진 코드를 유지 할 수 있다. 핵심 로직과 부가 기능이 같이 있을 시 단점두 가지 책임을 가지므로 하나의 책임에 인한 코드 수정은 다른 코드에 side effect가 발생할 수 있다.두 가지 기능이 접목되어 있어 테스트 코드를 작성하려 할 때도 두가지 기능을 다 고려 해야 한다.비즈니스 로직이 복잡하거나 부가 기능이 추가가 될 수록 유지보수 하기가 어려워 진다.유지보수와 비슷한 맥락으로 기능을 확장하거나 다른 전략으로 기능을 변경하기도 어려워 진다..

동시성 문제를 해결하기 위해 synchronized, Locking(비관적 락), Redis 분산락을 시도한 과정을 작성해봅니다. 문제 상황 모임 인원에 제한이 있는 그룹에 member가 참여하는 코드입니다. @RequiredArgsConstructor @Transactional(readOnly = true) @Service public class ParticipateService { private final MemberFindService memberFindService; private final GroupFindService groupFindService; @Transactional public void participate(Long groupId, Long memberId) { Group group..

Spring에 필요한 개념을 정리했습니다. Spring이란?Spring은 POJO(Plain Old Java Object) 방식의 프레임워크입니다. 복잡한 엔터프라이즈 로직을 대신 처리하여 개발자가 서비스 로직에 집중하고 이를 POJO(순수 Java 객체)로 쉽게 개발 할 수 있도록 지원해주는 프레임워크입니다.Spring Framework의 특징Spring은 POJO(Plain Old Java Object) 방식의 프레임워크입니다.- 개발자가 서비스 로직에 집중하고 이를 POJO(순수 Java 객체)로 쉽게 개발 할 수 있도록 지원합니다. Spring은 DI(Dependency Injection)를 지원합니다.- 각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결시켜 줍니다. Sp..