분류 전체보기(363)
-
Spring - application.yaml(.properties) 파일 로드 규칙 및 순서
오늘 다루어볼 내용은 spring application.yaml(properties)파일들의 로드 규칙 및 순서이다. 기본적인 내용일수는 있겠지만 필자는 이번에 해당 순서의 중요성을 다시 한번 알게되서 한번더 정리해보려고 한다. Spring Boot Features If you need to call remote REST services from your application, you can use the Spring Framework’s RestTemplate class. Since RestTemplate instances often need to be customized before being used, Spring Boot does not provide any single auto-configure..
2020.04.29 -
Java - Model(Object) mapping을 위한 Mapstruct (맵스트럭트)!
오늘 다루어볼 내용은 Model mapping을 아주 쉽게 해주는 Mapstruct라는 라이브러리를 다루어볼 것이다. 그 전에 Model mapping에 많이 사용되는 ModelMapper와의 간단한 차이를 이야기해보면, Model Mapper는 Runtime 시점에 reflection으로 모델 매핑을 하게 되는데, 이렇게 런타임시에 리플렉션이 자주 이루어진다면 앱성능에 아주 좋지 않다. 하지만 Mapstruct는 컴파일 타임에 매핑 클래스를 생성해줘 그 구현체를 런타임에 사용하는 것이기 때문에 앱 사이즈는 조금 커질수 있지만 성능상 크게 이슈가 없어서 ModelMapper보다 더 부담없이 사용하기 좋다. 그리고 아주 다양한 기능을 제공하기 때문에 조금더 세밀한 매핑이 가능해진다. 바로 간단하게 Maps..
2020.04.29 -
네트워크(DNS) - A record와 CNAME의 차이점!(DNS Record Type)
오늘 다루어볼 내용은 DNS Record type중에 A record와 CNAME의 차이점을 간단하게 다루어본다. A record DNS의 레코드 타입중에 A record type이란 간단하게 도메인(domain) name에 IP Address를 매핑하는 방법이다. > nslookup coding-start.tistory.com Server:10.20.30.60 Address:10.20.30.60#53 Non-authoritative answer: Name:coding-start.tistory.com Address: 211.231.99.250 위 nslookup 명령을 치면 211.231.99.250이라는 IP가 매핑되어 있는 것을 볼 수 있다. IP 매핑은 VIP로 매핑하여 여러 IP를 하나의 도메인에..
2020.04.22 -
Docker - DOOD로 띄웠을 경우 proxy(프록시) 설정
이번 포스팅에서 다루어볼 내용은 DOOD로 도커를 띄웠을 때, proxy 설정하는 방법이다. 그전에 간단하게 Docker in Docker(dind)와 Docker Out Of Dcoker(DooD)에 대해 알아보자. Docker in Docker(dind) 도커 내부에 격리된 Docker 데몬을 실행하는 방법이다. CI(Jenkins docker agent) 측면에서 접근하면 Agent가 Docker client와 Docker Daemon 역할 두가지를 동시에 하게 된다. 하지만 이 방법은 단점이 존재한다. 내부의 도커 컨테이너가 privileged mode로 실행되어야 한다. > docker run --privileged --name dind -d docker:1.8-dind privileged 옵션..
2020.04.21 -
Java - 중첩이 많은 Stream 처리 Tip !
오늘 다루어볼 내용은 자바에서 Stream(java 8 stream, reactor ...)을 사용할때 유용한 팁이다. 많은 사람들이 아는 해결법일 수도 있고, 혹은 필자와 같은 스타일을 선호하지 않는 사람들도 있을 것이다. 하지만 필자가 개발할때 이러한 상황에서 조금 유용했던 Stream pipeline Tip을 간단히 소개한다. 중첩이 많고, 이전 스트림보다 더 이전의 스트림의 결과 값을 사용해야 할때 상황은 아래와 같은데, 간단히 바로 이전 스트림의 결과가 아닌, 더 전의 스트림 원자를 로직에서 사용하려면 대게 아래와 같이 스트림 파이프 라인을 이어나간다. Mono.just("id") .flatMap(id -> return Mono.just(service.getById(id)) .map(entity..
2020.04.21 -
Docker - Docker 다른 레포지토리에 push하기
공식 dockerhub가 아닌, 개인 혹은 사내 dockerhub로 push하는 방법이다. (dockerHubHost가 개인 혹은 사내 도커허브 도메인) > docker build -t dockerHubHost/levi.yoon/jenkins_example > docker push dockerHubHost/levi.yoon/jenkins_example 뭔가 다른 방법이 있을 것 같긴한대.. 간단하게 위 방법으로도 가능하다 !
2020.04.20