일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 자바
- 설정
- Docker
- Redis
- java
- Kafka
- Mac
- gradle
- 자동
- Cluster
- 로그인
- hive
- vue
- aws
- fastcampus
- ec2
- 클러스터
- 예제
- login
- 레디스
- Jenkins
- 간단
- Zeppelin
- spring
- SpringBoot
- EMR
- 젠킨스
- redash
- config
- 머신러닝
- Today
- Total
목록ETC (84)
코알못

시간/공간 복잡도란?시간 복잡도는 알고리즘이 실행되는데 걸리는 시간/사용되는 공간을 수학적으로 표현한 개념입니다. 입력 크기 N이 커질수록 얼마나 많은 연산이 수행되는지를 알려주기 때문에, 알고리즘의 성능 비교에 유용 합니다.시간 복잡도 계산법📌 예제 코드로 살펴보기아래 코드는 리스트 안에서 가장 큰 숫자를 찾는 간단한 함수입니다:def find_max_num(array): for number in array: is_max_num = True for compare_number in array: if number 이 코드를 기준으로, 각 부분이 얼마나 많은 연산을 수행하는지 분석해보겠습니다.🔍 안쪽의 is_max_num = False 까지 걸리는 시간..
Maven, Tomcat, IntelliJ 설정 및 활용법1. Maven package와 install의 차이공통점두 명령어 모두 소스 코드를 컴파일하고 JAR 파일을 생성한다.차이점mvn package : 프로젝트를 빌드하고, 타겟 디렉토리에 .jar 또는 .war 파일을 생성한다.mvn install : package 단계까지 수행한 후, 생성된 JAR/WAR 파일을 로컬 저장소(~/.m2/repository)에 저장한다.2. Maven과 Gradle의 로컬 저장소 경로Maven: ~/.m2/repositoryGradle: ~/.gradle/cachesMaven과 Gradle은 의존성을 다운로드할 때, 먼저 로컬 저장소에서 찾고, 없을 경우 원격 저장소에서 가져온다.3. Tomcat을 여러 개 띄우는..
오류 pyspark.errors.exceptions.captured.AnalysisException: [UNSUPPORTED_SUBQUERY_EXPRESSION_CATEGORY.MUST_AGGREGATE_CORRELATED_SCALAR_SUBQUERY] Unsupported subquery expression: Correlated scalar subqueries must be aggregated to return at most one row.; 서브쿼리에 행이 1개 이상 반환될수 있는 쿼리라 아래와 같이 수정 - 이전 from pyspark.sql import SparkSession import dateutil.tz as tz from datetime import timedelta,datetime fro..

Ingress 는 API 이며 웹기반 서비스를 외부에서 접속 할 수 있도록 하며, 로드밸런싱 기능, ssl 인증서 처리, virtual host(한서버에 여러 도메인 사용) 해주는 기능을 가지고 있다. Ingress의 동작 방식을 보자! ingress 를 클라이언트가 호출하면 routing 규칙에 따라 서비스를 호출 하고 서비스에서는 파드를 호출하게 된다. 서비스가 만약 여러개 라면 Ingress 컨트롤러에 path 형태로 rules을 정의하여 여러 서비스를 목적에 맞게 호출 할 수 있으며 예를 들어 path 가 http://corin.com/A 이면 A서비스로 가고, http://corin.com/B 라면 B 서비스로 호출 하도록 하도록 할 수 있다. 추가로 http가 아닌 ssl 적용하여 https로..

Headless 서비스는 ClusterIP 설정 없이 서비스를 사용하는것으로 IP 필요 없이 Pod의 DNS(core dns에 저장) 호출가능하도록 한다. # headless-svc.yaml apiVersion: v1 kind: Service metadata: name: headless-svc spec: type: ClusterIP clusterIP: None selector: app: webui ports: - protocol: TCP port: 80 targetPort: 80 생성한다. $ kubectl create -f headless-svc.yaml service/headless-svc created 서비스를 확인 하면 Cluster IP가 할당 되지 않았다. $ kubectl get svc NA..

동일한 기능을 구현하는 파드들을 하나의 진입점으로 접근 가능하도록 하는것이 서비스이다! 서비스는 4가지 타입이 있다. 타입 내용 ClusterIP(default) 클러스터 내부에서만 사용가능한 IP 할당 받아 파드 통신 하는 서비스 NodePort ClusterIP 기능 + 각 노드에 특정 포트로 통신 가능한 서비스 만약 노드에 IP가 외부에서 접속 가능하다면 Port 를 통해 외부 통신이 가능하다. LoadBalancer 클러스터 외부에서 사용 가능한 IP 할당 받아 파드 통신 하는 서비스 외부 사용 가능한 IP는 로드밸런서 IP로 클라우드에 로드 밸런서를 자동으로 만들어져야 하여 클라우드 사용시에만 사용 가능 ExternalName 클러스터 내부에서 외부 호출시 서비스 이름으로 통신 가능하도록 하는 ..

쿠버네티스는 Running 을 유지 하려는 동작 방식을 가지고 있어 Pod 가 정상 종료 되더라도 계속적으로 재 실행 된다. 이를 위해 나온것이 Job Controller 이다! Job Controller를 이용하면 Batch 처리하는 Pod를 만들어 잡이 정상 종료되면 완료 상태가 되고 비정상 종료시 재 실행 되도록 할 수 있다. 아래는 Job 을 생성하는 yaml 형식이며 template도 기존 controller 와 동일하게 담는다. 여기서 resartPolicy가 Naver인데 이는 비정상 종료일시 계속적으로 파드를 다시 생성한다는 의미이다. # job.yaml apiVersion: batch/v1 kind: Job metadata: name: centos-job spec: # completion..

Pod의 상태를 유지해주는 컨트롤러이다. 우리가 이전시간에 배운 ReplicationController 를 보면 replicas 를 3개로 설정하여 create 하면 pod 가 3개 생성된다. 여기서 파드 하나를 제거하면 파드가 재 생성이 되는데 해당 파드에 연결된 볼륨이 삭제 되고, 파드의 이름도 다른 해시 코드가 붙어 다른 이름으로 생성된다. StatefulSet 은 이와 다르게 Pod 이름, 볼륨이 유지 되는 성격을 가지고 있다! serviceName 필드 지정이 필요하며 아직 Service에 대해 배우지 않았으니 우선 지정이 필요하다는것만 알아두자! # sf-nginx.yaml apiVersion: v1 kind: StatefulSet metadata: name: sf-nginx spec: rep..