분류 전체보기
-
[Python] uv 사용법언어/파이썬 & 장고 2025. 8. 17. 21:42
설치# 리눅스curl -LsSf https://astral.sh/uv/install.sh | sh# 맥 homebrewbrew install uv# With pip.pip install uv사용법파이썬 설치 & 설치된 파이썬 리스트 조회 & 특정 버전 제거아래와 같이 명령어를 사용하면 가장 최신 배포된 파이썬 버전을 설치합니다.# 파이썬 버전 설치uv python install 3.12Installed Python 3.12.11 in 1.35s + cpython-3.12.11-macos-aarch64-none (python3.12)아래는 설치된 파이썬 리스트 조회입니다.# 설치된 파이썬 리스트 조회uv python list ..
-
[Python] poetry, pyenv, pipenv, flit, uv 도구 설명언어/파이썬 & 장고 2025. 8. 17. 20:09
파이썬 패키지 관리 도구는 기본적으로 pip가 있고 poetry, pyenv, pipenv, flit, uv처럼 여러 종류가 존재합니다. 아래에서는 각 도구 별로 설명과 장단점을 소개합니다.pippip은 파이썬의 공식 기본 패키지 설치 관리자입니다. Python을 설치하면 기본으로 함께 설치되며, pip install 명령어로 Python Package Index(PyPI)에 있는 대부분의 패키지를 설치할 수 있습니다. requirements.txt 파일을 통해 패키지 목록을 관리하는 것이 일반적입니다.장점파이썬의 기본 도구이므로 거의 모든 환경에서 사용할 수 있습니다.사용법이 매우 간단하고 직관적입니다.모든 파이썬 패키지는 pip을 통해 설치할 수 있다고 봐도 무방합니다.단점패키지 간의 복잡한 의존성..
-
[Spark] RDD와 데이터프레임공부 2025. 7. 28. 00:34
개요스파크에서는 RDD(Resilient Distributed Dataset)와 데이터프레임 두 가지 방법으로 데이터를 처리하는데 각가 다른 추상화 수준과 특징을 가지고 있습니다.RDD(Resilient Distributed Dataset)스파크의 가장 기본적이고 낮은 수준의 데이터 추상화입니다. 여러 서버에 분산되어 병렬로 처리될 수 있는 변경 불가능한(immutable) 요소들의 집합입니다. (이 부분은 데이터프레임도 가지고 있는 특징)RDD는 다음과 같은 장단점을 가지고 있습니다.장점RDD는 내부에 어떤 타입의 객체(Python, Java, Scala)든 담을 수 있으며 데이터의 스키마에 대한 정보를 가지지 않습니다. 즉, 스키마가 없는 비정형 데이터(예: 일반 텍스트 로그 파일, 바이너리 데이터)..
-
판다스 series.apply()와 for문 속도 비교 (번외 스파크)카테고리 없음 2025. 7. 1. 01:44
판다스를 사용한다면 for문보다 series.apply()를 사용하는 것이 좋다고 하는데 성능에 대해 확인을 해봅니다.숫자 비교import pandas as pdimport numpy as npimport time# 1. 테스트용 데이터 생성data_size = 1_000_000 # 백만 개의 데이터 포인트s = pd.Series(np.random.rand(data_size), name="test_series")print(f"데이터 크기: {data_size}개")print("-" * 30)# 2. 적용할 함수 정의def complex_logic(x): """간단한 조건부 연산을 수행하는 함수""" if x > 0.5: return x * 2 else: retu..
-
데이터 저장 타입(포맷)공부/데이터 2025. 6. 3. 18:17
개요데이터 저장 타입은 데이터를 어떻게 구조화하고 디스크나 메모리에 저장할지를 정의하는 방식을 의미합니다. 어떤 타입을 선택하느냐에 따라 데이터 처리 성능, 저장 공간 효율성, 데이터 모델링의 유연성, 시스템 간 호환성 등이 크게 달라질 수 있습니다.다음은 파일 포맷에 어떤 종류가 있는지를 설명합니다. 파일 포맷은 데이터가 파일 시스템(로컬 디스크, HDFS, 클라우드 스토리지 등)에 실제로 저장되는 구체적인 방식을 의미합니다.행 기반 포맷 (Row-based)데이터를 행 단위로 묶어서 저장합니다.csv / tsv가장 간단한 텍스트 기반 포맷으로 쉼표나 탭으로 각 필드를 구분합니다. 사람이 읽기 쉽고 대부분의 시스템에서 지원하지만 스키마 정보가 없어 데이터 타입 유추가 필요하고 압축률이 낮습니다. 또한 ..
-
[GCP] GKE 인그레스와 cloud Load balancingAWS & GCP 2025. 3. 31. 23:39
GKE에서 인그레스를 세팅하고 배포하면 자동으로 cloud load balancing 서비스를 전개합니다. 여기서 ingress나 service에 어노테이션을 추가하여 cloud load balancing 서비스의 옵션을 설정하거나 정상 실행을 하려면 꼭 있어야 하는 옵션에 대해 설명합니다.설정다음과 같이 values, service, ingress가 세팅이 되어있고 배포를 했다고 가정합니다.# Default values for mario.# This is a YAML-formatted file.# Declare variables to be passed into your templates.replicaCount: 2resources: limits: cpu: 1000m memory: 4G..
-
[GCP] GKE에서 인바운드를 허용하도록 구성하기AWS & GCP 2025. 3. 30. 19:42
개요일반적으로 클러스터를 private으로 구성한 다음, 외부에서 트래픽을 허용하도록 서비스를 구성합니다. 이 때, 외부에서 어떻게 내부로 트래픽을 허용할 수 있는지를 설명합니다.NodePort는 주로 클러스터 내부적인 테스트나 디버깅 목적으로 사용되며 Private 클러스터에서 직접적인 외부 접근을 허용하는 데는 적합하지 않습니다. 여기선 service 타입을 ClusterIP + ingress 와 service 타입을 loadbalancer로 설정하는 두 가지에 대해 설명합니다.service 타입 ClusterIP + ingress 로 구성GKE에서 외부 클라이언트에게 대시보드를 제공하는 서비스를 구성하기 위해서는 Service, Ingress, 그리고 GCP의 부하분산 서비스를 설정해야 합니다. 이..
-
[GCP] GKE 설명 및 생성해보기카테고리 없음 2025. 3. 30. 18:30
GKE 모드 설명gke는 autopilot 모드와 standard 모드가 있습니다.autopilot 모드는 Google이 클러스터 인프라를 자동으로 관리해주는 완전 관리형 모드로 노드 관리가 필요 없고, 워크로드에만 집중 가능하며 사용한 리소스만큼 비용을 지불하면 됩니다.GKE Autopilot과 Standard를 비교 요약하면 다음과 같습니다.항목Autopilot 모드Standard 모드운영 부담✅ Google이 자동 관리❌ 직접 관리 필요노드 관리❌ 불가능 (Google이 자동 운영)✅ 가능 (사용자가 설정)리소스 과금 방식Pod 단위 과금 (최적화됨)VM 단위 과금 (비효율적일 수 있음)확장성✅ 자동 확장 최적화⚠️ 직접 관리 필요보안 관리✅ 자동 보안 패치⚠️ 수동 패치 필요커스텀 설정❌ 제한됨✅..
-
[GCP] vpc, subnet, 방화벽 설명 및 생성해보기AWS & GCP 2025. 3. 30. 15:01
VPCVPC 네트워크 예시Subnet1은 us-west1 리전에서 10.240.0.0/24로 정의됩니다.us-west1-a 영역의 두 개 VM 인스턴스가 이 서브넷에 있습니다. 두 개의 IP 주소는 모두 subnet1의 가용 주소 범위에 속합니다.Subnet2는 us-east1 리전에서 192.168.1.0/24로 정의됩니다.us-east1-b 영역의 두 개 VM 인스턴스가 이 서브넷에 있습니다. 두 개의 IP 주소는 모두 subnet2의 가용 주소 범위에 속합니다.Subnet3도 us-east1 리전에서 10.2.0.0/16으로 정의됩니다.us-east1-b 영역의 VM 인스턴스 하나와 us-east1-c 영역의 두 번째 인스턴스는 각각 subnet3에 있으며 사용 가능한 범위에서 IP 주소를 수신합니..
-
[Helm] 가이드 - NOTES.txt공부/쿠버네티스&헬름 2025. 3. 15. 21:33
helm install 또는 helm upgrade가 완료되면 Helm은 사용자에게 유용한 정보 블록을 출력할 수 있습니다. 이 정보는 템플릿을 사용하여 매우 사용자 정의가 가능합니다.차트에 설치 노트를 추가하려면 templates/NOTES.txt 파일을 생성하기만 하면 됩니다. 이 파일은 일반 텍스트이지만 템플릿처럼 처리되며 모든 일반적인 템플릿 함수와 객체를 사용할 수 있습니다.아래는 간단한 NOTES.txt 파일입니다.Thank you for installing {{ .Chart.Name }}.Your release is named {{ .Release.Name }}.To learn more about the release, try: $ helm status {{ .Release.Name }} ..