Native ? 적은 메모리 사용 , 고성능
GraalVM -> orcale+협력사의 개발 . program의 속도를 증가 시킨다는 정의
기존 C++로 만들어진 Hotspot의 JVM을 극복하기 한 Meta-circular JVM
(자바 가상머신. JAVA로 개발한 프로그램을 컴파일하여 만드는 코드를 실행하기 위한 가상머신)
+ AOT -> 미리 기계어로 번역한다.
실행 도중에 계속 번역이 이루어진다.
속도를 많이 감소 시킬 수 있다.
2.TestContainer
ex) mysql에 접근하는 test -> Mocking으로 test. (mysql로 인한 문제를 감지못함)
직접 MYSQL에 올려보는 과정. 번거롭다.
testconatiner는 자동으로 DB Container를 자동으로 띄워주고 종료되면, 컨테이너도 같이 종료된다.
Test에 가서, @TestContainers로 어노테이션.
@TestContainers class StudyServiceTest {
@Container
static PostgreSQLContainer postgreSQLContainer = new PostgreSQLContainer() .withDatabaseName("testDB");
@Test
void domything () { // ... 생략 }
properties에서 db와 source를 설정. db를 설정하는 test까지 잘 진행된다.
3. 설정값 관리
주로 properties에 관리한다. 변경 되었을때도, 배포가 필요하다. ->db에서 관리할 수 있으나, 양이 작으면 애매하다.
Spring Cloud Config
분산 환경에서, 외부환경 설정을 관리하는 서버이다.
메인 class에
@EnableConfigServer
를 붙여주고, 설정 서버 규칙들을 해주면, 사용이 가능하다.
(기본 8888 포트를 사용한다 )
이를 client가 읽어오고 싶다면?
dto에서 @ConfigurationProperties("server명 ") 으로 class를 생성하고 applicatoin에서 설정을 해준다.
그 이후에 controller에서 해당 설정정보를 확인할 수 있다.