Yearly Archives: 2020

문서 작성시 멋진 다이어그램을 쉽게 그리는 방법(Lucid Chart/Draw.io)

발표 자료를 만들거나 보고서 등의 문서를 작성할 때 도형을 사용하여 다양한 다이어그램을 그려야 하는 경우가 종종 발생합니다. 문서의 완성도나 퀄리티를 높이고 보는이로 하여금 이해를...

2020년 12월 WordPress 운영 회고 그리고 Google Adsense 수익 결산

코로나 19라는 강력한 이슈로 인해 뭐 한 거 없이 훌쩍 지나가버린 2020년도 이제 1주일밖에 남지 않았다. 아쉬운 한 해였지만 2020년을 정리하고 돌아보는 시간을 ...

ArgoCD를 이용하여 kubernetes cluster에 배포하기(GitOps)

이번 장에서는 Docker Container Repository에 업로드된 Docker Image를 ArgoCD를 이용하여 k8s(kubernetes) cluster에 배포하는 방법에 대하여 알아보겠습니다. 이전 장의 실습을 통해 k8s cluster 구성요소들을 관리하고 배포하기...

aws lambda 개발하기(9) – Lambda Layer 이용하여 배포 사이즈 줄이기

aws lambda 함수는 대부분 한 가지의 목적을 달성한 다음 종료되는 함수입니다. 일반적인 서버처럼 여러 가지 요구조건을 수용하지 않기 때문에 lambda 함수는 계속 개수가 늘어나게 됩니다. 여기서 문제는 lambda 함수를 배포할 때 함수에서 필요로 하는 모듈들이 전부 압축되어 업로드된다는 점입니다. 이로 인해 개발한 소스파일 용량은 얼마 안되는데도 불구하고 배포 된 람다 용량을 보면 수 megabyte에서 수십 megabyte 인 것을 확인할 수 있습니다. 업로드 용량이 늘어난다는 것은 용량 낭비가 발생한다는 것도 있지만...

Kafka Producer/Consumer (spring-kafka, spring-cloud-starter-stream-kafka)

Springboot 프로젝트에서 kafka를 사용하여 Producer, Consumer 구현 시 라이브러리에 따라 구현하는 방식이 상이하여 관련 내용을 정리하고자 포스팅을 하게 되었습니다. 자주 사용하는 라이브러리로는 spring-kafka, spring-cloud-starter-stream-kafka...

Database Migration by Transactional Outbox Pattern

이전 실습까지는 데이터 마이그레이션을 위해 Database에서 제공하는 binlog나 DynamoDB/MongoDB에서 제공하는 Change Stream을 통해 변경 데이터를 처리할 수 있었습니다. 하지만 이렇게 시스템적으로 지원을 받지 못하는...

Amazon DocumentDB(MongoDB) Stream

DocumentDB는 AWS에서 제공하는 MongoDB 호환 완전관리형 Nosql 데이터베이스입니다. MongoDB와 완전히 호환되며 JSON 데이터를 쉽게 저장하고 쿼리 및 인덱싱 할 수 있는 document 기반 database...

Spring Cloud GCP Pub/Sub Starter를 사용한 연동 실습

이번 실습에서는 Spring Cloud GCP Pub/Sub Starter 모듈을 이용하여 Spring application에서 PubSub를 연동하는 방법에 대해 실습하겠습니다. 시작하기 전에 GCP PubSub를 로컬에서 접근해 사용하려면 사전 작업이...

Amazon DynamoDB Stream

DynamoDB는 어떤 규모에서도 10 millisecond 미만의 성능을 제공하는 AWS에서 제공하는 완전 관리형 Nosql 데이터베이스 입니다. 실습에서는 dynamoDB 가 제공하는 Stream에 대하여 알아보겠습니다. dynamoDB stream을...

Google Cloud Platform – GCP PubSub

GCP Pubsub Google Cloud에서 제공하는 GCP PubSub는 데이터를 수집하고 배포하는 스트리밍 분석 및 데이터 통합 파이프라인에 사용되는 서비스입니다. 메시징 중심 애플리케이션 또는 태스크 병렬화를 위한...

AuroraDB Migration – Using Kafka as a target for Database Migration Service

AuroraDB(mysql)의 binary log(binlog)를 이용하면 database의 변경사항을 다른 시스템으로 쉽게 이관할 수 있습니다. binlog란 mysql에서 제공하는 데이터의 변경 event를 저장하는 로그 파일을 의미합니다. 데이터에 대한...

AWS App Mesh

AWS App Mesh AWS App Mesh는 애플리케이션 수준의 네트워킹을 통해 서비스가 여러 유형의 컴퓨팅 인프라에서 서로 원활하게 통신할 수 있게 지원하는 서비스입니다. App Mesh는 서비스의...

Istio Service Mesh

Istio Istio는 서비스 메시 분야에서 오랫동안 주요 역할을 해온 Opensource Solution으로서 기존 분산 애플리케이션 계층에 투명성을 제공하는 완전한 오픈 소스 서비스 메시입니다. Istio를 사용하면 서비스에...

서비스 메시(Service Mesh)

서비스 메시(Service Mesh)란? 서비스 메시는 서비스 간의 통신을 제어하고 표시하고 관리할 수 있도록 하는 데 특화된 마이크로 서비스를 위한 인프라 계층입니다. 기존의 서비스 아키텍처에서의 호출이...

Google Cloud CLI (gcloud cli) 설치 및 사용

Google Cloud CLI Google Cloud CLI는 Google Cloud 리소스를 만들고 관리하기 위한 도구 모음입니다. 이러한 도구를 사용하면 명령줄에서 또는 스크립트 및 기타 자동화를 통해 많은...

Relational algebra – SQL Interpreter by Antlr

ANTLR Antlr( ANother Tool for Language Recognition : 언어 인식을 위한 또 다른 도구?)은 구조화된 텍스트 또는 이진 파일을 읽고, 처리하고, 실행하거나 번역하기 위한 강력한...

Public Cloud 서비스 비교 – Google Cloud, AWS, Azure

Google Cloud, AWS, Azure 아래 표는 일반적으로 사용 가능한 Google Cloud 서비스를 나열하고 이를 Amazon Web Services(AWS) 및 Microsoft Azure의 유사한 제품과 비교합니다. 용도Google Cloud PlatformAWSAzureCI/CDCloud...

Relational algebra – 관계대수

Relational Algebra(관계대수) IBM의 에드가 F. Codd에 의해 처음 만들어진 관계형 대수학은 관계형 데이터베이스에 저장된 데이터를 모델링하고 쿼리를 정의하는 데 사용되는 수학적인 기호들로부터 만들어진 프로그래밍 언어의...

aws lambda 개발하기(8) – Asynchronous Tasks by SQS(Simple Queue Service)

이번 시간에는 AWS SQS와 Lambda 함수를 이용하여 작업을 비동기로 처리하는 방법에 대해 실습해 보겠습니다. SQS란 AWS에서 제공하는 Simple Queue Service의 약자입니다. Queue(메시지 대기열)는 아래...

Spring Boot – Intellij Gradle Multi module

이번 시간에는 Spring 프로젝트를 모듈로 변경하는 방법에 대하여 실습하겠습니다. 모듈이란 기능상 성격이 비슷하고 연관성 있는 부분들의 집합을 말합니다. 대부분의 프로그램은 작고 단순한 것에서 시작해서...

Most Read