스터디64 [쿠버네티스/도커] 2022.06.22 ~ 2022.07.20 세번째 스터디 회고록 [쿠버네티스/도커] 2022.06.22 ~ 2022.07.20 세번째 스터디 회고록 미친듯이 달렸던 세번째 스터디 쿠버네티스/도커 회고록. 두번째 스터디인 네트워크 스터디가 끝날즈음에 네트워크 스터디원 중 한분이 쿠버네티스/도커 스터디를 만들건데 관심있냐고 물어보셨다. 이제 도커는 너무나도 보편적인 기술이 된 것 같고 쿠버네티스 또한 알고 있어야 할것 같다고 생각이 들어 조인하게 되었다. http://www.yes24.com/Product/Goods/102099414 컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 - YES24 실무에 바로 적용할 수 있는 컨테이너 인프라 환경 기술!IT 자원을 효율적으로 빠르게 사용할 수 있는 방법으로 컨테이너 환경이 거론되었으나 그동안 관리가 어렵고 복잡해서 상용되.. 2022. 7. 25. [헤드퍼스트 디자인패턴] 08. 템플릿 메소드 패턴(Template method) [헤드퍼스트 디자인패턴] 08. 템플릿 메소드 패턴(Template method) 1. 템플릿 메소드란? 알고리즘을 일련의 단계로 정의한다. 템플릿 메소드를 사용하면 알고리즘의 일부 단계를 서브클래스에서 구현할 수 있으며, 알고리즘의 구조는 그대로 유지하면서 알고리즘의 특정 단계를 서브클래스에서 재정의할 수도 있다. public abstract class CaffeineBeverage { // prepareRecipe()은 템플릿 메소드 // override를 방지하기 위해 final로 선언 final void preparedRecipe() { boilWater(); brew(); pourInCup(); addCondiments(); } abstract void brew(); abstract void a.. 2022. 7. 24. [도메인 주도 개발 시작하기] 07. 이벤트와 CQRS [도메인 주도 개발 시작하기] 07. 이벤트와 CQRS 1. 이벤트 1.1 시스템 간 강결합 문제 쇼핑몰에서 구매를 취소하면 환불 처리를 해야하는데, 이 때 환불 기능을 실행하는 주체는 주문 도메인 엔티티가 될 수 있다. 도메인 객체에서 환불 기능을 실행하려면 환불 기능을 제공하는 도메인 서비스를 파라미터로 받아 실행 할 수 있다. 또는 응용 서비스에서 실행할 수도 있는데, 보통 결제 시스템은 외부에 존재하므로 응용서비스는 외부에 있는 결제 시스템이 제공하는 환불 서비스를 호출한다. 이 때 두가지 문제가 발생할 수 있다. 첫번째로 외부 서비스가 정상이 아닐 경우 트랜잭션 처리에 대한 부분이다. 익셉션이 발생하면 트랜잭션을 롤백 해야 할까? 아니면 일단 커밋해야 할까? 두번째 문제는 성능에 관한 것이다. .. 2022. 7. 23. [쿠버네티스 / 도커] 06. 쿠버네티스 모니터링 방법, 프로메테우스와 그라파나 [쿠버네티스 / 도커] 06. 쿠버네티스 모니터링 방법, 프로메테우스와 그라파나 1. 컨테이너 인프라 환경 모니터링하기 거의 모든 모니터링 도구는 수집 -> 통합 -> 시각화 구조로 되어있다. 컨테이너 인프라 환경에서는 모니터링 데이터를 프로메테우스로 수집하고 수집한 정보를 한곳에 모아(통합), 그라파나로 시각화 할 수 있다. 1.1 모니터링 도구 선택하기 프로메테우스와 그라파나는 오픈 소스 도구이다. 오픈 소스는 가능한 단일 도구에서 단일 기능만을 구현한다. 데이터 수집과 통합, 시각화는 서로 다른 영역이므로 이를 함께 구현하지 않으려는 경향이 있다. 물론 서비스형 모니터링 도구는 사용자의 편의를 위해 이러한 기능을 모아서 한꺼번에 제공한다. 오픈소스는 왜 하나의 도구로 처리하지 않고 혼합 구조를 사용.. 2022. 7. 20. [헤드퍼스트 디자인패턴] 07. 어댑터 패턴(Adapter Pattern)과 퍼사드 패턴(Facade Pattern) [헤드퍼스트 디자인패턴] 07. 어댑터 패턴(Adapter Pattern)과 퍼사드 패턴(Facade Pattern) 1. 어댑터 패턴 1.1 어댑터 패턴이란? 특정 클래스 인터페이스를 클라이언트에서 요구하는 다른 인터페이스로 변환한다. 인터페이스가 호환되지 않아 같이 쓸 수 없었던 클래스를 사용할 수 있게 도와준다. 어떤 소프트웨어 시스템에서 새로운 업체에서 제공한 인터페이스가 기존에 사용하던 인터페이스와 다를 때, 어댑터를 사용해 문제를 해결할 수 있다. 1.2 어댑터 사용 방법 알아보기 오리 인터페이스와 구현 클래스를 작성한다. public interface Duck { public void quack(); public void fly(); } public class MallardDuck imple.. 2022. 7. 17. [도메인 주도 개발 시작하기] 06. 도메인 서비스 & 도메인 모델과 바운디드 컨텍스트 [도메인 주도 개발 시작하기] 06. 도메인 서비스 & 도메인 모델과 바운디드 컨텍스트 1. 여러 애그리거트가 필요한 기능 도메인 영역의 코드를 작성하다 보면 한 애그리거트로 기능을 구현할 수 없을 때가 있다. 대표적인 예가 결제 금액 계산 로직인데, 실제 결제 금액을 계산할 때는 다음과 같은 내용이 필요하다. 상품 애그리거트: 구매하는 상품의 가격이 필요하다. 또한 상품에 따라 배송비가 추가되기도 한다. 주문 애그리거트 : 상품별로 구매 개수가 필요하다. 할인 쿠폰 애그리거트: 쿠폰 별로 지정한 할인 금액이나 비율에 따라 주문 총 금액을 할인한다. 회원 애그리거트: 회원 등급에 따라 추가 할인이 가능하다. 이 상황에서 생각해 볼 수 있는 방법은 주문 애그리거트가 필요한 데이터를 모두 가지도록 한 뒤 할.. 2022. 7. 16. 이전 1 ··· 5 6 7 8 9 10 11 다음 728x90 반응형