All Categories

algorithms (1)
architectures (8)
development (7)
system-operations (6)

Binary search로 삽입 위치 찾기 - 그림으로 쉽게 이해하기

정렬된 배열에서 특정 숫자를 찾는 "찾기 문제" 또는 특정 숫자가 들어갈 위치를 찾는 "삽입 문제"가 주어진다면, 일단 binary search부터 생각해보는 것이 좋다. 찾기 문제는 원하는 숫자가 나올 때까지 찾으면 되기 때문에 직관적으로 이해하기 쉽다. 반면, 삽입 문제는 배열에 없는 숫자의 위치를 찾아야 할 수도 있기 때문에 헷갈리는 편이다. 시각적으로 원리를 쉽게 이해해보자.

Domain model에서 repository를 직접 사용해도 될까? - 도메인 모델의 영속성 무지

Repository는 인프라적인 요소에 가깝다고 할 수 있다. 그런데, 이 repository를 도메인 모델에서 직접 사용해도 괜찮을까? DDD와 관련된 여러 참고 문서들에서는 이에 대해 통일되지 않은 견해를 보이고 있다. 이 글을 통해 여러 견해들을 한꺼번에 모아서 생각해보자.

Aggregate의 문제점과 바람직한 설계 방법 - DDD aggregate diet

DDD의 aggregate는 일관성 관리를 위해 매우 중요한 개념이지만, 덩치가 커질수록 성능과 확장성 측면에서 문제가 발생하게 된다. Composition 기반 aggregate의 문제점에 대해 자세히 살펴보고, 효율적인 aggregate를 설계하기 위한 방법들을 알아보자.

Aggregate란 무엇인가 도대체! - DDD aggregate의 기초 쉽게 이해하기

DDD에서는 aggregate라는 용어가 자주 등장한다. DDD의 다양한 개념들을 이해하기 위해서는 aggregate에 대한 이해가 선행되어야 하는데, 보통 DDD 자료들에서는 aggregate에 대한 설명이 중후반부에 등장한다. DDD 초보자도 쉽게 이해할 수 있도록 aggregate를 겉핥기해보자.

... and 5 more posts

Python으로 kubernetes 환경에 app 배포하기 - Kubernetes deployment with python

Kubectl 명령어를 통해 kubernetes 환경에 다양한 구성요소들을 배포할 수 있지만, python으로 템플릿 코드를 짜두면 개발자들도 편리하게 배포를 자동화할 수 있다. Jinja2와 kubernetes 패키지를 통해 사용자 요청에 따라 kubernetes 환경에 pod들을 띄우는 기능을 만들어보자.

자가 위임, 자가 캡슐화 - DDD에서 생성자를 정의하는 방법

DDD에서는 생성자를 정의할 때 자가 위임(self-delegation)과 자가 캡슐화(self-encapsulation)를 사용할 것을 권장한다. 이 두 가지 개념을 통해 어떻게 생성자를 정의해야 하는지 알아보자.

FastAPI에서 사용자가 연결을 끊으면 어떻게 될까? - Middleware disconnection check 문제

FastAPI에서 middleware를 사용하면 클라이언트가 연결을 끊었다는 사실을 알 수 없게 된다. 사용자의 disconnection이 요청 취소를 의미하는 경우, 이는 여러가지 문제로 이어질 수 있다. 연결이 끊겼다는 것을 어떻게 감지해야 할까?

... and 4 more posts

Certbot과 docker로 카페24 사이트에 무료 HTTPS 적용하기 - 무료 SSL 인증서 설치 방법

Let's Encrypt를 사용하면 명령어 몇 줄로 무료 SSL 인증서를 쉽게 받을 수 있다. 게다가 ZeroSSL과 달리 무료 인증서 최대 개수 제한도 없다. ZeroSSL 대신 사용할 수 있는 초간단 카페24 무료 SSL 인증서 설치 방법에 대해 알아보자.

ZeroSSL로 카페24 사이트에 무료 HTTPS 적용하기 - 무료 SSL 인증서 설치 방법

웹 사이트에 HTTPS를 적용하려면 SSL 인증서를 설정해주어야 한다. 카페24는 UI를 통해 외부 인증서를 FTP, SSH 등의 복잡한 과정 없이 설정할 수 있는 기능을 제공한다. ZeroSSL 이메일 인증을 통해 카페24에서 호스팅하는 사이트에 무료 인증서를 쉽게 적용하는 방법을 알아보자.

Git-sync로 kubernetes 환경에 앱 배포 자동화하기 - 초간단 CI/CD 구축

Git-sync를 사용하면 github에 코드를 올릴 때마다 자동으로 앱이 업데이트되도록 만들 수 있다. 코드를 수정할 때마다 직접 배포하지 말고, git-sync를 통해 kubernetes 환경에 간단하게 CI/CD 환경을 구성해보자.

... and 3 more posts