분류 전체보기 1187

[Python] warnings - warning 메세지 무시하기

개요 Python으로 프로그래밍을 하다 보면 자연스럽게 여러 가지 종류의 경고 메세지를 보게 된다. 당장 해결해야 하는 문제는 아지만 추후 오류로 발전할 수 있기 때문에 확인한 메세지에 대해서 조치하는 편이 좋지만, 여러 가지 이유로 조치할 수 없을 수도 있다. 다만 과다한 경고 메세지로 인해 실행 로그가 지나치게 길어지게 되는 경우에는, 스토리지 용량과 관련된 문제를 야기할 수 있다. 따라서 이런 경우에는 로그 메세지를 무시할 수 있도록 조치할 필요가 있다. 이번 글에서는 warnings 모듈을 이용해 경고 메세지를 출력하지 않도록 하는 방법을 적어둔다. warnings 개발자는 프로그램 실행 도중 예외가 발생하거나 프로그램을 종료된다고 보장할 수 없는 특정 조건에 대해 경고할 필요가 있을 때 경고 메..

Python 2024.04.03

[Istio] Helm을 이용한 설치

개요 2024.03.06 - [Istio] 다운로드 및 설치에서 istioctl을 이용해 istio를 설치해 보았다. 다만 보통 쿠버네티스 환경에서 애플리케이션을 설치할 때 Helm을 많이 이용하므로, 이번 글에서는 Helm을 이용해 Istio를 설치해보려고 한다. 레포지터리 추가 istio 관련 차트가 저장된 레포지터리를 추가한다. helm repo add istio https://istio-release.storage.googleapis.com/charts helm repo update Chart 설치 1. 네임스페이스 생성 kubectl create namespace istio-system 2. Istio-base 차트 배포 Istio 동작에 필요한 CRD 생성을 위해 배포한다. helm insta..

Kubernetes 2024.04.02

[백준] 10448 - 유레카 이론

문제 문제 : https://www.acmicpc.net/problem/10448 삼각수 Tn(n ≥ 1)는 그림에서와 같이 기하학적으로 일정한 모양의 규칙을 갖는 점들의 모음으로 표현될 수 있다. 또한 자연수 n에 대해 다음과 같은 공식을 만족한다. $$ T_n = 1 + 2 + 3 + ... + n = n(n+1)/2 $$ 1796년, 가우스는 모든 자연수가 최대 3개의 삼각수의 합으로 표현될 수 있다고 증명하였다. $$ 4 = T_1 + T_2 $$ $$ 5 = T_1 + T_1 + T_2 $$ $$ 6 = T_2 + T_2 = T_3 $$ $$ 10 = T_1 + T_2 + T_3 = T_4 $$ 이 증명은 가우스가 다이어리에 “Eureka! num = Δ + Δ + Δ” 라고 적음으로써 유레카 ..

Algorithm/백준 2024.04.01

[k8s] metrics-server 설치 후 Metrics API not available 에러 발생 시

현상 Kubernetes 클러스터에서 top 명령어를 사용할 수 있도록 아래의 명령어로 metrics-server를 설치하였다. kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml 리소스 배포는 정상적으로 완료했으나 여전히 top 명령어를 사용할 수 없는 상태다. 원인 파악하고 문제를 해결해보자. 원인 파악 확인해 보니 metrics-server pod가 정상적인 Running 상태로 전환되지 않고 있었다. kubectl get pods -n kube-system metrics-server metrics-server pod의 이벤트를 확인해보니 readinessPr..

Kubernetes/삽질 2024.03.29

[GitHub] CLI로 토큰 지정하여 push하기

개요 Git Bash나 Linux 서버 등에서 CLI를 이용해 작업한 commit을 원격 저장소로 push 할 때 터미널 입력으로 사용자 인증 과정을 거치는 경우가 있다. 사람이 직접 push를 수행하는 경우에는 상관없지만, 스크립트 등으로 자동화를 하는 경우에는 사용자 인증 정보를 포함하여 push 명령을 수행해야 한다. 따라서 이 글에서는 사용자 인증 정보에 해당하는 GitHub Access Token을 Git push 명령어에 포함시키는 방법을 적어둔다. GitHub Access Token 생성 사용자 인증에 사용할 Token을 발급받는다. 1. GitHub Settings 페이지로 이동 GitHub에 로그인한 뒤 오른쪽 상단의 개인 메뉴에서 Settings를 클릭한다. 2. Developer se..

Git | GitLab 2024.03.28

[Trino] HiveConnector - S3 Glacier 객체 무시하기

개요 Trino에 HiveConnector를 AWS S3 버킷에 저장된 데이터를 쿼리하고 있다. 근데 데이터 시각화 도구이자 Trino Client로 사용하고 있는 Superset에서 S3 버킷에 저장된 데이터를 쿼리 하면 아래와 같은 에러가 발생하고 있다. 읽으려고 하는 객체가 수명 주기 규칙에 의해 Glacier 스토리지 클래스에 저장되어 있어 발생한 에러인데, SQL 수정 가장 간단한 방법으로 쿼리문을 수정하여 데이터의 조회 범위를 제한하는 것이다. 예로 들어 이 글에서 사용하는 테이블은 날짜값인 date 컬럼으로 파티셔닝 되어 있고, 생성된 지 5개월이 된 객체는 Glacier 스토리지 클래스로 이동한다. 어차피 Glacier 객체는 읽기 작업이 불가능하기 때문에 쿼리를 통해 데이터의 조회 범위를..

카테고리 없음 2024.03.27

[Superset] Backend DB 초기화 후 복구하기

개요 AWS EKS 클러스터에서 Helm으로 Superset을 설치하여 사용하고 있다. 이전에 EKS 버전 업그레이드를 작업하면서 superset을 지웠다가 다시 설치한 이력이 있는데, 실수를 했는지 Dataset이 편집되지 않고 있다……. superset Pod 로그를 확인해보니 테이블 업데이트 과정에서 시퀀스로 되어 있을 id 값에서 중복 에러가 발생하고 있었다. DB가 꼬여있는 것 같아 현재 superset Backend를 삭제하고 다시 복구한다. 참고로 superset 관련 버전은 다음과 같다. - 현재 superset helm chart version : 0.11.2 - 현재 superset app version : 3.0.1 - 데이터 백업 시 superset helm chart : 0.9.3..

Apache Superset 2024.03.26

[AWS] Mountpoint for S3 - 구성 설정

개요 2024.03.22 - [AWS] Mountpoint for S3 - S3를 파일 시스템처럼 사용하기에서 AWS S3가 제공하는 Mountpoint for S3 기능을 살펴보았다. 다만 Mountpoint for S3는 mount-s3를 수행한 사용자가 버킷에 대해 작업할 수 있도록 기본적인 권한을 설정한다. 때문에 이전 글에서 EC2에 root 사용자로 버킷을 마운트 했을 때, 일반 사용자는 버킷에 접근할 수가 없었다. 이번 글에서는 Mountpoint for S3 사용 시 고려해볼 수 있는 권한, mount path 지정 등의 구성 설정에 대해 적어둔다. 파일/디렉터리 권한 설정 Mountpoint for S3는 기본적으로 mount-s3 명령을 수행한 사용자가 마운트 한 버킷의 파일을 읽고 쓸..

AWS 2024.03.25

[AWS] Mountpoint for S3 - S3를 파일 시스템처럼 사용하기

개요 AWS S3는 파일 스토리지가 아니라 객체 스토리지다. S3 버킷과 버킷에 저장된 객체를 다룰 때는 주로 API를 사용한다. 하지만 S3를 파일 시스템처럼 사용하고 싶어 하는 사용자가 많았는지(기존에는 서드파티인 s3fs를 이용해 mount하는 방법을 사용한 것으로 보인다.) 2023년에 AWS에서 Mountpoint for S3라는 기능을 출시했다. 이번 글에서는 Mountpoint for S3 기능을 살펴본다. Mountpoint for Amazon S3 Mountpoint for S3는 S3 버킷을 로컬 파일 시스템에 마운트 하는 오픈 소스 파일 클라이언트다. 파일 읽기, 열기 등과 같은 파일 시스템 작업을 자동으로 S3 API 호출로 변환하여 애플리케이션이 파일 인터페이스를 통해 S3를 다룰..

AWS 2024.03.22

[프로그래머스] [PCCE 기출문제] 10번 / 데이터 분석

문제 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/250121 AI 엔지니어인 현석이는 코드 번호(code), 제조일(date), 최대 수량(maximum), 현재 수량(remain)으로 구성된 데이터를 분석하고 있는데, 조건을 만족하는 데이터만 뽑아서 정렬하려고 한다. 데이터가 저장된 이차원 정수 리스트 datam, 데이터를 필터링할 기준을 의미하는 문자열 ext, 필터링할 기준값을 의미하는 정수 val_ext, 정보를 정렬하는 기준을 의미하는 문자열 sort_by가 주어질 때, data에서 ext 값이 val_ext보다 작은 데이터만 뽑은 후, sort_by 값을 기준으로 오름차순으로 정렬하여 반환한다. 접근 Pandas를 사용하라고..

Algorithm 2024.03.21