주말만기다려 님의 글 57
pip와 venv, poetry를 uv 하나로 합치기 - pyproject.toml과 uv.lock으로 재현성 잡고 CI 빌드 시간 줄이기
Python 프로젝트를 새로 잡을 때마다 python -m venv 로 가상환경 만들고, pip install 로 패키지 넣고, pip freeze requirements.txt 로 목록을 뽑는 과…
Java 17과 Java 25의 차이 - 두 LTS 사이에 바뀐 것과 업그레이드 확인 목록
운영 중인 서비스의 JDK 버전을 물어보면 아직 17이라는 답을 제일 많이 듣습니다. 8에서 17로 넘어오면서 한 번 크게 고생한 기억이 남아 있으면 당분간 런타임에 손대기 싫어지는 것도 당연하죠.…
대용량 CSV와 로그를 pandas 대신 Polars로 빠르게 처리하기: lazy API와 벤치마크
수 GB짜리 접속 로그나 CSV를 pandas로 열다가 read_csv 에서 메모리가 꽉 차서 커널이 죽는 상황, 데이터 전처리를 해본 사람이라면 한 번쯤 겪는다. 필자도 로그 집계 스크립트를 돌릴…
Claude API 프롬프트 캐싱(cache_control)으로 반복 프롬프트 비용 줄이기: 브레이크포인트 설계와 절감 측정
1. 개요 사내 챗봇이나 에이전트를 붙여 달라는 요청을 받으면 기능 이야기보다 비용 이야기가 먼저 나올 때가 많습니다. 예전에 토큰 계산 스크립트를 정리한 글에서 캐싱 부분은 슬쩍 넘겼던 기억이 있…
Nodegroup 관련 eksctl 주요 명령어 정리 (command)
1. 배경 자주 쓰는 명령어가 아니라 정리가 필요함 2. 노드 그룹 목록 eksctl get nodegroup --cluster=클러스터이름 --region=리전이름 3. 노드 그룹 추가 eksct…
Node.js의 Callback vs. Promises vs. Async Await 차이점
1. 개요 Callback vs Promises vs Async Await 차이점은 무엇인가? 2. Callback JavaScript에서 함수는 객체이다. 따라서 객체를 매개변수로 함수에 전달할 …
Saga Pattern (사가 패턴)
1. 개요 Saga Pattern에 대해 알아보는 시간이다. 2. Saga Pattern이란? Saga Pattern 2PC를 사용할 수 없는 분산 환경에서 데이터 일관성을 위한 방안이다. 예전에 …
Microservice의 Application 구성, 복잡성 관리 (Config)
1. 개요 애플리케이션은 설정이 필요하다. DB 접속 정보, 연계되는 다른 서버의 정보 등등.. 과거에는 이러한 정보가 소스 코드 내에 하드코딩되어 있는 경우가 많았다. 하지만 이제는.. 특히 마이…
AWS API Gateway 계정이나 리전간 이동
1. 개요 여러가지 이유로 계정 혹은 리전간 API Gateway 이전이 필요할 때의 방법이다. 물론 노가다가로 하나하나 보고 다시 만들 수 있겠지만.. 2. 방법 2.1. 내보내기 현재 계정의 A…
AWS ALB 삭제 CLI
1. ALB 삭제 aws elbv2 delete-load-balancer \ --load-balancer-arn [ARN이름] \ --profile [프로파일] \ --region [지역] 예를 들…
node.js로 MySQL 조회 Lambda 함수 만들기
1. 개요 2. 작업 2.1. 작업할 로컬 디렉토리 생성 2.2. 로컬 디렉토리에서 필요 모듈 다운로드 우선 npm init 실행한 후 필요한 정보를 입력한다. 그러면 package.json이 생성…
Jenkins를 통해 주기적으로 빌드 수행 (Build Periodically)
1. 개요 Jenkins에서 정해진 시간마다 빌드를 수행한다. 2. 방법 [Project 구성] [빌드 유발]에서 Build periodically 선택 3. Schedule 설정 분 시간 날짜 월…