Spring33 상태검증 vs 행위검증 목차상태검증이란?행위검증이란?1. 상태검증이란?메서드가 수행될 때 연관되어있는 협력 객체의 '상태'를 검증함으로써 제대로 기능이 동작하고 있는지를 검증하는 것이다.val abc = Abc() abc.increase() assertThat(abc.value).isEqualTo(10)abc 인스턴스의 value가 10과 같은지 상태를 검증한다.단위테스트2. 행위 검증이란?테스트하고자 하는 메소드가 참조하고 있는 협력 객체의 메소드를 제대로 호출 하는지에 대한 '행위'를 검증하는 것이다.val abc = Abc() abc.increase() verify(abc, atLeastOnce()).increase()abc 인스턴스의 increase() 메서드가 최소 한 번은 수행되었는지 행위를 검증한다.통합테스트 2024. 1. 29. logback vs log4j2 목차개요Log4j2Logback결론1. 개요Logback와 Log4j2는 둘 다 Java 기반 프로젝트에서 사용되는 인기 있는 로깅 프레임워크다.둘은 비슷한 목적을 가지고 있지만, 기능, 성능 및 사용 편의성 측면에서 차이가 있다. 아래 차이를 살펴보자.2. Log4j2Apache Log4j2 는 가장 최근에 나온 프레임워크이며, 목표는 Logback 에 포함된 일부 개선 사항을 포함하여 Log4j 에 자체 개선 사항을 제공하고, Log4j 및 Logback 의 문제를 방지하여 두 프레임워크를 모두 개선하는 것이다.따라서 Logback 과 마찬가지로 Log4j2 는 SLF4J 에 대한 지원을 제공하며, 로깅 구성을 자동으로 다시 로드하며 고급 필터링 옵션을 지원한다.이러한 기능 외에도 람다 표현식을 기반.. 2024. 1. 8. __**JDK Dynamic Proxy vs CGLIB Proxy**__ 목차개요JDK Dynamic Proxy란?CGLIB Proxy란?JDK Dynamic Proxy vs CGLIB Proxy1. 개요스프링 AOP는 2가지 타입의 Proxy를 제공한다. 바로 JDK Dynamic Proxy와 CGLIB Proxy이다.스프링 AOP의 ProxyFactoryBean이 proxy를 생성하는데, 경우에 따라 이 둘 중 하나를 서택해서 사용하는 방식이다.2. JDK Dynamic Proxy란?JDK에서 지원하는 프록시 생성 방법외부 라이브러리에 의존하지 않는다프록시 팩토리에 의해 런타임 시 다이나믹하게 만들어지는 오브젝트프록시 팩토리에게 인터페이스 정보만 제공해주면 해당 인터페이스를 구현한 클래스 오브젝트를 자동으로 생성Reflection API를 사용한다. (느리다)인터페이스가 .. 2023. 12. 29. __ExceptionHandler와 ControllerAdvice를 알아보자__ 목차개요스프링의 기본적인 예외 처리@ExceptionHandler@ControllerAdvice결론1. 개요예외 처리를 하는 방법은 다양하나 일반적으로 간단하게 예외를 핸들링하기 편한 방법으로 try / catch문을 자주 사용한다.스프링을 사용한 웹 애플리케이션에서 적용할 수 있는 예외 처리 방법인 @ExceptionHandler와 @ControllerAdvice에 대해 알아보자.2. 스프링의 기본적인 예외 처리@RestController public class SimpleController { @GetMapping(path = "/errorExample") public String invokeError() { throw new IllegalArgumentException(); } }url로 /erro.. 2023. 12. 19. 스프링의 삼각형은 무엇일까? 목차개요IoC/DI - 제어의 역전/의존성 주입AOP (Aspect-Oriented Programming) : 관점 지향 프로그래밍PSA (Portable Service Abstraction) : 일관성 있는 서비스 추상화결론1. 개요아래 그림처럼 POJO(Plain Old Java Object)를 기반으로 스프링 삼각형이라는 IoC/DI, AOP, PAS 개념이 이루고 있어 스프링 삼각형이라고 부른다. 스프링은 거대함 속에 단순함을 가지고 있는데 바로 그 단순함이 스프링 삼각형이다.2. IoC/DI - 제어의 역전/의존성 주입DI(Dependecy Injection)A가 B클래스를 사용하고 있을때 A가 B를 직접 생성해서 사용하는 것이 아니라 외부에서 B클래스의 인스턴스를 생성해서 주입해준다는 것이다... 2023. 12. 18. 패스워드 암호화를 어떤 방식으로 하면 좋을까? 목차개요단방향 암호화 (One-Way Encryption)양방향 암호화 (Two-Way Encryption)해시함수란?MD5SHA왜 MD5와 SHA와 같은 방식으로 비밀번호를 암호화 하면 안될까?Bcrypt란?결론1. 개요일반적으로 대부분의 사이트에서는 아이디와 비밀번호로 로그인을 하고 각각 개인정보들을 데이터베이스 저장을 한다.이러한 개인정보 중 비밀번호와 같이 노출되어서는 안되는 종류들이 그대로 데이터베이스에 저장되면 어떻게 될까?정답은 당연 문제가발생한다. 이러한 개인정보는 암호화해서 데이터베이스 저장응 해야하며 어떻게 패스워드를 암호화 하는 것이 좋을지 알아보자.2. 단방향 암호화 (One-Way Encryption)특징단방향 암호화는 주로 비밀번호 저장과 같은 경우에 사용된다. 이 방법은 원본 .. 2023. 12. 15. 이전 1 2 3 4 5 6 다음