삶
뭔가 제대로 되는 게 없다고 느끼지만
하나님이 나와 다시 함께 하실 것을 믿으며 느아간다정말 하나님이 함떼하시면 불가능한 일이없음을 믿으며 다시 믿고 의지하며 기도한다약한자를 일으키시는 주님을 믿으며 나아간다 사람이 계획할 지라도 그 발걸음을 옮기시는 것은 하나님이시다
대규모 데이터 처리 워크플로우
대표적인 대규모 데이터 처리 워크플로우데이터 수집Apache Kafka 또는 Logstash를 사용하여 다양한 소스에서 데이터를 수집.데이터 저장HDFS, Amazon S3 또는 데이터베이스(NoSQL)로 저장.데이터 처리Apache Spark 또는 Hadoop을 사용해 데이터를 분산 처리.데이터 분석 및 시각화Tableau, Power BI, Apache Superset을 사용하여 데이터 시각화.데이터 활용AI/ML 모델 학습 및 배포에 활용(TensorFlow, PyTorch).성공적인 대규모 데이터 처리의 핵심 요건효율적인 데이터 파이프라인 설계데이터 수집 → 저장 → 처리 → 분석으로 이어지는 통합된 파이프라인.확장 가능한 인프라수평 확장이 가능한 분산 시스템 도입.자동화데이터 처리를 자동화하여 ..
docker network
Bridge 네트워크는 Docker의 기본 네트워크 모드로, 가상 브리지를 통해 컨테이너 간 통신을 가능하게 합니다. 이 네트워크를 사용하면 같은 브리지 네트워크에 속한 컨테이너끼리는 이름이나 IP 주소를 사용해 통신할 수 있습니다.Bridge 네트워크 사용 예시1. 사용자 정의 Bridge 네트워크 생성기본 브리지 네트워크(bridge) 외에 사용자 정의 네트워크를 만들어 더 쉽게 관리하고 이름 기반 통신을 사용할 수 있습니다.네트워크 생성bash코드 복사docker network create my_bridge_networkmy_bridge_network라는 이름의 사용자 정의 네트워크를 생성합니다.2. 컨테이너를 Bridge 네트워크에 연결여러 개의 컨테이너를 사용자 정의 네트워크에 연결하면 컨테이너..
interface 와 명세서 이제 했니?
인터페이스 설계 또는 명세서 작성 경험은 시스템 간 통합, 서비스 간 데이터 교환, 또는 모듈 간 협력을 원활하게 하기 위한 핵심 작업입니다. 설계와 명세서 작성은 명확한 요구사항 정의와 데이터 흐름 설계, 그리고 이해관계자 간의 원활한 커뮤니케이션을 가능하게 합니다. 아래는 인터페이스 설계 또는 명세서 작성 경험을 STAR 구조로 작성한 예시입니다.1. 인터페이스 설계 및 명세서 작성 경험1.1 사례: ERP 시스템과 외부 회계 시스템 연동상황 (Situation):회사에서 ERP 인사 시스템과 외부 회계 시스템 간 데이터 통합이 필요.급여 데이터와 회계 데이터를 연동하여 월별 정산 및 보고서를 자동화해야 하는 프로젝트였음.과제 (Task):두 시스템 간 데이터를 주고받는 API 인터페이스를 설계.데이..
첨부파일 기능의 경우 신경써야하는 것들..
웹 애플리케이션에서 파일 업로드 기능을 구현할 때 보안과 성능 문제는 매우 중요합니다. 파일 업로드는 사용자 입력을 받아 서버에 저장하므로 잘못된 구현은 보안 위협과 성능 저하를 초래할 수 있습니다. 이를 해결하기 위한 접근법을 보안과 성능 측면에서 정리했습니다.1. 보안 문제 및 방지 방법1.1 파일 크기 제한문제점:대용량 파일 업로드로 인해 서버 메모리 및 디스크 공간이 고갈될 수 있음.해결 방법:업로드 가능한 파일 크기를 제한.예: 10MB 이하로 제한 (Content-Length 또는 백엔드 로직에서 체크).Chunked Upload를 구현하여 대용량 파일을 작은 조각으로 나눠 업로드.1.2 파일 형식 제한문제점:악성 코드가 포함된 파일이 업로드될 수 있음(예: .exe, .js, .php 등)...
API 설정시 나오는 이슈들.. 정리
API 서버 개발 시 발생할 수 있는 문제점은 다양하며, 각각의 문제는 기술적, 운영적 또는 설계적인 측면에서 발생할 수 있습니다. 아래는 주요 문제점과 그에 대한 설명, 해결 방안을 정리한 목록입니다.1. 성능 문제문제점:트래픽이 급격히 증가하면 서버가 느려지거나 다운되는 문제.요청 처리 속도가 느려 클라이언트 응답 시간이 길어짐.원인:비효율적인 데이터베이스 쿼리.과도한 요청(예: DDoS 공격, 부적절한 API 설계).캐싱 미활용.해결 방안:데이터베이스 인덱싱 최적화 및 쿼리 튜닝.Redis 같은 캐시 서버 사용.로드 밸런서를 통해 트래픽 분산.비동기 처리 및 큐 시스템(RabbitMQ, Kafka) 활용.2. 보안 문제문제점:민감한 데이터(예: 비밀번호, API 키)가 유출.인증 및 권한 관리의 부..
Kubernetes 공부
쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션을 자동으로 배포, 확장, 관리하는 오픈소스 플랫폼입니다. Google이 개발해 2014년 오픈소스로 공개했으며, 현재는 **클라우드 네이티브 컴퓨팅 재단(CNCF)**에서 관리하고 있습니다. 주로 컨테이너 오케스트레이션 도구로 사용되며, Docker와 같은 컨테이너 런타임과 함께 동작합니다.주요 개념컨테이너(Container):애플리케이션과 그 실행 환경을 패키지화하여 어디서든 실행 가능.Docker는 가장 널리 사용되는 컨테이너 기술.노드(Node):애플리케이션이 실행되는 물리적/가상 서버.마스터 노드: 클러스터 관리와 제어를 담당.워커 노드: 실제 컨테이너 워크로드를 실행.클러스터(Cluster):노드들의 집합.쿠버네티스는 클러스터를 기반으로..
실시간 서비스에서 사용자 수가 예상을 초과했을 때?..
실시간 스트리밍 서비스에서 예상치를 초과하는 사용자 수로 인해 시스템 리소스 부족과 끊김 현상이 발생한다면, 클라우드 기반의 확장성을 활용하여 문제를 해결할 수 있습니다. 아래는 이를 위한 단계별 해결 방법과 고려사항입니다.1. 클라우드 기반 확장성을 활용한 해결 방안1.1. 자동 확장(Auto Scaling)전략: 클라우드 서비스의 Auto Scaling 기능을 사용하여 사용자 트래픽에 따라 동적으로 서버 인스턴스를 추가하거나 제거합니다.CPU 사용률, 네트워크 대역폭, 메모리 사용률 등 트리거 기준을 설정하여 자동으로 리소스를 확장합니다.이점: 필요 시점에 리소스를 증설하여 고가용성을 유지하며 비용을 최적화할 수 있습니다.1.2. 로드 밸런싱전략: 클라우드 제공업체의 로드 밸런서를 활용하여 사용자 요..