기록해야 기억한다
-
AWS Fargate, 실제 사용 후기록해야 기억한다 2024. 8. 11. 18:05
AWS Fargate를 직접 사용해보면서 느낀 점들을 바탕으로 좀 더 객관적인 정보를 드리고자 합니다. 실제 개발자의 시각에서 바라본 Fargate의 장단점과 활용 시 고려해야 할 점들을 중심으로 정리해 보았습니다. Fargate의 장점인프라 관리 부담 감소: EC2 인스턴스 관리, 클러스터 설정 등 복잡한 인프라 관리 작업 없이 컨테이너 실행에만 집중할 수 있습니다. 덕분에 개발 생산성이 향상되고, 운영 오버헤드가 줄어듭니다.유연한 확장성: 필요에 따라 컨테이너를 즉시 생성하거나 삭제할 수 있어 유연한 확장이 가능합니다. 특히 트래픽 변동이 큰 서비스의 경우 자동 스케일링 기능을 활용하면 비용 효율적으로 시스템을 운영할 수 있습니다.높은 가용성: 다중 가용 영역에 걸쳐 컨테이너를 분산하여 실행하므로 높..
-
Jackson - 다형성 유형의 serialize, deserialize 사용하기기록해야 기억한다/Spring 2021. 10. 26. 14:06
spring 에서 기본적으로 json 을 직렬화, 역직렬화하는데 사용하는 jackson 을 사용할때 interface 나 abstract class 를 상속받는 클래스들의 역직렬화하는 방법을 정리합니다. // 역직렬화 대상인 인터페이스 @JsonTypeInfo( use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.WRAPPER_OBJECT, property = "type") @JsonSubTypes(value = { @JsonSubTypes.Type(value = BlockA.class, name = "a"), @JsonSubTypes.Type(value = BlockB.class, name = "b") }) public interface IBlock { } ..
-
Jenkins 설치(docker image)기록해야 기억한다/OSS(Open Source Software) 2021. 7. 28. 16:58
Jenkins 에서 잘 사용하지 않는 기능을 테스트를 할 일이 생겼다. 실제 팀환경에서 테스트할건 아니라서 docker 를 이용하기로 했다. docker hub 의 공식 jenkins 이미지를 검색하면 https://hub.docker.com/_/jenkins 로 확인이 되고 해당 사이트를 접속하면 DEPRECATION NOTICE 가 우릴 반긴다...(제길..) 대략 내용은 '더이상 지원없으니 사용하지 마세요.' 이다. 더보기 docker image 가 필요하신 분이면 그냥 docker pull jenkins/jenkins 을 통해 image pull 하면 됩니다. 아래쪽의 링크된 프로젝트 사이트를 통해 확인해보면 공식 repo 라고 따로 안내가 되어있으니 해당 repo 로 접근해야한다.(뭐가 다르겠어..
-
@DataJpaTest 할 때의 주의 사항기록해야 기억한다/Spring 2021. 2. 2. 23:30
저는 테스트할때 보통 test/resources 에 application-test.yml 을 따로 설정해두고 테스트를 진행합니다. 그런데 아래와 같은 상황이 생겨서 한참 고민했는데 역시나 사람이 문제였습니다. @DataJpaTest 인데 Unable to start ServletWebServerApplicationContext....가 뜬다! 분명히 JPA 테스트를 위해 @DataJpaTest 를 수행하는데 자꾸 servlet 관련 에러가 발생했고.... 왜 그러지? 뭔가 잘못됐나? 라고 하면서 test 리소스를 계속 찾았지만 이유를 찾지 못하여 급기야..아래처럼 처리하고 테스트를 진행했습니다. @DataJpaTest(properties = "spring.main.web-application-type=n..
-
Spring REST 에서의 Global Exception기록해야 기억한다/Spring 2021. 1. 11. 12:26
spring-mvc 에서의 global exception 에 대해 메모해놓으려합니다. 언제나 그랬듯이 spring ref. 문서를 찾는게 가장 좋으니 간략하게 정리하는 수준이 될 것입니다. Spring 3.2 이전에는 Spring MVC application 에서 예외를 처리하는 두 가지 주요 접근 방식이 있었습니다. 하나는 HandlerExceptionResolver, 또 하나는 @ExceptionHandler annotation 이였습니다. 둘다 분명한 단점이 있습니다. spring-boot 에서는 WebMvcRegistrations Bean 을 선언하고 이를 재정의하여 custom instance 로 제공하는 방법으로 사용할 수 있습니다. 이에 3.2부터 이전 두 솔루션의 한계를 해결하고 전체 애플..
-
logback 에서의 rolling 정책 사용시 주의사항기록해야 기억한다/OSS(Open Source Software) 2021. 1. 7. 15:02
logback 사용시 일반적으로 특정 시간이나 용량에 따라 파일을 이동하고 압축하는 정책을 적용해서 사용한다. 이 경우 몇 가지 case 를 통해 유의해서 사용해야 할 사항에 대한 기록이다. Appender 사용 Appender 는 위임받은 이벤트에 대해 log 가 발생하면 출력스트림(console/file) 에 write 하는 역할을 한다. package ch.qos.logback.core; import ch.qos.logback.core.spi.ContextAware; import ch.qos.logback.core.spi.FilterAttachable; import ch.qos.logback.core.spi.LifeCycle; public interface Appender extends LifeCy..
-
Spring Cloud OpenFeign, 그리고 SSL기록해야 기억한다/Spring 2020. 12. 29. 00:05
OpenFeign (github.com/OpenFeign/feign) Feign 은 선언적 Web Service Client 인 오픈소스이다. 이를 이용해 우리가 Spring 에서 Service 를 DI 를 통해 호출하여 사용하는 것처럼 웹서비스 Client 를 사용할 수 있게 도와준다. Feign 은 Interface 를 만들고 annotation 을 추가하는것으로 쉽게 사용할 수 있고, encoder, decoder 를 플러그형으로 지원한다. Spring Cloud OpenFeign Spring Cloud는 Spring MVC annotation 및 Spring Web에서 기본적으로 사용되는 동일한 HttpMessageConverters를 사용하기위한 지원을 추가하고 Eureka, Spring Clo..
-
스케줄러에 property 주입하기기록해야 기억한다/Spring 2020. 12. 17. 15:31
1. scheduling + property spring 에서 간단하게 주기적인 작업을 처리하기 위해 scheduling 패키지를 이용하게 되는데, 이 때 변수값에 따라 주기정보를 변경적용하기 위한 방법이다. 아래는 spring 의 여느 value 주입처럼 "${}" 을 이용하여 주입을 하고 @Scheduled(cron = "${my.custom.cron}") public void sampleJob() { logger.info("========= 진행합니다. ========="); } 아래는 월요일~금요일까지 매시간 0 분 0초에 돌아가도록 설정한 application 속성 파일의 내용이다. (yml 의 경우 따옴표를 붙여야하는데 문자열에 띄어쓰기가 있을 경우 안되는 경우가 있었던 것같다...기억이.....