목록분류 전체보기 (211)
And Brain said,
CI/CD Argonautica Docker, 선박 이론 실습 Kubernetes, 조타수 이론 실습 [1] 실습 [2] 실습 [3] Harbor, 항구 Helm, 타륜 Istio, 돛 Jenkins, 선장 ArgoCD, 출항 1장/ Loki, Trickster Troubleshooting 당신이 개발자라면 CI/CD에 대해 한 번이라도 들어봤을 것이다. CI/CD는 개발 프로세스를 자동화하여 빌드, 테스트, 배포 작업을 더 빠르게 수행할 수 있도록 한다. 이를 통해 개발자의 생산성을 향상시키고, 오류를 최소화하며, 고객에게 더 나은 제품을 제공할 수 있도록 돕는다. 이 CI/CD에 대해서 앞으로 우리는 몇 주간의 오디세이를 같이 떠나면서 배워보도록 할 것이다. 첫번째 시간은 앞으로의 기나긴 여정을 위한..
오늘은 객체지향 프로그래밍과 설계에 중요한 5대 원칙 SOLID에 대해서 알아보자. 먼저, SOLID는 SPR(단일 책임 원칙), OCP(개방-폐쇄 원칙), LSP(리스코프 치환 원칙), ISP(인터페이스 분리 원칙), DIP(의존성 역전 원칙)의 첫글자를 각각 따온 것이다. SRP(단일 책임 원칙), 클래스는 단 한 가지의 책임만을 가진다. 클래스는 단 한 가지의 책임만을 가진다. 즉, 클래스는 하나의 기능만을 수행해야 하며, 이 기능이 변경될 때만 클래스를 수정해야 한다. SRP의 목표는 코드의 유지 보수성을 높이고, 모듈 간의 결합도를 낮추는 것이다. 클래스가 단일 책임을 가질 때, 변경에 따른 영향이 최소화되어 수정이 용이해진다. 또한, 다른 클래스와의 의존성이 낮아져 코드의 재사용성이 높아진다...
(이 포스팅은 ChatGPT 4가 초안을 작성했음을 알린다) ChatGPT는 인공지능 기술이 인간과 유사한 수준의 자연어 처리 능력을 갖춘 것으로 평가되며, 개발자들에게 큰 영향을 미치고 있다. 지금 ChatGPT4가 나온 현시점에 ChatGPT는 마치 개발자들을 짓밟아 없애버릴 기세로 땅을 울리고 있다. ChatGPT3.5를 사용하다가 4 모델을 사용하는 순간 놀랍게 똑똑해졌다는 것을 알 수 있을 것이다. 물론 그 역시 한계는 있지만 이 진화의 기간이 터무니없이 짧다는 것이다. 그리고 ChatGPT의 진화는 더욱 가속될 것이다. 간단한 질문에서 시작하여 이 ChatGPT가 어디까지 나아갈 수 있는지 계속 질문해 보라. 이제 이러한 인공지능 기술을 적용하고 활용하기 위해서는 지속적인 학습과 업무 스킬 개..
먼저, 이 포스팅은 자바스크립트에 대한 이해를 전제한다. 타입스크립트란 간단히 말해 타입 + 자바스크립트다. 자바스크립트는 React와 Node 등을 필두로 현재 가장 많이 사용하는 언어 중 하나이며 웹 브라우저에서는 대체 불가능한 언어로 자리매김하고 있다. 이렇게 많이 사용되는 자바스크립트는 여타 대부분의 인기 있는 언어들과 달리 독특한 특징을 갖고 있는데 바로 자유도가 엄청나게 높다는 점이다. 이 높은 자유도는 당신의 느슨하고 게으르게 짠 코드를 어떻게든 동작시킨다. 이는 프로젝트 규모가 커지면 커질수록 수많은 문제를 야기한다. 그리하여 등장한 것이 타입스크립트다. stackoverflow 가장 사랑받는 언어 4위 자바스크립트를 대체하려는 시도는 많았지만 성공적이었던 것은 여태 단 한 차례도 없었었다..
오늘은 MSA의 필수 패턴 중 하나인 Circuit Breaker에 대해 알아볼 것이다. MSA(Microservice Architecture)는 애플리케이션의 유연성, 확장성, 유지보수성 등을 향상시키지만, 여러 개의 서비스가 함께 동작하기 때문에 각각의 서비스가 다운되는 상황이 발생할 수 있다. 이러한 문제를 해결하기 위해서 분산 시스템에서 일시적으로 실패한 서비스를 격리하고 복구하는 시스템 전체의 가용성을 높이기 위해 사용되는 디자인 패턴인 Circuit Breaker가 사용된다. 호출된 시스템이 지연이나 에러를 일으키면 Circuit Breaker가 해당 호출을 중지시키고 대체로직을 수행한다. Circuit Breaker 패턴은 일반적으로 세 가지 상태를 가진다. Closed: 서비스가 정상적으로..