일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- ec2
- 클러스터
- hive
- 로그인
- config
- Jenkins
- spring
- login
- aws
- fastcampus
- 설정
- 머신러닝
- 예제
- SpringBoot
- Zeppelin
- 젠킨스
- vue
- Docker
- 자바
- gradle
- EMR
- Cluster
- Redis
- 레디스
- 자동
- redash
- 간단
- java
- Kafka
- Mac
- Today
- Total
목록ETC (86)
코알못

🌱 재귀함수에 대해서 알아보자!재귀함수란, 자기 자신을 다시 호출하는 함수를 말한다.말 그대로, 함수가 자기 자신을 반복적으로 부르는 구조라고 할 수 있다!재귀를 사용하면 코드를 간결하게 표현할 수 있고,특히 반복적인 구조나 문제를 잘게 쪼개는 상황에서 유용하게 쓰인다.📌 재귀함수는 언제 고려해야할까?재귀함수는 다음과 같은 상황에서 고려해볼 수 있다반복적인 계산 구조일 때탐색 범위를 계속 줄여야 할 때🚨 재귀함수의 핵심: 탈출 조건!재귀함수를 사용할 때 가장 중요한 건 탈출 조건이다!자기 자신을 계속 부르다 보면 무한 루프에 빠질 수 있기 때문에,어디선가 반드시 멈춰야 한다.이걸 탈출 조건이라고 한다.팩토리얼 예제로 재귀를 이해해보자!팩토리얼은 1부터 N까지의 정수를 모두 곱한 값을 말한다.3!이..

탐색에 대해서 알아보자!데이터 속에서 원하는 값을 찾는 대표적인 방법에는순차 탐색(Sequential search)과 이진 탐색(Binary search)이라는 방식이 있다.이 둘은 어떤 차이가 있을까? 그리고 이진 탐색은 왜 더 빠르다고 할까?지금부터 함께 알아보자!순차 탐색(Sequential search)이란?순차 탐색은 말 그대로 데이터를 앞에서부터 하나씩 차례대로 확인해보는 방법이다.리스트의 첫 번째 인덱스부터 시작해서,찾고자 하는 값이 나올 때까지 계속 다음 값을 확인해나간다.👉 즉, 모든 데이터를 순서대로 검사하는 방식이라고 할 수 있다!✅ 시간 복잡도는?O(N)데이터가 100개 있다면, 최악의 경우 100번을 다 확인해야 한다.데이터가 많아질수록 시간이 오래 걸리게 된다.이진 탐색(Bin..

시간/공간 복잡도란?시간 복잡도는 알고리즘이 실행되는데 걸리는 시간/사용되는 공간을 수학적으로 표현한 개념입니다. 입력 크기 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 클러스터 내부에서 외부 호출시 서비스 이름으로 통신 가능하도록 하는 ..