Amazon Q로 간단한 게임 만들기
·
AWS
게임 선택: 왜 하필 스도쿠인가?스도쿠를 선택한 이유는 다음과 같습니다:개인 취향: 퍼즐 게임을 좋아하고, 그 중에서도 스도쿠를 좋아합니다.적절한 난이도: 스도쿠는 너무 단순하지도, 너무 복잡하지도 않아서 프로그래밍 개념을 보여주기에 적절합니다.명확한 규칙: 규칙이 명확해 AI에게 요구사항을 전달하기 수월합니다.풍부한 확장성: 단순한 그리드 렌더링부터 숫자 하이라이팅, 입력 검증 등 다양한 기능을 추가할 수 있습니다.보편적인 인지도: 대부분의 사람들이 스도쿠를 알고 있어 블로그 독자들이 쉽게 공감할 수 있습니다.웹 친화적: HTML, CSS, JavaScript를 통합해 보여주기 좋은 예제입니다. 효과적인 프롬프트 작성법1. 점진적인 기능 개발처음부터 모든 걸 요청하는 대신, 기능을 하나씩 나눠서 요청했..
k6-operation (make로 deploy)
·
카테고리 없음
K6 operator (k6 on k8s)➡️ 앞선 테스트를 진행해보면서 어떤 식으로 동작하는지 파악한 다음, k8s cluster 환경에서 작동하기 위한 테스트를 진행했습니다. 이 테스트는 prometheus를 연동하여 사용하는 것이기 때문에, 테스트 환경에 prometheus를 미리 세팅해놔야 합니다. k6 operator는 미리 정의해 둔 CRD를 이용하여 Custom Resource를 생성하고, ( 혹은 변경 )Operator가 Custrom Resource의 상태 변화를 확인하여 Cluster에 적용하는 방식입니다. Installgit clonegit clone && cd k6-operatorMakek8s에 적용할 k6 component들을 생성합니다.make deployk6의 custom r..
k6 - xk6로 extention 추가해보기
·
카테고리 없음
이 문서에서는 xk6라는 도구를 이용하여 기본 k6에는 없는 추가 기능을 적용하는 방법을 설명하겠습니다.k6가 설치된 환경을 전제로 진행하겠습니다.xk6란?xk6는 Grafana에서 제공하는 k6 binary 재빌드 툴이라고 볼 수 있습니다.특정 extension을 구현한 git repository를 참조하여 기존의 k6를 재빌드해서 해당 extension을 k6에서 사용할 수 있도록 합니다.xk6 설치xk6는 golang으로 작성한 도구입니다.따라서, go install 명령어로 빠르게 설치할 수 있습니다.go install go.k6.io/xk6/cmd/xk6@latestxk6에 적용할 extension repository 검색github에 접속하여 xk6 를 검색하면, 아래와 같이 k6 extens..
k6 - binary 써보기
·
Monitoring
K6는 js로 짜여진 특정 시나리오에 따라 부하 테스트를 해볼 수 있는 binary입니다.이 문서에서는 k6 binary를 설치하고, 시나리오를 정의해서 테스트하는 과정에 대해 설명하겠습니다. k6 binary 설치k6는 golang으로 작성한 도구입니다.따라서, go install 명령어로 빠르게 설치할 수 있습니다.go install go.k6.io/k6@latest그 밖에도, 여러 OS에서 설치할 수 있습니다. (아래 링크 참조)https://grafana.com/docs/k6/latest/set-up/install-k6/ Install k6 | Grafana k6 documentationUser-centered observability: load testing, real user monitorin..
머신러닝 기본 개념
·
kubeflow
kubeflow를 통해 구성해 볼 머신러닝에 대한 기본 개념을 간단하게 알아보자. 머신러닝 기초머신러닝의 종류- 지도학습 (Supervised Learning) - 라벨링이 되어있는 데이터를 통해서 학습 - 분류 / 회귀 분석- 비지도학습 (Unsupervised Learning) - 라벨링이 되어있지 않은 데이터를 통해서 학습 - 클러스터링 / 차원축소- 강화학습 (Reinforcement Learning) - 데이터가 주어지지 않을 수도 있음 선형 회귀 (Linear Regression)자료들 사이의 관계를 수학적으로 설명지도학습에 속함 선형 회귀의 주요 개념은 아래 두 가지- 가설 : 결과값을 예측하게 해줌- 손실 혹은 비용 : 가설의 정확도를 판단하는 기준비용을 최소화하..
간헐적으로 reset되는 counter 타입 메트릭의 누적값 대시보드
·
Monitoring
배경 - counter 타입의 메트릭 특징counter 타입의 메트릭은 계속 증가하는 값을 의미합니다.[ counter 타입 예시 ]http_requests_totalprocess_cpu_seconds_totalnode_network_receive_bytes_totalnode_network_transmit_bytes_totalcontainer_cpu_usage_seconds_totalkubelet_runtime_operations_totalcounter 타입의 메트릭은 주로 어느 정도 시간동안 얼마나 누적된 것인지 파악하는 경우가 많습니다. 예를 들어 아래와 같은 값입니다.최근 1시간동안 http request 횟수최근 1시간동안 node가 받은 network 트래픽량최근 1시간동안 가장 많은 트래픽을 ..
ingress-nginx validate webhook issue
·
Kubernetes
EKS 운영 하면서 겪었던 이슈를 공유합니다. ingress class를 alb로 지정한 상태로 프로비저닝을 시도했는데, ingress-nginx의 validate webhook 에러가 발생하면서 k8s resource(ingress) 자체가 배포되지 않는 현상 발생 근데 !! class가 alb니까 ingress-nginx랑은 상관없을 것 같았는데도 불구하고, ingress-nginx 관련 에러가 났습니다.나중에 validatingwebhookconfiguration에 대한 에러인 걸 확인하고 나서 해당 리소스에 설정된 값을 확인해 봤습니다.ingress-nginx의 validatingwebhookconfiguration은 ingress가 생성되면 무조건 호출되는 애라서, class가 뭐든 상관없이 발..
Grafana transform
·
Monitoring
Grafana Dashboard의 transform 기능 중 사용해 본 것들 정리 Merge https://grafana.com/docs/grafana/latest/panels-visualizations/query-transform-data/transform-data/#merge 여러 개의 query 결과를 하나로 합치기 위한 기능 time stamp랑 label을 기준으로 합칩니다. 위의 화면처럼, 파드 정보를 하나의 테이블에서 표시하고 싶을 때, 어느 노드에 스케줄링 됐는지 ( kube_pod_info ) cpu 사용량 ( container_cpu_usage_seconds_total ) memory 사용량 ( container_memory_working_set_bytes ) 이런 식으로 여러 개의 m..