분류 전체보기 1362

[PostgreSQL] RANDOM - 난수 발생

개요데이터베이스 학습 목적으로 더미 데이터를 만들 때, 무작위로 데이터를 생성하거나 선택할 난수를 활용할 때가 많다. 관련하여 PostgreSQL에서 난수를 생성하는 RANDOM 함수의 사용과 활용법을 적어둔다. RANDOMRANDOM 함수는 난수 값을 발생시키는데, 0부터 1 사이의 난수 값을 반환한다.RANDOM()-- 예시SELECT random();사용법 자체는 아주 단순하다. 이제 이 값을 활용한 방법을 몇 가지 적어둔다. 활용법1. 0 ~ N 사이의 임의 정수random 값에 N을 곱한 후 소수점 미만의 값을 버리면, 0부터 N-1까지의 값 사이의 값을 얻을 수 있다.floor(random() * N);-- 예시SELECT floor(random() * 10);위의 예시는 0부터 9 사..

Database 2025.11.25

[PostgreSQL] UNNEST - 배열을 행(row)으로 EXPAND

개요Database 내 데이터를 다루다 보면 필요에 의해 배열 데이터를 다루게 되는데, PostgreSQL은 MySQL과 달리 array라는 데이터 유형을 지원하고 있어 비교적 다루기 편한 것 같다.이번 글에서는 한 행에 저장되어 있는 데이터를 여러 행으로 EXPAND 하는 UNNEST이라는 함수에 대해 기록 차 적어두려고 한다. UNNESTunnest 함수는 배열을 행 집합으로 확장하는 함수로, 배열에 저장된 순서대로 확장된다.unnest ( anyarray ) 사용 예시 )SELECT unnest(ARRAY[1,2])SELECT unnest(ARRAY[['foo','bar'],['baz','quux']])2차원 배열도 단일 열로 펼쳐진다. 참고 문서https://www.postgresql.org/..

Database 2025.11.24

[Python] json.dump - TypeError: Object of type datetime is not JSON serializable

개요데이터를 다루다 보면 딕셔너리 형식의 데이터를 JSON 형식으로 변환해야 하는 경우가 종종 있다. 이때 데이터에 큰 문제가 없어서 JSON 형식으로 잘 변환이 되면 좋지만, 아래처럼 오류가 나는 상황이 발생할 수도 있다.import jsonfrom datetime import datetimedata = { 'create_dt': datetime.now(), 'name': 'june', 'age': 22,}print(json.dumps(data))내 경우에는 주로 날짜 형식 데이터를 변환하다가 발생하곤 하는데, 아주 간편하게 문제를 해결하는 방법을 적어둔다. 원인 TypeError: Object of type datetime is not JSON serializableJSON은 문자..

Python 2025.11.21

[FreeLens] 터미널을 WSL로 변경하기

개요FreeLens도 다른 IDE와 마찬가지로 터미널 기능을 제공하고 있는데, Windows의 경우에는 기본적으로 PowerShell을 사용하고 있다.PowerShell도 좋은 프로그램이지만, 평소 Ubuntu를 사용해 kubectl 명령어를 사용해왔다 보니 아무래도 편안하게 작업하기는 어려웠다. 따라서 이번 글에서는 FreeLens가 사용하는 터미널을 WSL로 변경해보려고 한다. + 참고터미널 세션은 하단의 + (New Tab) 버튼 > Terminal session을 통해 사용할 수 있다. 방법은 다음과 같다. 터미널 변경1. 설정 페이지로 이동왼쪽 상단 메뉴 > File > Preferences를 클릭하거나 Ctrl + , 를 눈러 설정 페이지로 이동한다.2. TERMINAL SHELL PATH..

Kubernetes 2025.11.20

[FreeLens] ResouceMap 확장 프로그램 설치

개요2025.11.13-[Freelens] k8s IDE 설치 및 사용에서 쿠버네티스 IDE인 렌즈에 대해서 알아보았다. 렌즈를 사용하면 명령어를 사용하지 않고도 여러 유형의 리소스 목록을 확인할 수 있다는 장점이 있지만, 리소스 간의 관계를 확인하기는 조금 어렵다.이번 글에서는 리소스 간의 관계를 볼 수 있도록 도와주는 RescoureMap이라는 확장 프로그램을 설치해보려고 한다. ResouceMapFreeLens는 OpenLens에서 사용되던 확장 프로그램들을 변환해 두었는데, 그 목록은 확장 프로그램 위키에서 찾을 수 있다.그 중 ResouceMap은 쿠버네티스 리소스와 그 관계를 실시간 강제 방향 그래프로 나타내는 확장 프로그램이다. 설치설치 방법은 다음과 같다. 1. 확장 프로그램으로 접근..

Kubernetes 2025.11.19

[Freelens] k8s IDE 설치 및 사용

FreelensFreelens는 쿠버네테스 클러스터를 관리하고 모니터링하기 위한 그래픽 인터페이스를 제공하는 쿠버네티스 IDE이다. 이름에서 알 수 있듯 무료고 오픈소스다.기존에는 Lens(OpenLens)를 주로 사용했는데, Lens의 커뮤니티 버전의 지원이 미흡해지면서 Lens에서 갈라져 나온 프로젝트인 것 같다. FreeLens는 Lens를 포크한 프로젝트고 오픈소스 버전을 유지 관리하는 것을 목적으로 하고 있다. 설치설치는 공식 홈페이지를 통해 다운로드하여 설치한다.이 글에서는 윈도우에 설치했다. 클러스터 추가접속할 클러스터를 추가하는 방법은 크게 두 가지가 있다. 방법 1. kubeconfig 추가왼쪽 메뉴에서 File > Add Cluster 클릭하거나 키보드에서 Ctrl + Shift..

Kubernetes 2025.11.18

[Python] traceback - 예외 메세지 추적하기

개요프로그래밍을 하다 보면 프로그램 종료를 방지하기 위해 try ~ except 구문으로 특정 예외가 아니라 예외 전체를 처리하게 되는 경우 가 있다. 모든 예외를 처리하면 어찌어찌 프로그램은 동작하지만 예상하지 못한 예외로 인해 버그가 발생할 때 예외 메시지가 없어 디버깅이 어려운 상황이 있었다.때문에 이번 글에서는 예외 메세지를 다룰 수 있는 traceback이라는 모듈이 조금 살펴보려고 한다. tracebacktraceback은 Python 프로그램의 Stack Trace를 추출하고 포맷팅, 출력하는 표준 인터페이스를 제공한다. Python 인터프리터가 Stack Trace를 출력할 때의 동작을 재현하며, 프로그램 제어 하에서 Stack Trace을 출력하려는 경우에 유용하다. print_tbt..

Python 2025.11.17

[AWS] AWS Aurora 엔드포인트 확인

개요AWS Aurora도 RDS와 동일하게 콘솔에서 엔드포인트를 확인할 수 있는데, 이상하게 클러스터 엔드포인트는 잘 확인되지 않는 상태다.웹에서 확인이 안 되니 CLI로 확인하는 방법을 적어둔다. aws rds describe-db-clusters데이터베이스 클러스터 정보는 aws rds describe-db-clusters 명령어로 확인할 수 있다.aws rds describe-db-clusters # --db-cluster-identifier : 데이터베이스 클러스터 식별자/이름 출력 예시){ "DBClusters": [ { "AllocatedStorage": 1, "AvailabilityZones": [ "us-..

AWS 2025.11.14

[Terraform] LocalStack 연동

개요Terraform 학습을 위한 테스트를 진행하고 싶은데, 보통 Terraform 튜토리얼은 AWS 등의 CSP를 활용하고 있어 테스트 발생했다. (프리티어를 사용하면 되지만, 프리티어 계정을 계속 만드는 것도 번거로운 상황이었다.) 때문에 AWS 에뮬레이션 서비스인 LocalStack과 Terraform을 연동해 학습 환경을 구성해보고자 한다. AWS provider2025.10.28-[LocalStack] AWS - 사용 설정에서 알아봤지만, AWS CLI 수행 요청을 LocalStack으로 보낼 때에는 AWS 엔드포인트를 변경했었다. Terraform에서도 비슷하게 AWS provider의 인증 정보와 엔드포인트를 변경함으로써 Terraform 적용 요청을 AWS가 아닌 Localstack으로 ..

Terraform 2025.11.13

[Terraform] 리소스 수정 및 삭제

개요2025.11.04-[Terraform] AWS EC2 생성에서 Terraform으로 Ec2 인스턴스를 생성해 봤는데, 이번 글에서는 생성한 인프라 리소스를 수정하고 삭제하는 과정을 다뤄보고자 한다. 리소스 수정리소스를 수정하면서 관리 편의성을 높이고자 EC2 인스턴스의 이름과 타입을 변수로 받는 variables.tf라는 파일을 작성했다.variable "instance_name" { description = "Value of the EC2 instance's Name tag." type = string default = "learn-terraform"}variable "instance_type" { description = "The EC2 instance's type...

Terraform 2025.11.12