전체 글 58

DuckDB 란? DuckDB + Postgresql 활용 (Python)

DuckDB 등장 배경 현대 데이터 분석의 흐름은 "Bigdata is dead" 라는 슬로건과 함께 새로운 국면을 맞이하는 것 같습니다.대다수의 기업은 소위 "빅데이터" 라는 사이즈의 데이터를 핸들링 하지 않는다고도 합니다.DuckDB 는 이러한 흐름에 적절한 서비스가 될 수 있다고 생각됩니다.  DuckDB ?DuckDB 는 C++ 기반 오픈소스 인메모리 엔진입니다. 개발하시는 분들은 익숙하게 들어보셨을 SQLite 와 유사합니다. 직접 서버를 구성해서 설치하는 것이 아닌애플리케이션 내 운용이 됩니다.  Duck DB 의 장점1. 오픈소스2. in-memory & in-progress- 설치가 간단하고 빠릅니다.3. SQL 호환- 기존 SQL 문법으로 핸들링이 가능하여 진입장벽이 낮습니다. 4. 열 ..

rancher + k3s Single node 구축 (ubuntu)

개요요즘 쿠버네티스 구축할 일이 너무 많다. 무튼 운영 환경과 유사한 쿠버네티스 환경을 꾸리고자Rancher와 k3s로 간단히 개발환경을 꾸려봤다. 설치환경ubuntu 24, ram 8GM, 4 core 설치1. 도커 설치sudo apt install -y docker.ioudo usermod -aG docker $USERnewgrp dockersudo service docker startsudo service docker enable 2. rancher 설치- 만약 싱글노드로 저처럼 구축하실 거라면 rancher나 k3s 둘 중 하나의 포트포워딩을 80과 443이 아닌 것으로 해야 합니다. 추후 k3s 구축할 때 꼬일 수 있습니다.  전 rancher 포트를 변경해 줬습니다.docker run -d -..

IT 기술/K8s 2025.02.27

k8s에 Airflow helm 으로 배포하기 - dags,logs 폴더 마운트

개요mac에 airflow on k8s 개발 환경을 꾸리고자 helm으로 배포하려 합니다. 전 k3s 기반 rancher 를 통해 쿠버네티스 환경을 세팅했습니다. https://tomin.tistory.com/55 Rancher desktop 사용하기 - MAC m4개요기본 podman-desktop을 이용하여 컨테이너 개발 환경을 꾸렸는데 아쉬운 점이 많아 Rancher desktop으로 대체하고자 한다. podman desktop 의 아쉬운 점1. 절전 모드 후 컨테이너 좀비화- 이게 가장 큰tomin.tistory.com 사전환경쿠버네티스, helm  설치1. airflow helm chart 다운로드https://github.com/apache/airflow GitHub - apache/airfl..

Rancher desktop 사용하기 - MAC m4

개요기본 podman-desktop을 이용하여 컨테이너 개발 환경을 꾸렸는데 아쉬운 점이 많아 Rancher desktop으로 대체하고자 한다. podman desktop 의 아쉬운 점1. 절전 모드 후 컨테이너 좀비화- 이게 가장 큰 문제였는데 mac 이 절전모드가 되면 컨테이너들이 정신을 못 차린다.2. 절전 모드 후 timezone 틀어짐- podman vm 은 mac이 절전모드가 된 후로 시간이 흐르지 않아 timezone이 틀어진다. 초기 1회만 hosttime과 맞추고 그 후 맞추지는 않는 듯하다.3. proxy bypass 설정 미동작- 이것도 꽤 큰 이유였는데 proxy는 동작을 하는데 bypass는 설정이 먹지 않았다. git issue 등을 보니 podman 문제라기 보단 go lang..

IT 기술/기타 2025.02.25

Jupyter 홈 디렉터리 변경 - 25.02

개요jupyter 작업 간 공간 분리를 위해 홈 디렉터리를 변경하려 합니다. 작업환경jupyter 7.X, mac m3 방법1. config 생성mac 의 경우  ~/.jupyter/jupyter_notebook_config.py 에 config 파일이 생깁니다.jupyter notebook --generate-config  2. c.ServerApp.root_dir의 값 변경원하는 위치로 내용을 수정해주면 됩니다. (파이썬 파일이기 때문에 앞에 주석을 해제해주셔야 합니다.)  이제 실행하면 변경된 디렉토리 기준을 jupyter 가 실행됩니다.

개발언어/PYTHON 2025.02.19

Podman 으로 Docker 대신하기 - MAC m4

개요Docker는 오픈소스 기반이지만, Docker-Desktop 은 오픈소스 라이선스가 아니다.따라서 학업 간 사용할 땐 몰라도,  사내에서 활용하고자 하면 Docker-Desktop 은 구매 후 사용해야 한다.Docker Engine을 Docker-Desktop 이 아닌 Podman으로 대체하는 방법을 기술하고자 한다.podman 외에도 mac에선 lima 또한 많이 사용되나, Podman 은 GUI 환경도 직관적으로 제공하는 이점이 있다. 사전 준비brew는 설치되어 있음을 가정한다. 설치1. docker, podman 설치brew install docker podman 2. podman-desktop 설치각자 OS에 맞는 버전을 설치한다. (brew로 podman-desktop을 설치해도 무방하다..

IT 기술/기타 2025.02.14

MAC M4에서 한영 전환 - karabiner

개요MAC 에선 한/영 키가 cap 버튼에 있는데 해당 키의 키능이 한영전환 및 대문자 변환 기능을 내포하다 보니 한영 전환을 할때 씹히는 현상이 발생한다.주로 karabiner 를 설치하여 해결하므로 해당 방식을 간략히 공유하려 한다.  설정가이드1. karabiner 설치- 링크에 접속하여 karabiner 를 설치한다. 2. 권한 설정- 설치를 하고 프로그램을 실행하면 권한 설정하라는 메시지가 나오는데 아래와 같은 권한들이 필요하다.   권한 설정을 마치면 프로그램 메인 페이지기 표출된다.   3. 프로그램 설정 - 프로그램 내에 caps_lock 키를 f18 키로 바꿔준다. - MAC 에서 입력소스 변환을 f18 키로 변경해준다. (OS 버전에 따라 접속 화면 상이)키보드 -> 키보드 단축키 ->..

IT 기술/기타 2025.02.13

MAC에서 쿠버네티스 in GCP 접근하기

개요지난 포스팅에 GCP 에서 쿠버네티스를 실행하는 실습을 진행했습니다.이번엔 구축한 클러스터를 MAC에서 접근해서 이것저것 기본 정보를 확인해보려합니다. CLI 설치1. gcloud 커맨드 설치 각 플랫폼에 맞춰 패키지를 다운로드 합니다. 직접 다운받은 파일을 클릭하여 압축을 풀거나, 아래 커맨드로 압축을 풉니다. # 파일명은 각자 다운받은 파일명에 맞춰 변경tar xvf google-cloud-cli-darwin-arm.tar.gz 다운받은 폴더에 가서 아래 커맨드를 입력합니다../google-cloud-sdk/install.sh y/n 응답에 Y로 입력하면 커맨드는 설치가 됩니다.  2. gcloud 커맨드 초기설정설치한 디렉토리에 이동하여 아래 커맨드를 입력 후 구글 창이 뜨면 로그인합니다../b..

IT 기술/K8s 2025.01.25

쿠버네티스(K8s) 무료로 이용하기(GCP) -2025.01

개요K8s를 사용하여 웹서버 배포 및 helm에 대한 복기가 필요한 상황이 생겨 개인적으로 공부하고자 했으나AWS EKS 등의 과금은 꽤 부담되는 터라, 무료로 사용할 수 있는 GCP 를 사용하고자 한다. GCP 란?Google Cloud Platform 의 약자로, AWS와 더불어 현업에서 많이 사용하는 Cloud 플랫폼이다계정 당 1회 300$ 의 크레딧을 최대 3개월까지 사용가능하도록 제공해 줘 학습 및 추후 GCP로 운영 전환 하기에도많은 도움을 준다. GCP에서 K8s 무료 사용해보기 1. GCP에 접속하여 무료로 시작하기 클릭 (사전 구글 계정 로그인 필요) 2. 계정 설정하기  3. 결제 정보 입력직접 따로 결제를 하겠다고 설정하지 않는 한 실수로 과금될 일이 없다 4. K8s 활성화개인정보..

IT 기술/K8s 2025.01.24

[Jest] ESM 모듈에서 Mock 생성 간 발생하는 에러

0. 개요Express를 이용하여 백엔드 개발을 진행하고 있다. 단위테스트 및 통합 테스트 진행을 위해 Jest를 적용하기로 하고 테스트를 적용하던 중Mock을 생성하지 않은 통합 테스트 코드에선 정상 동작하나 Mock 생성 시 계속 에러가 났었다. 혹시라도 동일한 에러가 발생하는 분들에게 도움 되고자 글로 남긴다. 1. 에러 코드 재현import { jest } from '@jest/globals'import { getUserById } from '../../services/userService.js'// 이 부분에서 에러가 나거나jest.mock('../../services/userService.js');describe('controller module test', () =>{ const moc..

IT 기술/기타 2025.01.04