이 글은 유데미 강의 ‘Docker & Kubernetes : 실전 가이드’의 쿠폰을 제공받아 수강하고 작성된 글입니다. 개요 개발을 해오면서 도커라는 도구를 아주 유용하게 쓰고 있다. 도커는 공식 문서와 참고 자료들이 아주 잘 정리되어 있고, 이들을 따라하는 것만으로도 쉽게 컨테이너를 생성해 운영할 수 있다. 하지만 그만큼 도커의 목적, 동작 원리 등에 대한 이해도를 갖추는 것에 소홀해지기 쉬운 것 같다고 느껴, 좋은 강의를 제공받은 김에 본 글에서는 도커의 동작 원리와 도커가 등장한 목적에 대해 살펴보고자 한다. 도커 도커란? 도커란, 컨테이너를 생성하고 관리하기 위한 도구다. 도커를 접해봤거나 사용해본 사람이라면 위와 같은 도커의 정의와 컨테이너란 단어가 익숙할 것이다. 하지만 여기서 의미하는 컨테..
도입 서비스를 운영하다보면, 다양한 이유로 애플리케이션의 구동 시점에 단 한 번만 실행되어야 하는 로직을 정의할 필요성을 느끼게 될 수도 있다. 최초 실행 시 긴 시간을 요구하는 로직들을 사용자에게 빠르게 제공하기 위한 Warm up 과정이나, 실행 시점에 입력된 동적 환경변수를 기반으로 제어되는 로직의 관리 등이 이에 해당한다. 그렇다면, 이러한 로직들은 어떻게/어디에 정의해야 할까? 이 글에서는 그 방법을 3가지로 분류하여 소개한다. Bean 생명주기를 이용 Runner를 이용 Event를 이용 Bean 생명주기를 이용 생성자 @Slf4j @Component public class MyBean { private final RequiredBean requiredBean; @Value("${hello.w..
AWS 프리티어의 공포백엔드 개발자로 사이드 프로젝트를 해본 경험이 있다면, 프리티어를 통해 AWS 클라우드를 사용해 본 경험이 한 번쯤은 있을 것이다. AWS에서는 1년 동안 EC2, RDS, S3 등 핵심 제품에 대해 무료 제공을 지원한다. 프리 티어를 사용한다면, 큰 추가 지출 없이 가벼운 서비스를 클라우드 환경에서 운영할 수 있다.그러나 프리티어는 1년이 지난 후부터 자동으로 비용이 지불되며, 프리티어 기간 동안에도 무료가 아닌 서비스를 이용하거나 계정 또는 서버에 접근하기 위한 정보들을 탈취당하는 경우 과금이 청구될 수 있다. (AWS 과금 괴담은 많은 개발자들을 두려움에 떨게 하는 이야기이다.)과금 괴담만이 아니더라도 프리티어 기간이 종료되고 나면 지불 비용이 은근히 쎄다. EC2, RDS만을..
이 글은 유데미 강의 ‘Java 멀티스레딩, 병행성 및 성능 최적화 - 전문가 되기’ 의 쿠폰을 받아 수강하고 작성한 글입니다. 멀티스레딩? 하나의 프로세스는 하나 이상의 스레드를 가질 수 있다. 프로그램들은 때에 따라 단일 스레드로 동작하기도, 여러 스레드로 동작하기도 한다. 멀티스레딩이란, 말 그대로 하나의 프로세스가 여러 개의 스레드를 사용하도록 프로그램을 작성하는 프로그래밍 기법이다. 이번 글에서는 멀티스레딩에 대해 아래와 같은 점들을 살펴본다. 단일 스레드 프로그램의 단점 멀티스레딩의 이점 멀티스레딩을 도입할 때 유의할 점 단일 스레드와 멀티 스레드 프로세스를 카페, 스레드를 점원에 비유해 점원이 한 명인 카페와 여러 명인 카페의 운영 방식을 상상해보자. 점원이 한 명인 카페의 문제점 먼저 한 ..
핵심 로직 변경에 따른 문제 발생과 해결 문제 - 가독성 저하 현재 사내에서 운영하는 서비스에는 사용자의 요청을 받으면 엔티티를 생성해 저장하고 메시지 큐에 발행한다라는 핵심 로직이 존재한다. 이 코드는 처음에는 아주 짧았고, 가독성도 나쁘지 않았다. 그러나 기획이 추가됨에 따라 해당 코드에는 여러 부가 로직들이 추가되었다. 엔티티의 생성 후 또다른 엔티티를 생성해야 하기도 하고, 메시지 큐에 발행하기 전 엔티티에 특정 변환 작업이 추가되기도 했다. 기획이 변경됨에 따라 이러한 변경 사항은 추가되기도, 다시 제거되기도 하며 핵심 로직을 포함한 클래스에 다양한 변경을 일으켰다. 그러다보니 코드는 점점 길어지고 가독성도 나빠졌다. 수정이 잦으니 여러 사람의 작업에 의해 conflict가 발생할 때도 많아졌고..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.