전체 글 240

[Java] java.lang 패키지의 System

System 클래스는 자바 프로그램에서 시스템 레벨의 작업을 수행하기 위한 메서드와 필드를 제공하는 클래스입니다. 이 클래스는 java.lang 패키지에 속해 있어서 별도의 임포트 없이 사용할 수 있습니다. System 변수 System 클래스의 인스턴스를 나타내며, 주로 표준 입력, 표준 출력 및 표준 에러 스트림에 대한 참조를 제공하는 역할을 한다. System.in: 표준 입력 스트림을 나타내는 변수. 주로 Scanner 클래스와 같은 입력 도구에서 사용된다. Scanner scanner = new Scanner(System.in); System.out: 표준 출력 스트림을 나타내는 변수. System.out.println()과 같은 출력 메서드에서 사용된다. System.out.println("H..

Backend/JAVA 2023.10.12

쿠버네티스 Health Check

Health Check 쿠버네티스는 각 컨테이너의 상태를 주기적으로 체크해서, 문제가 있는 컨테이너를 자동으로 재시작하거나 또는 문제가 있는 컨테이너(Pod를) 서비스에서 제외하는 기능 Liveness probe : 컨테이너가 살아 있는지 아닌지를 체크하는 방법 Readiness probe : 컨테이너가 서비스가 가능한 상태인지를 체크하는 방법 Probe types Liveness probe와 readiness probe는 컨테이너가 정상적인지 아닌지를 체크하는 방법으로 다음과 같이 3가지 방식을 제공한다. Command probe : 컨테이너의 상태 체크를 쉘 명령을 수행으로 체크 HTTP probe : HTTP GET을 이용하여, 컨테이너의 상태를 체크 TCP probe : 지정된 포트에 TCP 연결..

[javaScript] 프로그래머스 - 키패드 누르기

[카카오 인턴]키패드 누르기 https://school.programmers.co.kr/tryouts/85961/challenges - 문제 이 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다. 엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 거리로 1에 해당합니다. 왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용합니다. 오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손 엄지손가락을 사용합니다. 가운데 열의 4개의 숫자 2, 5, 8, 0을 입력할 때는 두 엄지손가락의 ..

쿠버네티스 아키텍처 (마스터, 노드)

쿠버네티스는 크게 마스터(Master)와 노드(Node) 두 개의 컴포넌트로 분리 마스터(Master) 마스터는 쿠버네티스의 설정 환경을 저장하고 전체 클러스터를 관리하는 역할 etcd, kube-apiserver, kube-scheduler, kube-controllermanager로 구성 Kube-apiserver: 쿠버네티스 API를 제공하며, 클러스터의 모든 작업을 조율합니다. etcd: 클러스터의 모든 구성 데이터를 안전하게 저장하는 분산형 키-값 저장소입니다. Kube-scheduler: 새로운 Pod을 어떤 노드에 배치할지 결정하는 역할을 합니다. Kube-controller-manager: 클러스터의 상태를 감시하고 제어하는 여러 컨트롤러를 실행합니다. 노드(Node) 노드는 파드나 컨테..

쿠버네티스 (오브젝트, 컨트롤러)

쿠버네티스 오브젝트 (Kubernetes Objects) 쿠버네티스는 상태를 관리하기 위한 대상을 오브젝트로 정의합니다. 쿠버네티스 오브젝트는 영속성을 가지는 개체이며 쿠버네티스는 클러스터의 상태를 나타내기 위해 이 개체를 이용합니다. 어떤 컨테이너화된 애플리케이션이 동작 중인지 (그리고 어느 노드에서 동작 중인지) 애플리케이션이 이용할 수 있는 리소스 애플리케이션이 어떻게 재구동 정책, 업그레이드, 그리고 내고장성과 같은 것에 동작해야 하는지에 대한 정책 기본 오브젝트(Basic object), 컨트롤러(Controller), 오브젝트 스펙 및 메타 정보로 구성 오브젝트는 사용자가 쿠버네티스에 바라는 상태(desired state)를 의미하고 컨트롤러는 객체가 원래 설정된 상태를 잘 유지할수있게 관리하..

마이크로서비스 아키텍처 설계 (구성 요소, 고려 사항)

*마이크로서비스 개념 https://sumni.tistory.com/235 데브옵스(DevOps)와 마이크로서비스(microservices) 개념, 특징 데브옵스 데브옵스(DevOps)는 소프트웨어 개발 및 운영 프로세스를 통합하여 효율적이고 지속적인 소프트웨어 제공을 가능하게 하는 소프트웨어 개발문화 또는 방법론을 나타냅니다. "데브"는 소 sumni.tistory.com 마이크로서비스 아키텍쳐 구성요소 관리 컨테이너: 개별 서비스 인스턴스에 대한 컨텍스트(실행 환경) 제공 및 인 수명주기 관리. 가상 컴퓨터, Docker 컨테이너 또는 프로세스로 구현된 관리 컨테이너 사용. 외부 게이트웨이: MSA 구현은 API형태로 기능을 노출. 이런 서비스에 대한 액세스를 관리하고 트래픽 관리 및 보안 정책 적용..

컨테이너 오케스트레이션, 쿠버네티스(Kubernetes)

컨테이너 오케스트레이션(Container Orchestration) 여러 컨테이너를 자동으로 배포, 확장, 관리, 네트워킹, 서비스 발견 등을 수행하는 툴이나 플랫폼을 나타냅니다. (컨테이너 기반의 가상화 환경을 운영 관리) 이는 대규모의 컨테이너화된 애플리케이션을 효과적으로 관리하고 운영하는 데 도움을 줍니다. *주요 컨테이너 오케스트레이션 도구로는 Kubernetes, Docker Swarm, Apache Mesos, Amazon ECS 특징 자동 배포 및 스케일링: 컨테이너를 자동으로 배포하고 필요에 따라 스케일링할 수 있습니다. 새로운 컨테이너 인스턴스를 추가하거나 제거하여 애플리케이션의 부하에 대응할 수 있습니다. 서비스 발견 및 로드 밸런싱: 컨테이너가 동적으로 생성되고 제거될 때, 오케스트레..

가상화(Virtualization)와 컨테이너(Containerization)

가상화의 발전 과정 전통적인 배포 : 물리서버 기반 애플리케이션 실행 가상화된 배포 : 단일 물리 서버의 CPU에서 여러 가상 시스템 (VM) 실행 컨테이너 개발 : VM과 유사, 격리 속성을 완화하여 애플리케이션 간에 운영체제(OS)를 공유 가상화와 컨테이너 둘 다 확장성과 유연성을 제공하며, 클라우드 환경이나 마이크로서비스 아키텍처에서 특히 유용하게 사용됩니다. 어떤 시스템 레벨을 가상화 하는지가 다릅니다. 가상화 (Virtualization) 가상화는 하드웨어 리소스를 추상화하여 가상의 환경을 만들어내는 기술입니다. (하드웨어 레벨 가상화) 이는 하이퍼바이저(Hypervisor)라고 불리는 소프트웨어 계층을 통해 수행됩니다. 가상화는 주로 서버 가상화에 많이 사용되며, 다양한 운영 체제 및 애플리케..

[javaScript] file-saver 파일 다운로드

file-saver 자바스크립트에서 파일을 생성하고 사용자에게 다운로드할 수 있게 해주는 라이브러리입니다. 1. 설치 npm install file-saver 2. 사용법 saveAs 함수 이 함수를 사용하여 클라이언트 측에서 파일을 저장하고 다운로드할 수 있습니다. saveAs(다운로드할 파일의 데이터 (Blob 또는 File), 다운로드될 파일의 이름) 3. 예시 (vue3) import { saveAs } from 'file-saver'; // fetch 함수를 사용하여 지정된 URL에서 PDF 파일을 가져옵니다. // 가져온 PDF 파일을 ArrayBuffer로 변환합니다. const fetchPdf = async () => { const response = await fetch('/assets/..

Frontend/javaScript 2023.10.02

Redux 설치 및 사용법

Redux는 JavaScript 애플리케이션의 상태 관리 라이브러리로, 특히 React와 함께 사용되어 복잡한 상태를 효율적으로 관리하고 상태 관련 로직을 분리하는 데 도움을 줍니다. Redux의 핵심 개념은 "스토어(Store)", "액션(Action)", "리듀서(Reducer)"입니다. https://sumni.tistory.com/67 Redux, Props, State 개념 1. 개념 Redux : 상태관리 라이브러리, state를 이용해 웹 사이트 혹은 애플리케이션의 상태 관리를 해줄 목적으로 사용. Props 1. porperties의 줄임말 2. 부모 컴포넌트에서 자식 컴포넌트한테 보낼 수 sumni.tistory.com 1. Redux 설치 먼저 Redux를 설치합니다. npm 또는 ya..

Frontend/react 2023.09.27