playdata/daily 13

17주차 : Day 2 (10/29)

오류 찾기아래 repo 의 docker 설정의 오류를 잡아 보세요.https://github.com/dMario24/k1s_err GitHub - dMario24/k1s_errContribute to dMario24/k1s_err development by creating an account on GitHub.github.com 충격실화이 때까지 NGNIX 인 줄 알았는데 NGINX였다....! 어제 blog-1, blog-2 두 개의 분산 서버를 사용하는 실습을 했다.새로운 시나리오 : blog1, blog2 가 존재 blog3 이 새로 생김 - LB 에 blog3 이 추가 되도록 -docker compose를 사용해서 먼저 서버 2개와 lb 서버를 띄워보자.services: blog_1: bu..

playdata/daily 2024.10.29

17주차 : Day 1 (10/28)

지금까지 배웠던 시스템(airflow, ngnix 등)을 docker로 수행해본다고 하셨다.먼저 Ngnix  먼저 httpd 디렉토리 내에 Dockerfile은 아래와 같이 작성했다.$ vi httpd/DockerfileFROM httpd:2.4 참고로 httpd 이미지를 사용하면 Apache HTTP Server를 설치하거나 별도로 설정할 필요 없이, 바로 컨테이너에서 웹 서버를 실행할 수 있다. 도커 이미지를 기반으로 쉽게 웹 애플리케이션을 배포하거나 테스트 환경을 구성할 수 있다. 빌드 및 실행 방법은 아래와 같다.# 빌드$ docker build -t my-apache2 docker/httpd/ # 실행$ docker run --rm httpd:2.4 \> cat /usr/local/apache2..

playdata/daily 2024.10.28

16주차 : Day 1 (10/21)

Jenkins Jenkins는 소프트웨어 개발 시 CI/CD(Continuous Integration/Continuous Delivery) 파이프라인을 자동화하는 오픈 소스 도구입니다. 주로 개발자가 코드를 커밋할 때마다 자동으로 빌드하고 테스트하며, 배포 작업까지 관리해주는 역할을 합니다. Jenkins는 다양한 플러그인을 통해 빌드, 테스트, 배포 환경을 쉽게 확장할 수 있으며, 코드 변경 사항을 지속적으로 통합하고 이를 빠르게 배포하는 데 중요한 역할을 합니다. $ wget https://get.jenkins.io/war-stable/2.462.3/jenkins.war$ java -jar jenkins.war --httpPort=8765 - localhost:8765 접속- 초기 로그인 정보 설정 ..

playdata/daily 2024.10.21

12주차 : Day 5 (9/27)

# TODO□ 요청자, 처리자간의 통계 / 불균형(누가 처리에 문제가 있는지 확인) VIEW 추가□ multi pages□ streamlit chart□ Deploy□ docker 1. 요청자, 처리자간의 통계 / 불균형(누가 처리에 문제가 있는지 확인) VIEW 추가이미지 판별기 테스트하면서 수집했던 AWS 서버의 DB에 쌓인 데이터를 활용한다.import streamlit as stimport pandas as pdimport matplotlib.pyplot as pltimport requestsst.title('요청/ 처리 건수 (h)')def load_data(): url = 'http://43.202.66.118:8077/all' r = requests.get(url) d = r..

playdata/daily 2024.09.30

12주차 : Day 4 (9/26)

이미지 파일이 핫도그인지, 아닌지 판별하는 프로그램이다.FastAPI를 사용하여 predict api를 생성한다.$ pdm add fastapi uvicorn$ pip install jinja2  1단계 : 큰 틀 만들기[main.py]서버에 접속하면 이미지 url을 지정해놓은 hotdog , coolcat 사진이 랜덤으로 출력된 화면을 볼 수 있다.return 부분을 보면 "index.html" 파일에 request와 image_url 변수가 전달된다.이 HTML 파일은 public 폴더 안에 있어야한다. 왜냐하면 html = Jinja2Templates(directory="public") 이기 때문에.해당 파일에서 Jinja2 문법을 사용하여 변수를 출력할 수 있다.from typing import ..

playdata/daily 2024.09.30

12주차 : Day 2 (9/24)

crontab학원에서도 하루죙일 했는데....집 와서 또 하루죙일 했다....$ cat pyproject.toml[project.scripts]ml-worker = 'mnist.worker:run'$ cat ml-work-cronjob* * * * * /usr/local/bin/ml-worker >> /var/log/worker.log 2>&1 ml-work-cronjob의 의미는크론 태스크 설정을 매 분마다 /usr/local/bin/ml-worker 스크립트를 실행하고, 그 결과를 /var/log/worker.log 파일에 기록하도록 설정하는 것 이다. 먼저 이해가 안됐던 부분은 /usr/local/bin ,, /var/log,,, >> 갑자기 등장한 낯선 경로들알아본 바로는 PDM 등 패키징 도구를..

playdata/daily 2024.09.30

12주차 : Day 1 (9/23)

지지난주, 로컬에 csv 파일로 저장하는 부분까지 끝마쳤다. 그 다음 단계이다. csv 영구 저장□ docker volume내가 만들고 있는 FastAPI  프로그램은 Docker image기반으로 제공되는데, 그 특성상 프로그램이 종료되면 내부에 저장했던 데이터가 휘발된다. 그 문제를 해결하기 위해 -v 옵션을 사용하는 방법이 있다.로컬 경로와 컨테이너 내부 경로가 연동되어 한 쪽에서 데이터가 생성되거나 삭제되는 경우 반대쪽에서도 같은 이벤트가 발생한다. 도커 이미지가 종료되어 내부 데이터가 휘발되어도, 로컬의 데이터는 삭제되지 않기 때문에 도커 내부 데이터도 휘발되지 않는 구조로 동작할 수 있다.# AWS 서버에서 수행# 연결 경로 생성$ mkdir /home/ubuntu/data/n23# 도커 볼륨..

playdata/daily 2024.09.24