Develop/java,spring 15

Junit5 가이드

Maven Dependencies https://mvnrepository.com/artifact/org.junit/junit5-engine/5.0.0-ALPHA @AssertAll assertAll()은 모든 검증을 수행한다. 오류가 발생하더라도 검증을 모두 수행하고 오류가 발생한 검증들에 대해 결과를 출력한다. assertTrue(), assertFalse()... 여러개의 assert문을 작성시 오류가 발생하면 오류 이후의 assert 문이 수행 안되는것과 차이가 있다. import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import static org.junit.jupiter.ap..

Develop/java,spring 2020.11.05

application.properties 설정 목록

로깅 logging.config 로깅 구성 파일의 위치 logging.file 로깅 파일 이름 logging.level 로깅 레벨 구성 logging.level.org.springframework=TRACE spring.output.ansi.enabled 컬러로 로그 출력 ALWAYS 임베디드 설정 server.error.path 에러 컨트롤러 경로 /error server.port 서버 HTTP 포트 server.ssl.enabled SSL 지원 가능여부 server.ssl.key-store SSL 인증서 key store server.ssl.key-store-password key store 인증서 암호 server.ssl.key-store-provider key store 인증서 프로바이더 serv..

Develop/java,spring 2020.11.04

MSA(Micro Service architecture)

SOA와 MSA란? SOA는 서비스 지향 설계 방식(Service Oriented Architecture)이다. SOA는 서비스 단위로 개발을 하고, 개발된 서비스들을 공유함으로써 재가용성을 늘리고 유연성을 확보하는 것을 목표로 한다. MSA는 마이크로 서비스 설계 방식(Micro Service Archtecture)이다. MSA 또한 아주 작은 단위의 서비스로 소프트웨어를 구성함으로써 민첩하고 유연한 설계를 할 수 있도록한다. 그렇다면 둘의 차이점은? 가장 큰 차이점은 재가용성이다. SOA는 서비스를 개발하고, 이를 최대한 재가용한다. 예를 들면, A 팀과 그 옆의 B 팀이 있을 때, A에서 개발한 서비스 a를 B에서도 그대로 사용하는 것이다. 이로써 개발된 서비스 단위로 재가용성을 늘리고, 필요에 따..

Develop/java,spring 2020.11.04

비동기

비동기 처리란? 어떤 작업을 실행하는 동안에 해당 처리가 끝나기를 기다리지 않고 다른 작업을 시작하는것을 말한다. 비동기 처리를 할 때 알아야하는게 스레드(thread) 이다. 여러개의 스레드로 작업을 처리하는것을 멀티스레딩 이라고 한다. 메모리와 캐시 비동기 처리 시 주의할 점의 하나는 클래스 필드가 가리키는 값과 실제 메모리가 가리키는 값이 동일하지 않을 수 있다는 점이다. 스레드별로 캐시값이 있고 특정 스레드에서 필드 값에 접근했을때 캐시값은 메모리 값과 다를 수도 있다. 캐시 값을 사용하는 이유는 주로 성능 향상을 위한 것인데, 필드 값이 바뀔때마다 실제 메모리에 매번 접근하는것보다는 캐시값에 접근해 처리하는것이 성능에 유리하기 때문이다. 원자성 비동기 처리시 일련의 처리 흐름 중간에 다른 작업이..

Develop/java,spring 2020.11.04