전체 글(125)
-
EKS ArgoCD 배포 완료 Slack 알림 설정하기 - Incoming Webhook 방식
ArgoCD를 통해 Kubernetes 애플리케이션을 배포하고 있지만, 배포 완료 여부를 매번 ArgoCD UI에서 직접 확인해야 하는 불편함이 있었습니다.배포가 성공하면 Slack 채널에 자동으로 알림이 오도록 설정하여, 팀원 모두가 실시간으로 배포 상태를 파악할 수 있도록 개선한 과정을 정리했습니다.1. ArgoCD Notifications 구조 이해설정에 앞서 ArgoCD Notifications의 동작 구조를 먼저 이해할 필요가 있습니다.Trigger (언제?) → Template (무슨 내용?) → Service (어디로?)Trigger: 알림 발동 조건 정의 (예: Sync 성공 시)Template: 알림 메시지 포맷 정의 (예: 앱 이름, Sync 상태, Revision 등)Servi..
2026.03.19 -
LightGBM(LGBM)을 사용한 부동산 가격 예측 - 3(테스트 모델 개발)
LightGBM을 사용한 부동산 실거래가 예측을 위한 개발 과정을 담았습니다. 대략적인 순서는 모델 선정,학습 데이터 전처리, 테스트 모델 개발, 변수 및 파라미터 값 조정 순으로 진행해보려 합니다. 이번 글은 앞선 전처리 글에 이어지는 테스트 모델링 · 하이퍼파라미터 튜닝 · Expanding Window · SHAP 분석까지 포함한 글입니다.LightGBM 부동산 가격 예측 – 모델링, Optuna 튜닝, Expanding Window 검증, SHAP 해석이전 글에서는 전처리 전략을 다뤘고 그에 이어, 이번 글에서는 다음 내용을 정리합니다.왜 KFold가 아닌 Expanding Window인가?Optuna를 활용한 하이퍼파라미터 탐색최종 테스트 성능 평가SHAP 기반 모델 해석1. 왜 KFold가 아..
2026.03.09 -
LightGBM(LGBM)을 사용한 부동산 가격 예측 - 2(전처리)
LightGBM을 사용한 부동산 실거래가 예측을 위한 개발 과정을 담았습니다. 대략적인 순서는 모델 선정, 테스트 모델 개발, 학습 데이터 전처리, 변수 및 파라미터 값 조정 순으로 진행해보려 합니다. 이번 글에서는 학습 데이터 전처리, 테스트 모델 개발부분을 다룹니다. 전처리 전략 설계 과정부동산 가격 예측은 단순한 회귀 문제가 아닙니다.실거래 데이터는 heavy-tail 분포, 극단값 존재, 시계열적 특성, 지역 범주형 변수 다수 포함이라는 특징을 가집니다.모델 성능을 좌우했던 데이터 전처리 전략을 정리해보겠습니다.글에서 df_train, df_test는 각각 학습 데이터, 예측 결과 데이터 입니다.1. LGBM 특성과 전처리 핵심LGBM 특징스케일링이 거의 필요 없음비선형 관계를 잘 포착범주형 변수..
2026.03.06 -
LightGBM(LGBM)을 사용한 부동산 가격 예측 - 1(모델 선정)
LightGBM을 사용한 부동산 실거래가 예측을 위한 개발 과정을 담았습니다. 대략적인 순서는 모델 선정, 테스트 모델 개발, 학습 데이터 전처리, 변수 및 파라미터 값 조정 순으로 진행해보려 합니다. 이번 글에서는 모델 선정 과정을 정리합니다. 모델 특징 비교부동산 가격추정에 유리한 모델을 정리하여 추렸습니다.구분LGBMXGBoostCatBoost기본 구조Leaf-wise BoostingLevel-wise BoostingOrdered Boosting학습 속도매우 빠름보통느린 편튜닝 난이도중간중간~높음비교적 쉬움범주형 처리직접 인코딩 필요직접 인코딩 필요자동 처리 강점과적합 경향다소 있음비교적 안정적가장 안정적이상치 대응약간 민감중간강함SHAP 해석매우 좋음매우 좋음좋음대용량 데이터매우 강함강함중간실무..
2026.03.04 -
CA 인증서 설정오류로 인한 ssl 에러 해결
Mac에서 인증서(키체인)를 잘못 건드린 뒤 gemini를 사용할 때 TypeError: fetch failed sending request 에러가 발생하고 curl을 날려도 abort 가 나오는 상황입니다. mac환경에서 인증서문제를 해결하기 위한 방법을 정리했습니다. 0. curl 테스트curl https://generativelanguage.googleapis.com1. 노드 버전 확인 및 재설치node -vbrew uninstall nodebrew install node 2. 환경번수 확인echo $NODE_TLS_REJECT_UNAUTHORIZED 0이 나올 시 제거unset NODE_TLS_REJECT_UNAUTHORIZED 3. OpenSSL / CA 재설정brew reinstall open..
2026.02.25 -
GitHub Actions + Docker Buildx로 레이어 캐시 적용하기 – CI 빌드 시간 70% 단축하기
Docker 레이어 캐시를 GitHub Actions에서 Buildx와 ECR를 활용해 적용한 과정을 공유하려고 합니다. 특히, 의존성 설치 단계를 분리해 캐시 히트율을 극대화하고, 빌드 시간을 70% 이상 단축한 사례를 소개합니다. Docker 레이어 캐시가 필요한가?Docker는 레이어 기반으로 이미지를 빌드합니다. RUN, COPY, ADD 등의 명령어는 각각 하나의 레이어를 생성하고, 이 레이어가 변경되지 않으면 재사용(캐시)됩니다.하지만 CI 환경에서는: • 매번 새로운 runner 사용 → 로컬 캐시 없음 • requirements.txt가 자주 변경되지 않는데도 COPY ./app /app 후 pip install이 매번 실행됨 • 결과적으로 의존성 설치에 3~5분 소요이걸 해결하기 위해 D..
2025.11.26 -
AWS Graviton Instance 전환
이 글에서는 Graviton 인스턴스로 전환하는 과정, Docker 이미지 아키텍처 문제 해결, EKS에 새로운 Node Group 추가 및 파드 배치 과정을 단계별로 공유합니다.AWS Graviton(Arm 기반) 인스턴스는 비용 절감(20~40%), 성능 향상 등 강력한 장점을 제공합니다.Amazon EKS 또한 arm64 아키텍처를 공식 지원아기 때문에 기존 워크로드를 큰 수정 없이 옮길 수 있습니다. Graviton(Arm 기반) 인스턴스로 전환할 때 장점비용 효율성동일 스펙 대비 약 20~40% 저렴같은 비용으로 더 높은 성능 확보 가능온디맨드/스팟/RI 모두 가격 혜택성능 개선Graviton2/3는 최신 Arm 아키텍처 기반으로 CPU 성능/와트 효율이 우수일부 워크로드에서는 x86 대비 더..
2025.09.05 -
Google Gemini CLI 설치 방법(MacOS)
이 글에서는 Google의 Gemini CLI 설치 방법을 정리했습니다. 설치 과정에서 발생할 수 있는 인증 에러와 그 해결 방법도 함께 다루었으니, 처음 Gemini CLI를 설정하는 분들도 문제없이 따라하실 수 있습니다. 터미널 환경에서 Gemini CLI 활용하고 싶은 분들에게 도움이 될 내용입니다.설치 방법1. node 설치google gemini가 node기반이라 설치필요 brew install node node -v2.Gemini CLI 설치npm install -g @google/gemini-cli 3.gemini 실행 후 인증방법 선택gemini인증방법 교체 혹은 인증 재시도 시 /auth 명령어 실행4. Login with Google 동작 시 권한 에러 발생 시 처리 방법1. Googl..
2025.07.18