개발(21)
-
Nginx 알아보기 (AI 모델 서빙 관점)
배경NGINX가 등장하게 된 배경은 2000년대 초반, 인터넷 사용량과 웹 트래픽이 급증하면서 등장한 웹 서버의 확장성 문제를 해결하려는 시도에서 비롯되었습니다. 당시 가장 많이 사용되던 Apache HTTP Server는 요청당 하나의 스레드를 사용하는 멀티스레드 기반 아키텍처였는데, 이는 다수의 동시 요청을 처리할 때 서버 자원을 과도하게 사용하게 되어 성능 저하와 서버 과부하를 일으키는 문제가 있었습니다. 대표적인 문제로 C10K 문제(한 번에 1만 개의 연결을 처리하는 문제)로 알려져 있으며, 당시 서버는 많은 트래픽을 처리하는 데 어려움을 겪었다고 합니다. 러시아의 소프트웨어 엔지니어 Igor Sysoev는 이러한 문제를 해결하기 위해 2002년부터 새로운 웹 서버 소프트웨어 개발을 시작했고,..
2024.09.18 -
컨테이너 내 GPU 모니터링 시스템 구축: NVIDIA DCGM, Prometheus, Grafana를 활용한 실시간 분석
GPU Monitoring in Containers 프로젝트 소개프로젝트 배경최근 대규모 언어 모델(LLM)과 같은 딥러닝 모델이 급격히 발전하면서 GPU의 효율적인 사용이 매우 중요해졌습니다. 특히 여러 컨테이너 환경에서 동시에 다양한 작업이 수행될 때, GPU 사용률을 실시간으로 모니터링하고, 성능 병목을 해결하는 것은 필수적입니다. 기존의 많은 GPU 모니터링 시스템이 컨테이너 단위가 아닌 시스템 전체에 대한 GPU 사용량만을 제공하기 때문에, 컨테이너별로 세밀한 모니터링을 수행하기에는 한계가 있었습니다. 이 프로젝트는 NVIDIA DCGM(Data Center GPU Manager), Prometheus, 그리고 Grafana를 사용하여 컨테이너별로 GPU 사용량을 모니터링하고, 이를 시각화하여 ..
2024.09.18 -
React) Nomad 실전형 리액트 훅(Custom) 내용 정리해보기
Nomad 선생님의 강의를 듣고 예시와 각각의 개념에 대해서 정리해보기로 하였습니다. https://nomadcoders.co/react-hooks-introduction/lobby 해당 영상을 통해 유용한 Hook들을 알게 되었고, 기존에 많이 사용하는 useRef, useState, useEffect 에 대한 개념을 더 잘 이해하게 된 것 같습니다. 기존에 이러한 내용을 모르고 만든 부분들에서 개선점을 확인할 수 있었고, 초보자에게 유용한 내용이였습니다. 그래서 관련 내용에 대한 개념이랑 예시 코드들을 정리해봤습니다. Custom Hook 이란 정의 Custom Hook은 React에서 제공하는 기본 Hook을 조합하거나, 특정 작업을 위한 추가 로직을 포함하여 사용자가 직접 만든 재사용 가능한 Ho..
2024.03.16 -
Vercel을 이용해서 프론트 배포해보기 (배포 화면)
Vercel이란? Vercel은 Next.js 개발 팀에서 만든 프론트엔드 배포 플랫폼 빌드와 배포 그리고 호스팅을 해주는 서비를 제공합니다. 가정 1. 일단 사전 조건으로는 github에 배포할 레포지토리고 존재한다는 가정으로 시작한다. 2. 로컬에서 npm run build를 할 때 정상적으로 build 폴더가 생겼다는 가정에서 시작한다. Package.json 에서 Vercel 에서 배포하기 위해 필요한 Script 추가 그리고 거기에는 vercel을 사용하기 위한 필수적인 설정을 해야 한다.(build, start)를 고정으로 해야 함. "scripts": { "dev": "next dev", "build" : "next build", "start" : "next start" }, Vercel 가..
2024.02.17 -
Docker) 에러 해결하기 - exec: "docker-credential-desktop.exe": executable file not found in $PATH, out:
윈도우 환경에서 WSL2로 Ubuntu 환경을 만들어 도커를 테스트 하는 도중 발생하는 에러 로그인이 안되는 문제가 발생함. 에러 해결 방법 vi ~/.docker/config.json credsStore 라고 되어 있는 것을 credStore 로 변경 그 다음에 다시 로그인을 실행하니 잘됨. https://forums.docker.com/t/docker-credential-desktop-exe-executable-file-not-found-in-path-using-wsl2/100225 Docker-credential-desktop.exe executable file not found in $PATH using wsl2 Using the latest build of Windows 10 and Docker..
2023.11.10 -
Docker) Network에 대해서 공부해보기
저번에 docker-compose로 여러 개의 컨테이너를 묶고 고정 ip가 되어 있는 상태에서 진행을 하려고 했는데, network에 대한 개념이 부족해서, 잘 안된 적이 있습니다. 그래서 각 개념에 대해서 대략적으로 알아야 할 것 같아서 정리를 하고자 합니다. 일단 gateway부터 알아보기 시작했습니다. Gateway란? 네트워크에서 다른 네트워크로 연결하는 역할을 하는 네트워크 장비라고 합니다. 일반적으로는 라우터 혹은 스위치가 Gateway 역할을 한다고 합니다. 예시 - 다른 언어를 사용하는 두 사람 사이에 통역사나 번역기와 같다고 합니다. - 다른 화폐를 사용하는 두 국가 사이에 환전소 예를 들어, 집에서 인터넷을 사용할 때는 가정 내부의 컴퓨터와 모바일 기기들이 하나의 네트워크로 연결되어 있..
2023.03.13 -
Docker) Docker Compose에 대해서 간단하게 알아보기
Docker Compose란 Docker Compose란 여러 컨테이너를 가지는 애플리케이션을 통합적으로 만들고, 각각의 컨테이너를 시작 및 중지하는 작업을 더 쉽게 수행할 수 있도록 도와주는 도구입니다. 위의 그림으로 직관적으로 이해한다고 보면 여러 컨테이너를 한 번에 시작 및 실행을 해주는 도구라고 볼 수 있습니다. 그렇다면 이런 게 왜 필요할까? 3 계층 구조(3 Tier- Architecture) 란? 어떠한 플랫폼을 3 계층으로 나누어 별도의 논리적/물리적인 장치에 구축 및 운영하는 형태 보통 서버 한대에 여러 기능을 구축하는 것이 아니라 계층으로 나눠서 관리하게 된다고 합니다. 여기서는 데이터 계층, 로직 계층, 클라이 언 계층으로 나누고, 각각의 기능으로 별도의 논리적/물리적인 장치로 운영하..
2023.03.08 -
Node.js) MongoDB 접속 후 DB 다루기
Chapter 2023.03.03 - [개발/MongoDB] - MongoDB) 계정 만들고 db 생성하고 CRUD 해보기 2023.03.03 - [개발/Node.js] - Node.js) 설치부터 REST API 만들어보기 2023.03.04 - [개발/Node.js] - Node.js) 비동기 프로그래밍 (Asynchronous Programming) 공부해보기 2023.03.04 - [개발/Node.js] - Node.js) MongoDB 접속 후 DB 다루기 참고 해당 내용은 강의를 기반으로 작성하였습니다. 강의를 들으면 더욱 상세한 내용을 얻으실 수 있으니, 강의를 듣기를 권장합니다. https://www.inflearn.com/course/%EB%AA%BD%EA%B3%A0%EB%94%94%EB..
2023.03.04 -
Node.js) 비동기 프로그래밍 (Asynchronous Programming) 공부해보기
Chapter 2023.03.03 - [개발/MongoDB] - MongoDB) 계정 만들고 db 생성하고 CRUD 해보기 2023.03.03 - [개발/Node.js] - Node.js) 설치부터 REST API 만들어보기 2023.03.04 - [개발/Node.js] - Node.js) 비동기 프로그래밍 (Asynchronous Programming) 공부해보기 2023.03.04 - [개발/Node.js] - Node.js) MongoDB 접속 후 DB 다루기 참고 해당 내용은 강의를 기반으로 작성하였습니다. 강의를 들으면 더욱 상세한 내용을 얻으실 수 있으니, 강의를 듣기를 권장합니다. https://www.inflearn.com/course/%EB%AA%BD%EA%B3%A0%EB%94%94%EB..
2023.03.04 -
MongoDB Atlas가 기계 학습에 적합한 4가지 이유
MongoDB가 그러면 내가 자주 사용하는 기계 학습과 어떻게 연관될 수 있는 지를 찾아봤다. MongoDB를 머신러닝에 적합한 이유를 찾을 때 보통 아래와 같은 이유들을 말하는 것 같다 Reason Number 1: Flexible Data Model MongoDB는 여러 가지 이유로 기계 학습을 위한 최고의 데이터베이스 중 하나입니다. 첫 번째 이유는 MongoDB가 JSON 문서를 저장하고 유연한 스키마를 가지고 있기 때문입니다. 열 정의가 있는 스키마와 테이블을 정의해야 하는 관계형 데이터베이스와 달리 MongoDB를 사용하면 사전 스키마 설계 없이 데이터를 직접 로드할 수 있습니다. 즉, 새로운 소스에서 데이터를 로드하고 즉시 작업을 시작할 수 있습니다. 이러한 기본적인 유연성 때문에 가스 가격..
2023.03.03 -
Node.js) 설치부터 REST API 만들어보기
Chapter 2023.03.03 - [개발/MongoDB] - MongoDB) 계정 만들고 db 생성하고 CRUD 해보기 2023.03.03 - [개발/Node.js] - Node.js) 설치부터 REST API 만들어보기 2023.03.04 - [개발/Node.js] - Node.js) 비동기 프로그래밍 (Asynchronous Programming) 공부해보기 2023.03.04 - [개발/Node.js] - Node.js) MongoDB 접속 후 DB 다루기 참고 해당 내용은 강의를 기반으로 작성하였습니다. 강의를 들으면 더욱 상세한 내용을 얻으실 수 있으니, 강의를 듣기를 권장합니다. https://www.inflearn.com/course/%EB%AA%BD%EA%B3%A0%EB%94%94%EB..
2023.03.03 -
MongoDB) 계정 만들고 db 생성하고 CRUD 해보기
Chapter 2023.03.03 - [개발/MongoDB] - MongoDB) 계정 만들고 db 생성하고 CRUD 해보기 2023.03.03 - [개발/Node.js] - Node.js) 설치부터 REST API 만들어보기 2023.03.04 - [개발/Node.js] - Node.js) 비동기 프로그래밍 (Asynchronous Programming) 공부해보기 2023.03.04 - [개발/Node.js] - Node.js) MongoDB 접속 후 DB 다루기 참고 해당 내용은 강의를 기반으로 작성하였습니다. 강의를 들으면 더욱 상세한 내용을 얻으실 수 있으니, 강의를 듣기를 권장합니다. https://www.inflearn.com/course/%EB%AA%BD%EA%B3%A0%EB%94%94%EB..
2023.03.03