귀찮은 개발자의 이중생활
close
프로필 사진

귀찮은 개발자의 이중생활

github: @aihoshistar

  • 분류 전체보기 (124)
    • Algorithm (3)
      • 백준 코딩테스트 (0)
      • 알고리즘 응용 (3)
    • Computer Science (18)
      • Data structure (0)
      • Network (0)
      • System Software (0)
      • Server (2)
      • 클라우드 (15)
    • DevOps (14)
      • 도커 (Docker) (8)
      • 모니터링 (6)
    • Programming (28)
      • 플러터 (Flutter) (2)
      • $_머니 (PHP) (16)
      • 스프링 부트(Spring Boot) (9)
      • 노드 (NodeJS) (0)
      • .NET (1)
    • Database (1)
      • RDBMS (10)
      • NoSQL (5)
      • 메시징 시스템 (messaging system) (2)
      • 검색 엔진(Search engine) (2)
    • 실무 경험 (12)
      • 실무 개발 & 협업 (7)
      • 개발 도구 & API 테스트 (2)
      • 기술 트렌드 & 리뷰 (2)
    • 사이드 프로젝트 (3)
    • 도서 (5)
      • 불친절한 SQL 프로그래밍 (2)
    • 마인드셋 (0)
      • 오늘의 온도 (0)
      • 마인드 리셋 (0)
      • 성장 로그 (0)
    • 임시보관 (13)
      • 에러모음 (1)
      • 실무 이슈 (6)
      • 로그인 서비스 (4)
  • 홈
  • 태그
  • Github
  • Resume
[Docker] - 006. Docker Swarm 이란

[Docker] - 006. Docker Swarm 이란

Docker Swarm 이란도커에서 만든 컨테이너 오케스트레이션 툴이다. 컨테이너 오케스트레이션이란 여러 호스트의 컨테이너 배포, 관리, 네트워킹, 확장 제어를 자동화하는 것을 의미한다. 비슷한 예로는 AWS ECS, K8S, Apache Mesos 등이 있다.   Docker Swarm 을 사용하는 이유 도커는 기본적으로 단일 호스트에서 동작한다.하지만 단일 호스트로 구성된 환경은 확장성(Scalability)과 가용성(Availabilty), 장애 허용성(Fault Tolerance) 측면에서 많은 한계점을 가지기에 단일 호스트에서 운영을 하다 보면 문제가 발생할 수 있다.  이 문제를 해결하기 위해, 서버의 스팩을 더 높여 수직 확장을 하거나, 여러개의 컨테이너를 올려 수평 확장하는 방법이 있으며,..

  • format_list_bulleted DevOps/도커 (Docker)
  • · 2024. 5. 6.
[Docker] - 005. Docker Compose 활용하기

[Docker] - 005. Docker Compose 활용하기

Docker Run 을 사용하여 Container 실행이 가능하다.예를 들어   docker run -it ubuntu bash  을 아래와 같이  docker-compose.yml  으로 작성할 수 있다. version: '3.8'services: ubuntu: image: ubuntu Docker Compose 가 없다면, Make 파일을 사용하여 Docker run CLI 을 코드로 기록할 수 있지만, Docker Compose 을 통해 network, option 등을 쉽게 관리할 수 있다.  그렇다면 Docker Compose 는 무엇인가?도커 컴포즈(Docker Compose) 란? 멀티 컨테이너 도커 애플리케이션을 코드로 정의하고 실행하기 위한 도구이다. 이를 통해 여러 컨테이너를 단..

  • format_list_bulleted DevOps/도커 (Docker)
  • · 2024. 5. 4.
리액티브 프로그래밍 RxJS Marbles 주요 연산자 자바로 구현하기

리액티브 프로그래밍 RxJS Marbles 주요 연산자 자바로 구현하기

RxJS 의 개념  싱글 (Single Item)멀티플 (Multiple Items)PULL (Sync)함수 (Function)이터레이터 (Iterator) - array, symbol, generatorPUSH (Async)프로미스 (Promise)  - async & await 옵저버블 (Observable)싱글: 하나의 값이나 이벤트를 다루는 것 멀티플: 여러 개의 값이나 이벤트를 다루는 것 PULL: 데이터를 받을지 결정하는 것 PUSH: 데이터를 보낼지 결정하는 것Reactive Programming명령형 프로그래밍 언어에서 표현식은 순차적으로 실행된다. a = 10;b = 20;c = a + b; // c = 30 a = 40; // c = 30 반응형 프로그래밍 언어에서는 데이터 흐름의 변경..

  • format_list_bulleted Programming/스프링 부트(Spring Boot)
  • · 2024. 5. 2.

[Docker] - 004. Multi Stage Build 와 Base 이미지 만들기

도커 이미지, 도커 컨테이너를 효율적으로 관리하려고 할 때 가 있다. 만약 여러 프로젝트에서 공용으로 사용할 Ubnutu 이미지를 만들어 Base 이미지로 활용될 수 있으며, CI/CD 시간을 줄이고자 Multi Stage Build 을 이용할 수 도 있다. 멀티 스테이지 빌드 멀티 스테이지 빌드는 하나의 Dockerfile에서 스테이지를 여러 개로 나누어 빌드 프로세스를 만드는 것을 말한다. 각 스테이지는 이미지의 일부분을 생성하며, 이전 스테이지에서 생성된 파일을 다음 스테이지로 전달할 수 있다. 이 과정으로 최적화가 가능하다. 멀티 스테이지 빌드의 장점 이미지 크기 감소 빌드 프로세스 간소화 의존성 관리 용이성 이미지 크기 감소 사용 예시 CI/CD 과정에서 쓰이며 마지막 스테이지에는 최소한의 파일..

  • format_list_bulleted DevOps/도커 (Docker)
  • · 2024. 4. 19.
[Docker] - 003. DockerFile 캐싱 전략

[Docker] - 003. DockerFile 캐싱 전략

Dockerfile은 Docker 이미지를 빌드할 때 사용하는 스크립트다. 이미지를 빌드할 때 Docker는 Dockerfile 의 각 명령어를 실행하고 그 결과를 이미지 Layer 별로 캐싱한다. 이미지 Layer 캐싱을 통해 빌드 시간을 절약할 수 있다. 도커 이미지 의 Layer 을 적절히 나누어 캐싱하기 위해서는 캐싱 가능한 명령어를 최상단에 배치하고, 변경 가능성이 높은 명령어를 뒤로 배치하는 두가지만 지켜도 좋다. 또한 도커 공식 홈페이지에서 안내하는 멀티스테이지 빌드와 이미지 레이어를 적절히 분리하는 과정까지 추가하여 더 좋은 퍼포먼스를 낼 수 있으며 이러한 전략을 통해 이미지 빌드 성능을 높이고 불필요한 시간과 리소스를 절약할 수 있다. Multi-stage builds Learn abou..

  • format_list_bulleted DevOps/도커 (Docker)
  • · 2024. 4. 19.

클러스터드 인덱스와 비클러스터형 인덱스

인덱스는 테이블이나 뷰에서 행의 검색 속도를 높일 수 있다. 클러스터드 인덱스클러스터형 인덱스는 해당 키 값을 기반으로 테이블이나 뷰의 데이터 로우를 정렬하고 저정한다.이러한 키 값은 인덱스 정의에 포함된 컬럼이다. 데이터 로우 자체는 한 가지 순서로만 저장될 수 있으므로 테이블당 클러스터형 인덱스는 하나만 존재할 수 있다. 때문에 일반적으로는 PK 또는 unique not null 을 사용한다.테이블의 데이터 로우가 정렬된 순서로 저장될 때만 테이블에 클러스터형 인덱스가 포함된다. 테이블에 클러스터형 인덱스가 있는 경우 테이블을 클러스터형 테이블이라고 한다. 테이블에 클러스터형 인덱스가 없는 경우 해당 데이터 로우는 힙이라는 순서가 지정되지 않은 구조에 저장된다.비클러스터형 인덱스비클러스터형 인덱스에는..

  • format_list_bulleted Database/RDBMS
  • · 2024. 4. 18.
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • ···
  • 21
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (124)
    • Algorithm (3)
      • 백준 코딩테스트 (0)
      • 알고리즘 응용 (3)
    • Computer Science (18)
      • Data structure (0)
      • Network (0)
      • System Software (0)
      • Server (2)
      • 클라우드 (15)
    • DevOps (14)
      • 도커 (Docker) (8)
      • 모니터링 (6)
    • Programming (28)
      • 플러터 (Flutter) (2)
      • $_머니 (PHP) (16)
      • 스프링 부트(Spring Boot) (9)
      • 노드 (NodeJS) (0)
      • .NET (1)
    • Database (1)
      • RDBMS (10)
      • NoSQL (5)
      • 메시징 시스템 (messaging system) (2)
      • 검색 엔진(Search engine) (2)
    • 실무 경험 (12)
      • 실무 개발 & 협업 (7)
      • 개발 도구 & API 테스트 (2)
      • 기술 트렌드 & 리뷰 (2)
    • 사이드 프로젝트 (3)
    • 도서 (5)
      • 불친절한 SQL 프로그래밍 (2)
    • 마인드셋 (0)
      • 오늘의 온도 (0)
      • 마인드 리셋 (0)
      • 성장 로그 (0)
    • 임시보관 (13)
      • 에러모음 (1)
      • 실무 이슈 (6)
      • 로그인 서비스 (4)
인기 글
전체 방문자
오늘
어제
Copyright © 귀찮은 개발자 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바