본문 바로가기
반응형

전체 글242

[katakoda] Launch A Single Node Cluster 단일 노드 클러스터 실행하기 Minikube는 Kubernetes를 로컬에서 쉽게 실행할 수 있는 도구입니다. Minikube는 Kubernetes를 사용해 보거나 일상적으로 개발하려는 사용자를 위해 노트북의 VM 내에서 단일 노드 Kubernetes 클러스터를 실행합니다. 1 Minikube 시작하기 버전 확인하기 minikube version 클러스터 실행하기 minikube start --wait=false 2 클러스터 정보 클러스터 상태에 대한 세부 정보 확인하기 kubectl cluster-info 클러스터의 노드 확인하기 kubectl get nodes 3 컨테이너 배포 컨테이너를 클러스터에 배포하기 kubectl create deployment first-deployment --image=katacoda/docker-h.. 2022. 3. 21.
[클린아키텍처] 34장 빠져있는 장 아키텍처 관점에서 볼 때 데이터베이스는 엔티티가 아니다 데이터베이스는 세부사항이라서 아키텍처 구석요소 수준으로 끌어올릴 수 없다. 데이터베이스는 데이터에 접근할 방법을 제공하는 유틸리티다. 관계형 데이터베이스 데이터 접근 및 관리 시스템 1) 파일 시스템 - 문서 전체를 자연스럽고 편리하게 저장하는 방법을 제공한다. 2) 관계형 데이터베이스 관리 시스템 RDBMS - 내용을 기반으로 레코드를 자연스럽고 편리하게 찾는 방법을 제공한다. 2022. 3. 21.
[클린아키텍처] 30장 ~ 32장 데이터베이스, 웹, 프레임워크는 세부사항이다, 33장 사례 연구 아키텍처 관점에서 볼 때 데이터베이스는 엔티티가 아니다 데이터베이스는 세부사항이라서 아키텍처 구석요소 수준으로 끌어올릴 수 없다. 데이터베이스는 데이터에 접근할 방법을 제공하는 유틸리티다. 관계형 데이터베이스 데이터 접근 및 관리 시스템 1) 파일 시스템 - 문서 전체를 자연스럽고 편리하게 저장하는 방법을 제공한다. 2) 관계형 데이터베이스 관리 시스템 RDBMS - 내용을 기반으로 레코드를 자연스럽고 편리하게 찾는 방법을 제공한다. 33장 사례 연구 : 비디오 판매 제품 개인과 기업에게 비디오를 웹을 통해 판매한다. 유스케이스 분석 단일 책임 원칙에 따르면 이들 네 액터가 시스템이 변경되어야 할 네 가지 주요 원인이다. 신규 기능을 추가하거나 기존 기능을 변경해야 한다면, 그 이유는 반드시 이들 액터 .. 2022. 3. 20.
[클린아키텍처] 29장 클린 임베디드 아키텍처 소프트웨어를 구축하는 활동 1) 먼저 동작하게 만들어라 -> 소프트웨어가 동작하지 않는다면 사업은 망한다. 2) 그리고 올바르게 만들어라 -> 코드를 리팩터링해서 당신을 포함한 나머지 사람들이 이해할 수 있게 만들고 요구가 변경되거나 요구를 더 잘 이해하게 되었을 때 코드를 개선할 수 있게 만들어라 3) 그리고 빠르게 만들어라 -> 코드를 리팩터링해서 요구되는 성능을 만족시켜라 앱-티튜드 테스트 App-titude test 앱이 동작하도록 만드는 것 -> 프로그래밍에는 단순히 앱을 동작하도록 만드는 것보다 중요한 것이 많다. 타깃-하드웨어 병목현상 target-hardware bottleneck - 임베디드가 지닌 특수한 문제: 임베디드 코드가 클린 아키텍처 원칙과 실천법을 따르지 않고 작성된다면, 테스.. 2022. 3. 19.
[클린아키텍처] 28장 테스트 경계 인수 테스트, 기능 테스트, Cucumber 테스트, TDD 테스트, BDD 테스트, 컴포넌트 테스트 등등 테스트 종류가 많다. But 아키텍처 관점에서의 테스트는 모두 동일하다. 시스템 컴포넌트인 테스트 테스트는 의존성 규칙을 따른다. 테스트는 독립적으로 배포 가능하다. - 테스트는 테스트 시스템에만 배포하며 상용 시스템에는 배포하지 않는다. 테스트는 시스템 컴포넌트 중에서 가장 고립되어 있다. - 테스트의 역할은 운영이아니라 개발을 지원한다. 깨지기 쉬운 테스트 문제 Fragile Tests Problem 시스템에 강하게 결합된 테스트라면 시스템이 변경될 때 함께 변경되어야 한다. 시스템의 공통 컴포넌트가 변경되면 수천개의 테스트가 망가진다. -> 테스트를 고려해서 설계해야 한다. -> 시스템과 테스.. 2022. 3. 19.
[클린아키텍처] 26장 메인 컴포넌트, 27장 크고 작은 모든 서비스들 메인 Main 컴포넌트 : 시스템에서 나머지 컴포넌트를 생성하고, 조정하며 관리한다. 가장 낮은 수준의 정책 시스템의 초기 진입점 의존성 주입 프레임워크를 이용해 의존성을 주입한다. 입력 스트림 생성 부분, 게임의 메인 루프 처리, 간단한 입력 명령어 해석 등 처리, 명령어를 실제로 처리하는일은 다른 고수준 컴포넌트로 위임한다. 애플리케이션의 플러그인 (초기 조건과 설정을 구성하고, 외부 자원을 모두 수집한 후 제어권을 애플리케이션의 고수준 정책으로 넘기는 플러그인) 메인 컴포넌트를 둘 이상으로 만들 수 있다. ex) 개발용 메인 플러그인, 테스트용 메인 플러그인, 상용 메인 플러그인, 국가별 메인 플러그인, 영역별 메인 플러그인, 고객별 메인 플러그인 서비스 지향 아키텍처, 마이크로서비스 아키텍처가 인.. 2022. 3. 16.
[katakoda] 쿠버네티스 온라인 실습하기 Learn Kubernetes using Interactive Browser-Based Scenarios 브라우저 환경에서 쿠버네티스를 실습해볼 수 있는 유용한 사이트다! Learn Kubernetes using Interactive Browser-Based Labs | Katacoda This set of hands-on labs covers the foundations of Kubernetes. Learn Launch A Single Node Cluster, Launch a multi-node cluster using Kubeadm, Deploy Containers Using Kubectl, Deploy Containers Using YAML, Deploy Guestbook Web App Exampl.. 2022. 3. 16.
[클린아키텍처] 23장 프레젠터와 험블 객체, 24장 부분적 경계, 25장 계층과 경계 험블 객체 패턴 Humble Object : 테스트하기 어려운 행위와 테스트하기 쉬운 행위를 단위 테스트 작성자가 분리하기 쉽게 하는 방법으로 고안된 디자인 패턴 행위들을 두개의 모듈 또는 클래스로 나눈다. 이 모듈 중 하나가 험블이다. 가장 기본적인 본질을 남기고 테스트하기 어려운 행위를 모두 험블 객체로 옮긴다. ex) GUI의 경우 화면에 각 요소가 필요한 위치에 적절히 표시되었는지 검사하는 테스트는 작성하기가 어렵다. 하지만 GUI에서 수행하는 행위의 대다수는 쉽게 테스트 가능하다. -> 험블 객체 패턴을 사용하여 프레젠터와 뷰라는 서로 다른 클래스로 만들 수 있다. humble 1. 겸손한 2. (예의상 자기를 낮추는 표현에서) 변변치 않은, 1. 겸손한 2. 변변찮은, 작은, 겸손한 행위를 테.. 2022. 3. 13.
[클린아키텍처] 21장 소리치는 아키텍처, 22장 클린 아키텍처 좋은 아키텍처는 유스케이스를 중심으로 만든다. 프레임워크, 데이터베이스, 웹서버 등의 개발환경을 중심으로 만들면 안된다. -> 프레임워크는 도구일뿐이다. 웹 또한 전달 메커니즘(입출력 장치)이며, 시스템 아키텍처에는 영향을 주지 않는다. -> 아키텍처 수정 없이도 시스템을 웹, 앱, 콘솔앱 등 전달할 수 있어야 한다. 프레임워크, 웹서버, 데이터베이스 없이도 유스케이스 전부에 대해 단위 테스트가 가능해야한다. -> 유스케이스 객체가 엔티티 객체(데이터베이스나 프레임워크 아닌 간단한 객체)를 조작해야 한다. 지난 수십년 간 시스템 아키텍처와 관련된 여러 아이디어가 있다. 육각형 아키텍처 Hexagonal Archiecture DCI (Data Context and Interaction) BCE (Bound.. 2022. 3. 12.
728x90
반응형