Python - io.BytesIO 예제
·
Programming/Python
io.BytesIO란"io.BytesIO"는 바이트 기반의 I/O 작업을 수행할 때 유용합니다.파일을 다루는 것과 동일한 인터페이스를 제공하지만,실제 파일 시스템이 아닌 메모리에서 바이트 데이터를 처리합니다. 주요기능메모리에서 바이트 데이터를 처리: 데이터를 메모리 내에서 처리하므로,  빠르게 바이트 데이터를 임시로 저장하고 조작파일과 같은 인터페이스: 파일 객체와 동일한 메서드(예: read(), write(), seek())를 제공, 실제 파일처럼 데이터를 처리  사용 예시1. BytesIO 객체에 바이트 데이터 쓰기 및 읽기import io# BytesIO 객체 생성byte_stream = io.BytesIO()# 바이트 데이터를 메모리 내에 쓰기byte_stream.write(b'Hello, By..
쿠버네티스를 활용한 네이티브 데브옵스 - 7장 유용한 쿠버네티스 도구
·
Infra/Kubernetes
7.1 kubectl 마스터하기리소스 단축형 사용kubectl get po      (pod)kubectl get deploy  (deployment)kubectl get svc     (service)kubectl get ns      (namespace)kubectl get no      (node)kubectl get cm     (configmap) 도움말 보기 (kubectl -h)kubectl -h상세 커맨드 도움말kubectl --help"kubectl get -h 더 자세한 출력 결과 확인하기kubectl get podsNAME READY STATUS RESTARTS AGEdemo-6c7dbfffb4-bkkpp 1/1 Ru..
쿠버네티스를 활용한 네이티브 데브옵스 - 6장 클러스터 운영하기
·
Infra/Kubernetes
6.1 클러스터 사이징과 스케일링- 트래픽과 비용은 반비례한다. 6.1.1 클러스터 용량 계획 세우기마스터 노드- 안정적인 k8s cluster를 위한 최소한의 마스터노드 개수는 3개이다.- 단일 노드는 HA가 안되고, 2개의 노드는 과반수가 안되어 리더 선정에 문제가 발생한다. 워커 노드 - 노드 장애를 고려하여 최소 2개의 워커노드로 구성한다.- 즉, 모든 파드의 Replica를 최소 두개씩 실행하는 것을 권장한다.- k8s 스케줄러가 노드 간에 워크로드를 항상 균등할당하지 않기에, 노드는 많을 수록 좋다. 6.1.2 노드와 인스턴스- 노드의 여유 용량이 많아 비용 낭비가 발생하지 않게한다. - AWS로 노드 구성 시, 최소 인스턴스 스펙은 vCPU 1개 이상, 메모리 4GB 이상이다. 6.1.3 클..
쿠버네티스를 활용한 네이티브 데브옵스 - 5장 리소스 관리하기
·
Infra/Kubernetes
5.1 리소스 이해하기 - 쿠버네티스는 파드는 크게 CPU, Memory 두 종류의 리소스를 관리할 수 있다. 5.1.1 리소스 단위- CPU 리소스를 할당할 때 사용하는 단위 중 하나가 "millicore"이다.- 1m 는 CPU 리소스의 1/1000 단위로 표현한 것이다. ( 10m = 1/100 )spec: containers: - name: demo image: cloudnatived/demo:hello ports: - containserPort: 8888 resources: requests: memory: "10Mi" cpu: "100m" 5.1.3 리소스 상한- 사용할 수 있는 충분한 용량의 노드가 없으면, 파드는 대기 상태로 기다린다..
[Data]Web log에서 유저별 페이지 방문 통계
·
Programming/CodingTest
문제웹 로그 데이터를 분석하여 각 페이지마다 유저들이 방문했는지 통계를 도출하고,유저의 나이와 성별을 기반으로 상세 통계도 구하시오. 주어진 웹 로그 데이터와 두 개의 테이블을 이용하여방문 페이지별로 유저 방문 수를 계산하고,유저의 나이대를 그룹화하여 각 페이지에서의 성별 통계를 포함한 결과를 출력해야 합니다.  요구사항- 각 페이지별로 유저 방문 수를 계산하시오.- 유저 정보를 기반으로 나이와 성별에 따라 그룹화하여, 유저 방문 수 통계를 구하시오.- 10대에서 20살인 경우는 10~20으로, 30대는 30~40으로, 50세 이상은 50~으로 표시합니다.- 유저 정보가 없는 경우, 유저 나이와 성별은 "-"로 표시합니다.- 로그는 hdfs에 저장되어 있고, 테이블은 mysql이며, Hive Table에..
Redis - 입문
·
Storage/Redis
Redis란?- Redis(Remote Dictionary Server)는 key-value로 저장- Redsi는 데이터 처리 속도가 엄청 빠른 NoSQL 데이터베이스- 인메모리에 모든 데이터를 저장해서, 데이터 처리 성능이 빠름  Redis 아키텍처 1. Redis Replication- Redis Replication은 마스터-슬레이브(master-slave) 아키텍처- 마스터 노드는 쓰기(write) 작업을 담당하고, 슬레이브 노드는 읽기(read) 작업을 수행- 슬레이브 노드는 마스터의 데이터를 실시간으로 복제하며, 마스터 노드의 데이터를 백업할 수 있음 2. Redis Sentinel- Redis Sentinel은 고가용성을 제공하는 시스템으로, 마스터-슬레이브 구조와 함께 동작- Sentine..
[Data] Excel 파일에서 IP 주소별 금액 집계
·
Programming/CodingTest
문제Excel 파일(data.xlsx)에는 여러 사용자의 IP 주소와 금액이 포함된 데이터가 있습니다.각 사용자의 IP 주소별로 금액의 총합을 구한 후, 금액이 가장 큰 사용자부터 순서대로 출력하는 함수를 작성하시오. 파일 구조 (data.xlsx)IP Address    User     Amount192.168.1.1    Alice     100192.168.1.2    Bob      150192.168.1.1    Alice     200192.168.1.3    Charlie 300192.168.1.2    Bob       50 요구사항- Excel 파일에서 데이터를 읽어들입니다.- IP 주소별로 각 사용자의 금액의 총합을 계산합니다.- 총합을 내림차순으로 정렬한 후 출력합니다.- Python..
Docker Swarm - 시크릿
·
Infra/Docker
Docker Secrets 이란Docker Swarm에서 Secrets는 민감한 데이터를 안전하게 관리하는 방법입니다.docker secret create 명령을 통해 Secret을 생성하고, 서비스에서 사용합니다.Secret은 컨테이너 내에서 파일 형태로 마운트되며, 환경 변수나 설정 파일을 통해 서비스가 Secret을 읽을 수 있습니다.Secret은 클러스터 매니저 노드에서 안전하게 관리되며, 컨테이너가 필요할 때만 접근할 수 있습니다.docker secret ls, docker secret inspect로 Secret을 확인합니다.docker secret rm으로 삭제할 수 있습니다.  Docker Secrets 생성먼저, 민감한 정보를 Secret으로 생성합니다. 여기서는 MySQL 데이터베이스 ..
wave35
아그거뭐였지?