IaaS(Infrastructure-as-a-service) 인터넷을 통해 최종 사용자에게 IT 인프라를 제공하는 형태의 클라우드 컴퓨팅이다. IaaS는 주로 서버리스 컴퓨팅과 관련이 있다. 📌 정의 Iaas는 고객에게 서버, 네트워크, OS, 스토리지를 가상화하여 제공하고 관리한다. IaaS는 가상화된 물리적인 자산을 UI 형태의 대시보드 또는...
Coupling이란
Coupling이란 📌 정의 서로 상호작용하는 시스템들간의 의존성. 의존성은 실질적 의존성과 인위적 의존성으로 나뉠 수 있다. 실직적 의존성 한 시스템이 소비하는 다른 시스템이 기능이나 서비스의 집합. 인위적 의존성 한 시스템이 다른 시스템이 제공하는 기능이나 서비스를 소비하기 위해 필요한 여러 요소들의 집합. 언제나 존재하지만 그 비용...
CloudFront
CloudFront 📌 정의 AWS에서 제공하는 CDN서비스이다. 엣지 로케이션을 여러 개 두고, 가장 가까운 엣지 로케이션에 접근해서 지연시간을 최소화 한다. 👍 장점 엣지 로케이션을 활용해서 사용자에게서 가장 가까운 엣지 로케이션에 접근해서 지연시간을 최소화 한다. 캐싱을 활용해서 엣지 로케이션에 있는 정보면 S3에 다시 접근하지 않는다...
IoC 컨테이너
IoC 컨테이너 📌 정의 IoC 컨테이너, 어플리케이션 콘텍스트, 스프링 컨테이너, 스프링, DI 컨테이너 등 여러 용어로 불리지만 이 글에서는 “IoC 컨테이너” 라는 용어를 사용하겠다. 또한 해당 글에서는 xml설정이 아닌 java설정 설명만 있음에 주의하자. ❓ IoC 컨테이너가 뭐야? 간단하게 Bean부터 알고 넘어가야한다. Bean은...
Docker Swarm
Docker Swarm이란? 📌 정의 도커가 공식적으로 만든 오케스트레이션 툴. 도커 컨테이너를 위한 클러스터링, 스케줄링 툴이다. 스웜을 이용해서 여러 개의 서버와 컨테이너 관리를 쉽게 할 수 있다. 또한 매니저 노드와 작업자 노드가 존재한다. 👨🎓 매니저 노드 매니저 노드는 아래의 업무를 통해 도커 클러스터를 관리한다. 매니저 노드 ...
DI란
DI(Dependency Injection)란? 📌 정의 의존성 주입이라고 말하며, 추상화를 해치지 않고 의존성을 인수로 넘겨주는 것을 말한다. 😎 예시 Spring Boot를 예시로 들자면, Service 구현체에서는 Repository와 같이 의존성을 갖는다. 하지만 해당 Service를 추상화 한 interface는 Repository가 ...
서비스 로케이터(SL)란
서비스 로케이터(SL)란? 📌 정의 애플리케이션에 필요할 수 있는 모든 서비스를 얻는 방법을 알고있는 객체를 갖는 것이다. IoC를 구현하는 DI 외 방법 중 하나. 🔗 종속성 다이어그램 실제 사용방법 class ServiceLocator{ private static ServiceLocator sInstance; publi...
핵클 쿠팡 출신 개발자의 장애 리스크 없이 배포하는 방법
쿠팡 출신 개발자의 장애 리스크 없이 배포하는 방법 배포를 두려워 하는 이유 영향도 콜백 따라서 영향도 최소화 및 쉽고 빠른 롤백을 구축해놓는게 중요하다. 기능 플래그 점진적 전달 기능 플래그 배포와 출시의 분리 데이터 측정 사례 점진적 전달(Progressive Delivery) 기능 출시를 제어 ...
Spring Bean은 상태를 가져도 되는가
Spring Bean은 상태를 가져도 되는가? 🎊 시작하기 전에.. EntryDSM에서 Entry 6.0을 작업하면서, 중간에 생겼던 오류 중 pdf 미리보기에서 다른 사용자의 사진이 보여지는 현상이 있었는데 QA를 진행하면서 원인을 찾았다. 해당 코드를 짧게 보자면 @Component class PdfConverter { pr...
List안의 값을 Validation 하는 법
List안의 값을 Validation 하는 법 🐛 문제 상황 List 안의 value를 검증해야하는 상황인데 검증을 못함. 🏴☠️ 원인 List 변수 위에 validation 어노테이션을 붙이면 그 List에 대한 것을 검증하기 때문이다. ♻ 해결법 Java 8부터 지원된 어노테이션을 타입에 사용할 수 있는점을 활용하면 된다. 예를 들어...