Flask는 템플릿을 사용하여 웹 페이지를 동적으로 렌더링할 수 있다.템플릿은 HTML 파일과 유사하지만 그 안에서 파이썬 코드(Jinja2 템플릿 언어)를 사용하여 데이터를 동적으로 삽입하고 제어 1. 템플릿 파일 디렉토리 구조 /project_name |-- app.py |-- config.py |-- models.py |-- templates/ |-- categories.html |-- products.html |-- users.html |-- test.db templates/index.html Welcome to the Home Page Click below to see the categories, products, or ..
ORM (Object-Relational Mapping) 객체 지향 프로그래밍 언어에서 관계형 데이터베이스의 데이터를 객체로 매핑하는 방법Flask-SQLAlchemy는 Python 객체와 데이터베이스 테이블 간의 매핑을 자동으로 처리 -> SQL 쿼리 작성 없이 Python 객체를 다루듯 데이터베이스와 상호작용 가능# ORM 설치$ pip install flask-migrate ORM 구성 1. config.py.env 파일: 애플리케이션 외부에서 환경 변수를 관리하는 파일비밀번호, API 키, 데이터베이스 URI와 같은 민감한 설정 값들이 포함SQLALCHEMY_DATABASE_URI: 데이터베이스 URI를 설정SQLALCHEMY_TRACK_MODIFICATIONS: False로 설정하여 Flask가..
백앤드 백엔드는 사용자가 직접 접근하지 않는 서버 측 시스템을 의미하며, 데이터 처리, 비즈니스 로직, 인증, API 제공 등을 담당한다.백엔드 프레임워크란?백엔드 프레임워크는 웹 애플리케이션 개발을 쉽게 만들기 위한 라이브러리와 도구 모음이다.개발자는 이를 통해 요청을 처리하고, 보안 및 데이터베이스 작업을 쉽게 구현할 수 있다.💡 웹 프레임워크를 사용하면 좋은 점✅ 반복적인 작업 감소 → 요청 라우팅, 데이터 검증 등을 자동화✅ 개발 속도 향상 → 기본적인 기능이 제공됨✅ 디버깅과 테스트 도구 제공 → 오류 찾기가 쉬움어떤 프레임워크를 고를지 고려사항프로젝트 규모와 복잡도프레임워크 확장 가능성커뮤니티라이선스 정책Flask장점간결하고 가볍다. 불필요한 기능이 없어, 필요한 기능만 추가해서 사용 가능자..
Monday(03.24) JavaScript 개념 정리 1. 변수와 데이터 타입(1) 변수 선언 방식var: 함수 스코프, 재선언/재할당 가능 let: 블록 스코프, 재선언 불가, 재할당 가능const: 블록 스코프, 재선언 불가, 재할당 불가 (2) 데이터 타입JavaScript의 데이터 타입은 크게 원시 타입과 참조 타입으로 나뉜다. 코틀린이랑 비슷하네원시 타입 (Primitive Type)Number: 정수, 부동소수점 String: 문자열 Boolean: 논리값 null: 값이 없음을 나타냄undefined: 변수가 선언되었지만 값이 할당되지 않음Symbol: 유일한 값 생성 BigInt: 큰 정수를 다룰 때 사용 참조 타입 (Reference Type)Object: 키-값 쌍을 가지는 객체Arr..
쿠버네티스는 로드밸런싱과 헬스체크를 통해 시스템의 안정성을 유지하고 트래픽의 분배와 파드의 상태를 효과적으로 관리한다.이에 대해서 알아보자 쿠버네티스 로드밸런싱 쿠버네티스에서 로드밸런싱은 주로 서비스를 통해 이루어진다.https://koreatstm.tistory.com/270#%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4%EC%97%90%EC%84%9C%20%EC%99%B8%EB%B6%80%20%ED%8A%B8%EB%9E%98%ED%94%BD%EC%9D%84%20%EB%82%B4%EB%B6%80%EB%A1%9C%20%EC%97%B0%EA%B2%B0%ED%95%98%EB%8A%94%203%EA%B0%80%EC%A7%80%20%EB%B0%A9%EB%B2%95-1 쿠버네티..
https://koreatstm.tistory.com/188 쿠버네티스쿠버네티스를 알아보기 앞서, 오케스트레이션과 그에 관련한 개념들을 알아보자!! 기본개념 로드밸런싱개념: 여러 컨테이너에 요청을 분산시켜 부하를 균등하게 배분하는 것방법: 로드밸런싱koreatstm.tistory.com저번에 쿠버네티스의 기본 개념과 구조에 대해서 알아봤다. 이번에는 세부적인 내용을 뜯어보도록 하자 네트워크 연결도커는 컨테이너 내부와 컨테이너 외부의 네트워크가 독립적이다.쿠버네티스는 파드 내부의 네트워크를 공유하기에 같은 파드의 컨테이너는 동일 네트워크를 공유한다.이때, 중요한 것은 파드의 네트워크와 로컬 컴퓨터의 네트워크는 독립적으로 분리된다.따라서, 쿠버네티스로 파드에서 컨테이너(예: flask)를 띄우고 요청 했을 ..
개념 MinIO란? MinIO는 AWS S3와 호환되는 오브젝트 스토리지 시스템으로, 데이터를 저장하고 관리하는 역할 실습 요청사항 data는 minio의 raw-data 버킷에서 가져와서 airflow로 매 시간 정각에 실행되는, 로그는 mlflow에 남는 pipeline dag를 완성dag이름은 00_airflow_mlops.py로 합니다.experiment 이름은 fisa-ml 사고과정 MinIO에서 데이터를 가져와서, 데이터를 처리한 후, MLflow에 로깅하는 데이터 파이프라인을 구축하는 DAG를 만들면 된다. MinIO에서 raw-data 버킷에 있는 data.csv 파일을 가져옴가져온 데이터를 처리하여 통계값(평균)을 계산MLflow에 로그를 기록하여 실험 관리매 시간 정각(0분)마다 실행..