-
GitLab CI/CD Pipeline 구성과 .gitlab-ci.yml
이 글은 GitLab CI/CD Pipeline 과 구성파일인 .gitlab-ci.yml 에 대해 설명합니다. GitLab CI/CD Pipeline 구성 CI/CD 파이프라인 수동 배포 설정 수동 job 실행 시 변수 설정 CI/CD 파이프라인 그룹화 파이프라인 아키텍처 파이프라인 아키텍처 - Basic 파이프라인 아키텍처 - DAG (Directed Acyclic Graph) 파이프라인 아키텍처 - Child/Parent Pipelines 효율적인 파이프라인 구성 파이프라인 스케쥴링 .gitlab-ci.yml 에 대하여 .gitlab-ci.yml job 구성 요소 전역 파라미터 stages include include:local script script: before_script, after_script script: Multi-line commands stage extends rules needs...
-
Key value 자료구조
시작하며 Key value 구조의 장점은 명확하다. 개발적으로는 데이터 집합 내의 요소들을 key 로 구분하여 알아보기 쉽게 해주며, 자료구조적으로는 O(1)에 가까운 접근 시간을 가진다. 즉 알아보기도 쉽고 사용하기도 쉬우면서 심지어 매우 빠르다. 이렇게 만능인 자료구조이지만 그 댓가로 메모리 사용량이 높다. 자바의 HashTable, HashMap, C#의 Dictionary, 자바스크립트의 Object 등등 거의 대부분의 언어들은 어떤 식으로든 Key value 자료구조를 제공하고 있으며 사용하기도 매우 쉽다. 이번 포스팅에서는 이 Key value 자료구조의 작동 원리를 간단하게나마 이야기 해보도록 한다. 메모리는 1차원 배열...
-
Domain Driven Design
Domain Driven Design MSA 설계에 관해서 알아보다보면, DDD(Domain Driven Design)가 많이 거론 되곤 합니다. 직역하면 도메인 주도 설계 라고하는데, 도메인?? 도메인 DDD에서의 도메인은 개발자 입장에서 보자면 ‘개발해야 하는 것’ 이라고 보는 편이 편합니다. 예를 들어 상품을 등록하고, 결재하고, 배송하는 쇼핑몰을 개발해야 한다고 할 때 예시에서는 쇼핑몰이 도메인이라고 지칭할 수 있을 것입니다. 그리고 도메인에는 하위 도메인 개념도 존재하며, 예시에서는 등록, 결재, 배송 등도 하위 도메인 개념으로 볼 수 있습니다. 도메인 모델 도출 도메인을 모델링 하기 위해서는...
-
도메인 주도 설계
도메인? 소프트웨어로 해결하고자 하는 문제영역 도메인은 하위 도메인으로 나눌 수 있음 예: 도메인 = 쇼핑몰 하위 도메인 = 회원, 주문, 결재, 배송, 정산 등등 도메인 모델 패턴 ####아키텍처 구성 계층 설명 표현(UI) 사용자의 요청을 처리 및 정보 제공 여기서 사용자는 유저뿐만 아니라 외부 시스템도 의미함 응용(Application) 사용자가 요청한 기능을 실행 도메인 계층을 조합해서 기능을 실행 도메인 시스템이 제공할 도메인 규칙을 구현 인프라스트럭처(Infrastructure) DB 나 메세징 같은 외부 시스템과의 연동 처리 도메인 계층에서 주괸 도직이 구현됨...
-
배터리 급속 충전
개요 기술이 발달하면서 전자기기의 소모 전력이 늘고 배터리의 용량이 증가 함에 따라 각종 급속 충전 기술들이 개발되고 있다. 급속 충전의 한가지 방법으로 높은 전압을 사용하여 USB 케이블의 저항 및 단자간 연결 부분의 접촉저항 등에 의한 전력손실을 줄이는 것이다. (예를 들어 저항이 0.1Ω 인 경우 20V 3A 로 공급하면 0.9w 의 전력이 열로 손실되지만, 5V 12A로 공급하면 14.4W 가 소모된다.) 또한 급속 충전은 빠른 시간 내에 최대 전압에 이르게 되는데 이후에는 공급할 수 있는 전류랑이 줄어들기...