여러 스레드 혹은 프로세스가 동시에 같은 자원에 접근하거나 수정할려고 할 때, 예상치 못한 결과를 발생하는 문제를 말합니다.동시성 문제를 해결하기 위한 기법은 다양한 방법이 있습니다.synchronized 키워드, 블럭을 사용해서 클래스 고유 락 사용.Thread Sa
해당 글에 사용된 코드는 Github에 있습니다! GITHUB이전까지 동시성 문제를 해결하기 위한, 순수 Java를 활용한 동시성 문제 회피와, DB에 락(낙관적, 비관적)을 걸어 해결하는 방법을 살펴 보았다.이전 포스팅이전까지 알아본 동시성 문제 해결 방안들은 정말
개발을 진행 하다보면, 공통으로 많은 class, Method 단위에서 사용되게 되는 로직이 생성되게 됩니다.예시) 해당 메서드의 Running Time 측정 Logger요청 Client의 유효성 검사 (로그인 검증, 벤 회원 검증 등)요청 데이터 캐싱 확인인증과 인가
공통 로직과 서비스 로직 > 이전에는 Template Method Pattern, Strategy Pattern을 통해서 공통 로직과 서비스 로직을 분리하여 단일 책임을 지키도록 하였다. 이전 글 템플릿 메서드 패턴을 예로 디자인 패턴을 적용하기 전보다 많은 코드 중
이전에는 ProxyFactory를 통해서 프록시 객체를 생성하여 수동 Bean 등록하여 로직 분리를 진행 하였다.이전 글이전까지 Spring 에서 제공해주는 ProxyFactory를 사용해서, CGLIB과 JDK 동적 프록시 기능을 간단하게 사용하여 프록시를 만들었습니
이전까지, 빈 후처리기와 @Aspect Annotation을 사용해서 로직을 분기 처리하고, 자동 생성, 수정 되도록 만들었습니다.이전 글이번에는, 스프링에서의 AOP 개념에 대해서 알아보고, 적용해보독 하겠습니다.AOP는 Aspect Oriented Programmi
이전까지, Spring AOP를 사용하는 방법에 대해서 알아보았습니다.이전 글이번에는, Spring AOP의 포인트 컷 AspectJ 표현식에 대해서 알아보고, Annotation 기반으로 작동하는 AOP를 생성해서 사용해 보겠습니다.Spring AOP 에서 채택한 A
기존에 Swagger를 사용해서 API 문서를 작성하였었는데, 안정성과 테스트 주도적 개발을 위해서 Spring Rest Docs를 적용한 후기와, 방법을 정리합니다.기존에는 항상 Swagger를 사용하여 api 문서를 작성하였습니다.간단하고, 적용하기 쉬우며, 또 a
최근에 SQL 인젝션 공격이란?, 또 방어하는 방법에 대해서, 간단한 질문을 받은 적이 있습니다. > Q) SQL 인젝션 공격이란? 또 방어하기 위한 방법을 소개해주세요 > A) 공격자가 SQL 쿼리에 악의적인 코드를 넣어서, 데이터베이스를 조작/정보 탈취하는 공격