-
Spring Boot Configuration & Kubernetes ConfigMap: OS 환경변수 바인딩
( Image reference : https://upload.wikimedia.org )이 글은 OS 환경변수를 Spring Boot의 프로퍼티에 바인딩하는 방법을 다룹니다.
그리고 그 방법을 이용해서 Kubernetes configmap을 Spring Boot 프로퍼티에 바인딩 하는 방법도 다룹니다.이를 이용해서 프로퍼티를 더 간단하고 유연하게 관리 가능합니다.
로컬환경에 필요한 프로퍼티는 application.yml로 관리하면되고
개발환경, 운영환경 등에 필요한 프로퍼티는 각 OS 환경변수 혹은 Kubernetes configmap을 활용해서 관리합니다.... 더 읽기
-
메모, To-Do, 일기 관리 팁
설 연휴 내내 누워서 생각해보니
요즘 너무 사는대로 사는 것만 같고
간혹 생각을 시도하더라도 정리를 못하고 끝내는 것 같습니다.그래서 읽기가 가능한 글을 남길 수 있을 정도로만이라도 생각을 정리하는 습관을 다시 길러보기로 했습니다.
일단은 최대한 자주 메모, 일기를 작성하는 것으로 시작하려 합니다. To-Do 관리는 덤으로..하지만 대부분의 프로그래머들이 그렇듯 To-Do 관리를 하려면 To-Do 앱을 만들어야겠다는 충동을 느꼈습니다.
하지만 다행히 충동은 잠재우고 어떻게하면 메모, To-Do, 일기를 잘 관리 할 수 있을지 고민해봤습니다.... 더 읽기
-
HTML Editor과 XSS(Cross Site Scripting) - Python Bleach
HTML 에디터를 포함한 시스템을 만들게 되면 XSS(Cross Site Scripting)를 대응하기 위해 신경쓸 것이 많습니다.
Cloud Obect storage를 사용해서 진행했던 방법을 공유하고 그 과정에서 사용했던 Bleach라는 Python 라이브러리를 소개합니다.... 더 읽기
-
Terraform, Helm을 이용한 AWS EKS 구성
(이미지 출처 : https://github.com/terraform-aws-modules)Terraform을 이용해서 AWS EKS를 구성하고 Helm을 이용해서 ingress와 application을 EKS 위에 띄우는 내용을 살펴봅니다.
진행방식은 AWS에서 제공한 from-zero-to-eks-with-terraform-and-helm 라는 가이드 문서의 예제를 따라하는 방식으로 진행합니다.... 더 읽기
-
유용한 표준 Java RuntimeException
( 이미지 출처 : https://openjdk.java.net )Java 프로그래밍을 하면서 예외처리를 발생시켜야하는 경우, 우리는 RuntimeException을 상속하는 예외를 사용하면 됩니다.
그리고 RuntimeException을 상속하는 예외를 새롭게 만드는 것보다는 JDK에서 제공하는 표준 RuntimeExcepton 상속 예외들을 사용하는 것이 바람직합니다.JDK 12 기준으로 RuntimeException을 직접 상속하는 예외는 총 58개입니다. (참고 - OpenJdk 12 RuntimeException)
그리고 그 58개의 예외들을 다시 상속하는 자식 예외들까지 개수를 세면 엄청나게 많습니다.그 중 자주 사용하게 되는 유용한 표준 RuntimeException 들을 기록합니다.
... 더 읽기
-
SLF4J Logger 사용법 & 잘못된 사용법: Binding Parameters, Logging Exception Stack Trace
(이미지 출처 : http://www.slf4j.org/)Logger의 잘못된 사용법은 어플리케이션의 성능에 큰 영향을 줍니다.
이러한 문제는 개발 과정 중에는 발견되지 않으며 성능 테스트에서야 발견이 가능합니다.
성능 테스트 케이스에서 누락된 경우, 운영 중에 많은 부하를 받게 되었을 때 문제를 일으킬 소지가 있습니다.이 글은 SLF4J의 올바른 사용법에 대해서 기술합니다. 특히, 파라미터 바인딩과 exception의 stack trace를 로깅하는 올바른 방법에 대해서 기술합니다.
... 더 읽기
-
Java Thread Safe Collections - List, Queue, Set, Map
( 이미지 출처 : https://openjdk.java.net )Thread safe 한 Collection(List, Queue, Set) 그리고 Map의 구현체 사용법에 대해서 기술합니다.
... 더 읽기
-
Contract Test 없이 MSA 도전 : Contract Interface
API 제공자(Provider), 소비자(Consumer) 모두 컴파일 단계에서 계약(Contract)의 API spec을 검증할 방법을 제안합니다.
기존에 component, contract 테스트에서 받을 수 있었던 피드백을 컴파일 단계에서 받게되어 개발속도가 크게 향상됩니다.... 더 읽기
-
나의 첫 Pull Request : Spring Cloud Gateway
나의 첫 pull request를 보냈다.
그리고 얼떨결에 Spring Cloud Gateway contributor가 되어버렸다.... 더 읽기
-
Spring Cloud Gateway - Resilience4j, Kubernetes
( 이미지 출처 : https://upload.wikimedia.org )Spring Cloud Gateway의 기본적인 설정 그리고 circuit breaker, retry 설정들을 살펴봅니다.
그리고 Kubernetes 환경에서는 Spring Cloud Kubernetes를 이용하고 로컬환경에서는 Netflix Eureka를 이용하는 방법을 소개합니다.... 더 읽기