본문 바로가기
반응형

전체 글141

냉장고 재료 관리 앱 — 장본 목록 한 번에 넣고 다시 장보기까지 장보고 온 재료를 앱에 넣으려고 했는데, 이름 넣고 수량 넣고 날짜 넣고... 재료가 많으면 입력부터 일이 된다.그래서 내가 개발한 ‘냉장고 재료를 부탁해’에는 이름을 모아서 한 번에 넣는 기능을 만들었다. 처음부터 모든 칸을 채우는 대신, 이름과 보관 위치부터 정리하는 방식이다.이번에는 두부·토마토·시금치를 등록하고, 재료를 쓴 뒤 다시 장보기 목록으로 보내는 순서까지 적어본다. 중간에 잘못 입력했을 때 되돌리는 방법도 같이 담았다. 화면은 0.2.1+48의 공통 Flutter Web 실행 화면이다. 실제 Android 앱과 화면 배치는 다를 수 있지만, 본문에서 설명하는 등록·사용 기록·장보기 흐름을 같은 코드로 확인했다.이름 세 개만 먼저 넣어보기오늘 화면의 ‘여러 재료 한 번에 추가’를 누른다. .. 2026. 10. 30.
냉장고 유통기한 관리 앱 직접 만들고 출시했습니다 - 냉장고 재료를 부탁해 by Android 직접 만든 생활 앱 출시 후기냉장고 유통기한 관리 앱 냉장고 재료를 부탁해 출시했습니다냉장고 재료, 유통기한, 소비기한, 장보기 목록까지 한 번에 관리할 수 있는 앱을 Google Play에 출시했습니다.Google Play에서 앱 보기 제가 직접 기획하고 개발한 냉장고 관리 앱 “냉장고 재료를 부탁해”를 Google Play에 출시했습니다. 이 앱은 냉장고 속 식재료를 등록하고, 유통기한과 소비기한을 관리하며, 부족한 재료는 장보기 목록으로 정리할 수 있도록 만든 생활 앱입니다.장을 보고 냉장고에 재료를 넣어두면 시간이 지나면서 “이거 언제 샀더라?”, “유통기한이 지났나?”, “집에 양파가 있었나?”, “장보러 갔는데 냉장고에 뭐가 있는지 기억이 안 나네?” 같은 일이 자주 생깁니다. 저도 이런 상황.. 2026. 6. 15.
Kubernetes Pod Pending 원인 찾기 — CPU 부족을 직접 재현해봤다 Pod가 Pending에서 멈췄다. 기다리면 뜰 것 같아서 한참 뒀는데 그대로다. 이런 경우 로그부터 열면 헛걸음하기 쉽다. 컨테이너가 아직 시작하지 않았으니 남은 로그가 없기 때문이다.먼저 노드에 배정됐는지 보면 원인이 좁혀진다. Node가 비어 있으면 CPU·메모리 요청량이나 배치 조건을 보고, 노드 이름이 있으면 이미지와 볼륨 준비 단계로 넘어간다. 여기서는 로컬 Kubernetes에서 CPU 요청량을 크게 넣어 Pending을 만들고, 다시 Running으로 바꾸는 데까지 해봤다.CPU 부족 오류를 직접 만드는 설정Docker Desktop의 Kubernetes v1.35.1, 컨트롤 플레인 1대와 워커 1대에서 실행했다. 아래 명령은 --context docker-desktop을 명시했다. 실습.. 2026. 4. 9.
Terraform 코드 검사와 테스트 fmt validate terraform test Terratest 구분 Terraform 코드가 보기 좋게 정리됐다고 배포가 성공하는 것은 아니다. 반대로 실제 클라우드 자원을 만들어야만 모든 검사를 할 수 있는 것도 아니다. 검사 목적을 나누면 PR에서 빠르게 확인할 것과 별도 환경에서 검증할 것을 구분할 수 있다.로컬 확인 기록 · Terraform native test의 정상 입력 apply와 잘못된 입력 expect_failures 2개를 실행했다. Go Terratest는 실행하지 않았다.fmt와 validate의 범위terraform fmt -check -recursiveterraform init -backend=false -input=falseterraform validatefmt -check는 형식을 검사하고 validate는 구성의 문법과 참조 관계를 검사한.. 2025. 9. 28.
Terraform 드리프트 발견 시 apply 전에 확인할 것 import와 moved 구분 Terraform plan에 예상하지 못한 변경이 나오면 먼저 그 변경을 유지할지 되돌릴지 정해야 한다. 콘솔에서 실수로 바꾼 설정과 장애 대응 중 의도적으로 바꾼 설정은 처리 방법이 다르다.로컬 확인 기록 · 로컬 파일 생성·삭제 후 refresh-only·복원·moved 적용과 terraform_data import를 실제 실행했다. AWS S3 import는 실행하지 않았다.로컬 파일 생성·삭제 후 refresh-only·복원·moved 적용과 terraform_data import를 실제 실행했다. AWS S3 import는 실행하지 않았다.코드와 state와 실제 자원코드는 원하는 구성을 선언한다. 실제 자원은 서비스 API나 파일 시스템에 존재한다. state는 코드의 리소스 주소와 실제 객체.. 2025. 9. 27.
Terraform으로 OpenTelemetry Collector 배포하고 trace 수신 확인하기 Collector Pod가 Running이라고 앱의 관측 데이터까지 도착한 것은 아니다. 앱이나 receiver에서 신호를 만들고, pipeline에서 처리하고, exporter가 목적지로 보내야 한다. 처음에는 trace 한 종류를 직접 보내 수신 경로부터 확인하는 편이 단순하다.로컬 확인 기록 · Terraform fmt·init -backend=false·validate만 실행했다. AWS·Kubernetes API에 연결하지 않았으며 cloud 생성과 Helm 설치는 수행하지 않았다. 최초 검사에서 실습 준비 파일이 누락돼 실패했고, 본문에 있는 values 파일을 추가한 뒤 validate를 다시 실행했다.이 글의 범위이미 준비된 Kubernetes 클러스터에 Helm provider로 Coll.. 2025. 9. 26.
반응형