playdata 29

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

[플레이데이터 데이터 엔지니어링 캠프 32기] 15주차 회고

Greeting spring boot동작□ 아래와 같이 동작하는 서비스 만들기□ 아래와 같이 입력한 값을 기억하고 있다가 계속 화면에 출력하기□ 똑같이 동작하는 fastAPI 만들기□ Pepole.java 를 만들기 Pepole 은 num(int), name(String) 속성을 갖고 있음□ greeting.html num, name 같이 출력□ 입력받은 이름(영어로) -> Min,Kim,Park 처럼 첫 문자가 대문자로 표현되도록 나는 intellij 사용했다.먼저 아래와 같이 프로젝트를 생성해주었다.  우선 연결이 되는지 테스트하는 방법이다.resources -> static 경로에 index.html 파일을 생성하고 아래와 같이 내용을 구성했다. GreetingApplication을 실행하고 loc..

playdata/weekly 2024.10.20

[플레이데이터 데이터 엔지니어링 캠프 32기] 14주차 회고

https://soojin1.tistory.com/27 project 3. AI Control System ( AI 관제 시스템 )목적임의의 ML 및 DL 모델에 대한 서비스를 관리 제어 하는 내부 관리 프로그램streamlit 을 통해 관리 화면을 html css js 없이 python 만으로 생성관리화면은 예측 결과에 대한 검토 및 잘못된 예측에soojin1.tistory.com 이번 주 회고는 프로젝트 회고로 대체하겠습니달

playdata/weekly 2024.10.14

project 3. AI Control System ( AI 관제 시스템 )

목적임의의 ML 및 DL 모델에 대한 서비스를 관리 제어 하는 내부 관리 프로그램streamlit 을 통해 관리 화면을 html css js 없이 python 만으로 생성관리화면은 예측 결과에 대한 검토 및 잘못된 예측에 대한 코맨트, 라벨 기록 가능그 외 관리 화면에서 위 검토된 코맨트, 라벨을 기반으로 서비스 예측 정확성 통계 도출사용 기술pysparkstreamlitairflowmariadbfastapi ( 모델 서빙 및 모델 질의 API & streamlit 관리 화면 사용 query API )구조Airflow DAG 2 종 ( 질의처리, 집계 )모델 처리 결과는 파일 형식(log)으로 저장파일로 저장된 log 의 집계 및 집계 결과는 DB 에 저장 - pySpark 활용산출물github team..

playdata/project 2024.10.14

[플레이데이터 데이터 엔지니어링 캠프 32기] 13주차 회고

✏️ 학습내용 ▶ 에어플로우와 데이터베이스 백엔드  Bitnami PostgreSQL 스택은 PostgreSQL 데이터베이스 서버를 쉽게 설치하고 실행할 수 있도록 Bitnami에서 제공하는 패키지입니다. 이 스택은 PostgreSQL 데이터베이스 뿐만 아니라, 이를 사용하기 위해 필요한 기본적인 설정과 다양한 유틸리티들을 포함하고 있어, 사용자가 PostgreSQL 환경을 쉽게 설정할 수 있도록 돕습니다.  $ docker pull postgres:12$ docker run -d -e POSTGRES_DB=airflow_db \-e POSTGRES_USER=airflow_user \-e POSTGRES_PASSWORD=airflow_pass \--name airpg \-p 15432:5432 \post..

playdata/weekly 2024.10.06

[플레이데이터 데이터 엔지니어링 캠프 32기] 12주차 회고

https://soojin1.tistory.com/20 12주차 : Day 1 (9/23)지지난주, 로컬에 csv 파일로 저장하는 부분까지 끝마쳤다. 그 다음 단계이다. csv 영구 저장□ docker volume내가 만들고 있는 FastAPI  프로그램은 Docker image기반으로 제공되는데, 그 특성상 프로그램soojin1.tistory.comhttps://soojin1.tistory.com/21> /var/log/worker.log 2>&1 ml-work-cronjob" data-og-host="soojin1.tistory.com" data-og-source-url="https://soojin1.tistory.com/21" data-og-url="https://soojin1.tistory.com..

playdata/weekly 2024.09.30

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