목록프로그래밍 (17)
도찐개찐
컨테이너 오케스트레이션이란 무엇인가요? 컨테이너 오케스트레이션은 컨테이너의 프로비저닝, 배포, 네트워킹, 확장, 가용성 및 라이프사이클 관리를 자동화합니다. 오늘날 Kubernetes는 가장 인기 있는 컨테이너 오케스트레이션 플랫폼이며, Amazon Web Services(AWS), Google Cloud Platform, IBM Cloud 및 Microsoft Azure를 비롯한 대부분의 주요 퍼블릭 클라우드 제공업체는 매니지드 Kubernetes 서비스를 제공합니다. 다른 컨테이너 오케스트레이션 툴로는 Docker Swarm 및 Apache Mesos가 있습니다. 컨테이너와 컨테이너에 오케스트레이션이 필요한 이유에 대해 자세히 알아보기 컨테이너는 애플리케이션 소스 코드와 모든 환경에서 코드를 실행하는..
VSCode vs Jetbrains – Revisited (Updated 2024) | Shade It’s been about a year and a half since I’ve switched from the VSCode ecosystem. A lot of the stuff that is written below was indeed from the last year or so, so there have been some improvements. www.shade.inc 전체 면책조항: 저는 JetBrains나 VSCode의 후원을 받지 않습니다. 이는 저의 솔직한 의견이며, 저희 팀의 정서를 바탕으로 한 것입니다. 필요하다면 나를 미쳤다고 불러주세요. 하나의 IDE에서 5년 동안 코딩을 하고 나면 VS..
[버전관리]시멘틱버저닝(Semantic Versioning) 란? Semantic Versioning 란? 프로그램을 개발 하다보면 많이 접하는 부분 중 하나가 버전 정보입니다. 다양한 라이브러리, 프레임워크, DB 등등등 에서 "3.2.1" 과 같은 형태를 많이 보셨을 겁니다. 1. 버저닝 blog.dev-truly.dev 개요 : VCS(Version Controll System) 커밋 메시지에 곁들여진 가벼운 컨벤션으로 명확한 커밋 히스토리를 생성하기 위한 간단한 규칙을 제공. 본 규칙으로 만들어진 커밋 히스토리를 이용하여 더 쉽게 자동화된 도구를 만들 수 있음. 커밋 메시지에 신규 기능 추가, 문제 수정, 커다란 변화가 있음을 기술함으로써 유의적 버전(Sementic Versioning)과 일맥상..
1. MSA의 문제점 MSA란? Monolithic Architecture ui, business logic, data access layer db Microservices Architecture ui Microservice, Microservice Microservice, Microservice, Microservice, Microservice db,db,db,db 그림 1 모놀로틱아키텍쳐와 MSA MSA(MicroService Architecture)는 소프트웨어 개발 기법의 하나입니다. MSA는 단일 애플리케이션을 작은 서비스 모음으로 개발하는 접근 방식입니다. 각각은 자체 프로세스에서 실행이 되고 느슨한 연결(Loosely-coupled) 구조로 만들어 HTTP 리소스인 REST와 같은 경량 메커..
이벤트 주도 개발 패턴은 확장성이 뛰어난 애플리케이션을 생성하는데 사용되는 널리 사용되는 분산 비동기 아키텍처 패턴이다. 또한 적용이 용이하여, 작은 응용 프로그램뿐만 아니라 크고 복잡한 응용 프로그램에서도 사용할 수 있다. 이벤트 주도 개발은 이벤트를 비동기식으로 수신하고 처리하는 고도로 분리된 단일 용도의 이벤트 처리 구성 요소로 구성된다. 이벤트 주도 설계 패턴은 중재자와 브로커의 두가지 주요 토폴로지로 구성된다. 중재자 토폴로지는 일반적으로 중앙 중재자를 통해 이벤트 내에서 여러 단계를 조정해야하는 경우에 사용되는 반면, 브로커 토폴로지는 중앙 중재자를 사용하지 않고 이벤트를 함께 연결하려는 경우에 사용된다. 아키텍처 특성과 구현 전략은 이 두 토폴로지간에 서로 다르므로 각 상황을 이해하여 특정 ..
Semantic Versioning 란? 프로그램을 개발 하다보면 많이 접하는 부분 중 하나가 버전 정보입니다. 다양한 라이브러리, 프레임워크, DB 등등등 에서 "3.2.1" 과 같은 형태를 많이 보셨을 겁니다. 1. 버저닝 종류 MAJOR : 하위 버전과 호환되지 않는 변화가 생겼을 때 MINOR : 하위 버전과 호환이 되면서, 새로운 기능이 추가 될 때 PATCH : 하위 버전과 호환이 되면서, 버그 수정 2. 버저닝 상세 규칙 1. 일반적인 규칙 버전 번호는 Major, Minor, Patch 의 형태로 배포하고, Major, Minor, Patch 는 각각 자연수이고 절대 앞에 0이 붙어서는 안된다. 각 번호의 수는 항상 증가해야 한다. 특정 버전으로 패키지를 배포하고 나면, 그 버전의 내용은 ..
메시지 큐 개념을 다시 잡아보고자 학습용도로 작성한 포스팅입니다. 출처는 http://zzong.net/post/3 입니다. 메시지 지향 미들웨어(Meesage Oriented Middleware: MOM)은 비동기 메시지를 사용하는 다른 응용 프로그램 사이에서 데이터 송수신을 의미합니다. MOM을 구현한 시스템을 메시지 큐(MessageQueue: MQ)라 합니다. 메시지 큐는 별도의 공정 작업을 연기할 수 있는 유연성을 제공하여 SOA(Service-Oriendted Architecture)의 개발에 도움을 줄 수 있습니다. 프로그래밍에서 MQ는 프로세스 또는 프로그램 인스턴스가 데이터를 서로 교환할때 사용하는 방법입니다. 이때 데이터를 교환할 때 시스템이 관리하는 메시지 큐를 이용하는 것이 특징입니..
출처 : http://cafe.naver.com/nonstoptandem.cafe Fault Tolerant 컴퓨터 시스템이란? Fault Tolerant 컴퓨터 시스템이란 시스템내의 어느 한 부품 또는 어느 한 모듈에 Fault (장애)가 발생하더라도 시스템운영에 전혀 지장을 주지 않도록 설계된 컴퓨터 시스템이다. Fault Tolerant 컴퓨터 시스템내의 대부분의 부품 또는 모듈은 시스템이 운영되거나 응용 프로그램이 돌아가는 동안에라도 빼내거나 장착할 수가 있다. 따라서 고장난 모듈을 On-Line 상태에서 사용자가 전혀 모르게 교환이 가능하며, 어떠한 Fault가 발생하더라도 아무런 데이타의 손실 및 파괴없이 시스템은 정상동작을 계속한다. 은행이나 여행사 또는 통신서비스를 제공하는 전화국에서는 높..