ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Fast API
    대학 수업/Fast API 2024. 9. 2. 12:20

    ?

    유비쿼터스 네트워크

    => RFID, bluetooth 등의 기구를 통한 대상(사람, 사물) 인식

    ==> 고전적임

     

     

    Python netframework

     

    AI - IOT(주요 내용) 연결 서비스

    어떤 형태로 서비스가 구축되는지, 어떻게 이뤄질것인지

     

     

    DevOps

    개발/운영 작업 결합, 및 자동화

    => 소프트웨어 개발 방법론

    ==> 기존 개발 단계가 연결성이 부족한 면을 보완, 자동화

     

    CI : Continuous Integration 

    위를 포함한, 

    CD : Continuous Delivery(+다른 용어)

     

    source control <> githup

    jankis?

     

     ML Ops

    데옵 철학, 도구 가져와 머신러닝 고유한 요구 사항을 추가하여 적용한 개발방법론 및 도구

     

    (모델 개발과 이용의 연계가 잘 이뤄지지 않는 상황을 개선하기 위한 개념 적용)

    모델 배포 및 유지관리 자동화, 서비스 신속 출시

    모델 품질 및 안정성 향상

    DS, Ops 간의 협업성 개선

     

    ML+Dev+Ops

     

    운영환경을 구축하고, 모델을 서빙하는데 주점을 둔 과정(수업이다)

     

    Model Serving

    프로토콜을 이용한 서비스

     

     

    왜 FastAPI인가?

    Python과 가장효과적으로, 편하게 통신할 수 있다.

    =>파이썬 기반 프레임워크

     

    ==> 현대적이고 빠른 웹 프레임워크

    현대적 : 개요자료를 살펴보니

    => '빠르다' + '현대적이다'

     

    웹을 기반으로 동작하는 프로그램에는

    웹 어플리케이션 vs 웹 서비스 가 존재한다.

     

    개발방법은 똑같으나 결과물이 다르다

    다른 형태의 서비스 프로토콜을 구현한다?

    => 어플리케이션 : 웹 페이지 // 클라이언트 대상으로 response 가 웹 페이지이다.

    => 서비스 : 처리 결과에 대한 데이터를 제공한다 // xml, json...

    <> web api // open api

     

    api란 무엇인가?

    함수호출

    필요로 하는 기능(함수)를 호출한다

    호출한 뒤, 결과를 요구(데이터)

    http프로토콜 기반 구축 = web api

     

    SOAP :  XML

    RESTful : http기반으로, 정의된 것으로 : Json

    => 라이브러리 이용하면 web api(restful) 개발 가능

    웹 페이지를 탬플릿팅? 라이브러리?을 통해 만들 수 있다.

    높은 성능,  직관적 문법(단순하게 구현 가능)

     

    ASGI 기반 비동기 처리 지원 : 웹 어플리케이션 개발 지원

    WSGI(web server gateway interface)

    • 파이썬 웹 어플리케이션과 웹 서버 간의 인터페이스로서 사용
    • 동기적인 프로그래밍 모델(싱글 스레드), 동시처리 제약 있음
    • Flask, Django 와 같은 기존 프레임워크 지원

    ASGI - fast api 가 지원함

    • 비동기 웹어플리케이션 위한 파이썬 웹 서버 -프레임워크
    • 비동기 + 동기 처리 지원 : 더욱 향상된 성능 

    fastapi 특징

    • 성능 :  특정 경우 Node.js 와 Go에 견줄만 하다
    • 빠른 개발 : 이해하기 어렵거나 이상한 부분이 없다
      • 추상화 :  제약적인 활용방안
      • 인공지능 서비스 제공한다 => 간단하게 제공만 할 수 있다면 해결!
      • 대규모 사용자를 지원할 수 있는 플랫폼이면 충분하다
    • 향상된 코드 품질(현대적) : 타입 힌트와 Pydatic 모델 버그 줄이는데 유용
      • data validation : 클라이언트가 보낸 데이터가 유효한가? 를 확인
    • 자동 생성된 문서 및 테스트 페이지 : Open API (URL 호출) URL, Request parameter, Response json
      • document 생성 자동화

    CGI : common gateway interface

    웹 프로그램 실행할 능력이 없다 => 프로그램 실행한 결과를 받아오기 위한 프로토콜

    whas server?

     

    파이썬 언어 공유되니까

    docker 를 이용하여 container 로 묶어 cloud 로 공유

     

     


    D / F / Fapi

    d : orm(db, interface) : 풀스택

    f : 부하관리(ex : 수강신청) // micro sevice? architecture 특징 존재 // orm, 폼 검증 등 추가 라이브러리 필요

    fa : 추가 기능(db접속 등) 라이브러리 필요

     

    윈도우 환경

    => WSL2 우분투 +  Terminal (원하는 셀을 실행할 수 있는~ 마소 프로그램 중 하나?)

    Cy기반 : 명령어 기반 프로그램 실행

     

    테스트 하기위한 웹 클라이언트

    Curl(Text UI) ,크롬, Postman

    '그'UI / GUI

    => get post release...

    브라우저 상에서 보낼 수 없는 것을 Postman활용

     

    OpenAPI . json

    프론트엔드 프로그램 자동 생성? 존재하지만 완벽하지 않음

     

    제이슨 기반 웹 기반 서비스 해준다

    스웨그 니닥

    intective?

    => docu보여주고 ~~???

     

    7~8주차까지 

    Fast api

    나머지를 mlops구현

    => 책 : 딥러닝 서비스

     

    + Fast api 를 사용한 파이썬 웹 개발 2만


    10월 이후 공채 - 대기업 - 경쟁 치열

    일할 기회가 있다면 경력을 어쨋든 만들어라

     

    '대학 수업 > Fast API' 카테고리의 다른 글

    인터프리터와 컴파일러 그리고 IDE  (2) 2024.09.02
Designed by Tistory.