
iterator 패턴 자료구조 (list, tree, stack..)를 노출하지 않고 추상화시켜서 collection의 요소를 traverse하는 패턴. 메인 아이디어 collection의 traverse behavior를 iterator라는 분리된 객체로 뽑아내기 iterator 객체에 traverse 알고리즘을 구현해두고, 외부에서는 그 디테일을 알 수 없도록 은닉한다. 여러 iterator를 사용하면, 같은 collection을 동시에 독립적으로 탐색할 수도 있다. 모든 iterator는 같은 인터페이스를 구현해서, client code가 어떤 자료구조의 collection이든, 어떤 traverse 알고리즘이든 호환 가능하게 만들어져야 한다. 보통 더이상 element가 없을 때까지 (traver..

elasticsearch cloud에서 데모 연습 (14일 free trial) 1. 무료 cluster deploy 배포한 cluster edit 버튼 누르고 data tier 추가해준다. (rollover 테스트 해야하므로 이미 설정된 hot 외에도 warm, cold 티어 추가. 데모 테스트하는 시점에 frozen 티어는 추가하려면 과금됨.) (참고) 데이터 티어란? A data tier is a collection of nodes with the same data role that typically share the same hardware profile 이렇게 수정했다.. hot 인스턴스 : 2개 warm 인스턴스 : 2개 cold 인스턴스 : 1개 빠른 테스트를 위해 클러스터의 poll_int..

DIY devops 따라하기 시리즈! 훌륭한 유튜브 채널들과 (techworld with nana, That Devops Guy) 가끔 책을 참고해서 만들어 볼 것이다. 목표는 - 회의시간에 하는 인프라 얘기 알아들을 수 있을 정도가 되기 - 간단한 인프라 관련 업무가 주어졌을 때 어디를 더 공부하면 되는지 아는 수준 되기 - 그리고 나중에 오랜만에 다시 봤을때도 금방 파악할 수 있게 최대한 쉽고 간결하게 정리하기! (추가중) k8s tutorial (추가예정) docker tutorial aws 웨비나 정리

🌻 Abstract Factory 📝 한 줄 정리 Factory에서 생성 하는 것 : product => product family 로 확장 🤔 해결할 문제 상황 가구샵 시뮬레이터를 만들고 있는 상황을 가정해보자. 다음과 같은 것을 표현할 클래스들이 필요하다. 1. 연관된 가구 품목의 패밀리 : 의자 + 쇼파 + 커피 테이블 2. 해당 패밀리의 여러 variant : 모던 스타일 / 빅토리안 스타일 / 아르데코 스타일 같은 스타일에 매칭되는 개별 가구 객체를 생성할 수 있어야 한다. 그리고 프로그램에 새로운 상품이나 제품군을 추가하려고 할 때 기존 코드를 수정하고 싶지 않다. 🧐 해결 방법 각 제품군에 대한 인터페이스를 명시적으로 선언한다음 각 (스타일의)제품이 해당 인터페이스를 구현하도록 만든다. 그 ..

파이썬 비동기 프로그램을 위한 문법은 어떻게 될까? 아래에 잘 정리된 문서가 있었다. 한번 알아보자 🐲 speed up your python program with concurrency python concurrency method : threading vs asyncio vs multiprocessing thread, task, process 세가지 모두 => sequence of instructions that run in order high level에서 본다면 세가지 모두 다음과 같은 공통점이 있음 : cpu에서 실행하고, 중간 상태를 저장하고 멈췄다가 나중에 그 지점부터 다시 실행할 수 있는 instruction+메타 데이터 묶음(?)이라는 것. 그렇지만 multiprocessing만 진짜로 시..

🌻 ⬇️ https://refactoring.guru/design-patterns/factory-method Factory Method / Design Patterns / Creational Patterns Factory Method Also known as: Virtual Constructor Intent Factory Method is a creational design pattern that provides an interface for creating objects in a superclass, but allows subclasses to alter the type of objec refactoring.guru 📝 한 줄 정리 A.k.a. Virtual Constructor Factory 인터페이..

🦄위키피디아 설명에 따르면 class-based 언어 => 클래스가 먼저 정의되어 있고, 객체는 클래스를 기반으로 인스턴스화 되어 생성된다. 만약 두 객체 "사과", "오렌지"가 과일 클래스의 인스턴스라면 이 둘은 본질적으로 과일이고, 같은 방식으로 핸들링할 수 있음을 보장한다. (개발자는 color, sugar_content, is_ripe 같은 동일한 attribute를 가지고 있음을 예상할 수 있다) prototype-based 언어 => 객체가 primary entity 이다. 클래스는 존재하지 않음 (그래도 자바스크립트 es6에 클래스 키워드는 있음. 내부적으로 class-based 언어의 클래스와 완전 동일하게 동작한다고 말할 수는 없지만) 어떤 객체의 프로토타입은 해당 객체가 연결되어 있는 ..

🐶prototype Prototype / Design Patterns / Creational Patterns Prototype Also known as: Clone Intent Prototype is a creational design pattern that lets you copy existing objects without making your code dependent on their classes. Problem Say you have an object, and you want to refactoring.guru 📝한 줄 정리 클라이언트 코드에서는 클래스를 신경 쓸 필요 없이 객체에 내장된 clone 인스턴스 메소드를 호출하여 해당 객체를 손쉽게 클론한다. clone 메소드 동작 방식 : 자기 클..