파이썬(Python)이란?

better_320·2024년 1월 3일

Python

목록 보기
1/2

1. Python이란?

  • ¹⁾인터프리터 언어로, 간결하고 읽기 쉬운 문법(사용자 친화적이고 읽기 쉬운 문법)을 갖추고 있다.

  • 다양한 용도로 활용되며, 데이터 분석, 웹 개발, 인공지능 등 다양한 분야에서 널리 사용됨

  • 생산성과 코드 가독성을 높이는 것에 초점을 둔 프로그래밍 언어

    ¹⁾인터프리터 언어란?
    -> "소스 코드를 한 줄씩 읽고 해석하여 실행하는 프로그래밍 언어"
    -> 코드를 실행하기 위해 별도의 컴파일 단계 없이 바로 해석하여 실행할 수 있어서 개발 과정이 빠르고 유연
    -> ²⁾컴파일 언어에 비해 실행 속도가 상대적으로 느릴 수 있다.

    • 대표 언어 ) 파이썬, 자바스크립트, 루비 등

    ²⁾컴파일 언어란?
    -> "소스 코드를 한 번에 전체를 컴파일러라는 특별한 프로그램을 통해 기계어로 번역한 뒤 실행하는 프로그래밍 언어"
    -> 실행 속도가 빠르지만, 코드를 수정할 때마다 다시 컴파일해야 하고, 개발 과정이 상대적으로 더 많은 단계를 거치게 된다

    • 대표 언어 ) C, C++, C#, 자바 등

2. Python을 사용한 프레임워크

  1. Django (백엔드 프로그램)
  • 강력하고 완전한 기능을 갖춘 웹 프레임워크로, 대규모 프로젝트에 적합

  • 자체 ORM (Object-Relational Mapping)을 포함하여 데이터베이스 처리를 쉽게함

  • 내장된 관리자 페이지, 사용자 인증 및 보안 기능 등이 포함되어 있음

    대표 프로그램

    • Instagram

      Instagram에서 웹 애플리케이션의 백엔드를 구축하는 데 사용되었습니다. Django의 강력한 기능과 확장성은 Instagram이 사용자의 데이터를 효과적으로 관리하고 사용자 경험을 향상시키는 데 큰 역할

    • Pinterest와 같은 이미지 기반의 소셜 미디어 플랫폼
  1. Flask
  • 가볍고 유연한 마이크로 프레임워크로, 작은 프로젝트나 시작 단계에서 사용하기에 적합
  • 확장성이 뛰어나며, 개발자가 필요한 도구와 라이브러리를 선택적으로 추가할 수 있음
  • Jinja2 템플릿 엔진을 사용하여 유연한 뷰 처리를 지원

    대표 프로그램

    • Pinterest Lite:

      Pinterest Lite는 Flask를 기반으로 한 경량화된 버전의 Pinterest 웹 애플리케이션

  1. FastAPI
  • 높은 성능과 빠른 개발 속도에 중점을 둔 현대적이고 혁신적인 웹 프레임워크
  • 자동으로 생성되는 API 문서와 데이터 유효성 검사를 포함하여 개발자 경험을 향상시킴
  • Starlette와 Pydantic 등의 라이브러리를 기반으로 하여 비동기 및 현대적인 Python 기능을 지원

    대표 프로그램

    • Machine Learning 모델 서빙 API:

      -> FastAPI는 Pydantic을 사용하여 데이터 모델을 정의하고, 자동으로 Swagger 문서를 생성하므로 머신러닝 모델을 서빙하는 API 개발에 유용
      -> 머신러닝 모델의 예측을 위한 API를 구축하고, FastAPI의 비동기 기능을 활용하여 높은 동시성을 처리할 수 있음

    • IoT 기반 웹 어플리케이션:

      -> FastAPI는 비동기 처리를 지원하여 대량의 동시 요청을 처리하기에 적합
      -> IoT 기반 웹 어플리케이션의 개발에도 사용될 수 있습니다. 센서 데이터 수집, 실시간 처리, 대시보드 표시 등 다양한 IoT 애플리케이션을 구축하는 데 활용될 수 있음

    • 마이크로서비스 아키텍처의 일부:

      -> FastAPI는 빠른 개발과 뛰어난 성능을 통해 마이크로서비스 아키텍처의 일부로 사용되는 경향이 있음
      -> 서로 다른 마이크로서비스 간의 통신을 처리하는 API Gateway나 서비스 간의 통합을 위한 API 개발에 FastAPI가 사용될 수 있음

  1. Bottle
  • 간단하고 경량화된 프레임워크로, 단일 파일로 구성된 앱을 만들기에 편리
  • 외부 의존성이 거의 없어 간단한 작업이나 작은 프로젝트에 적합
  • 라우팅, 템플릿 엔진, 데이터베이스 지원 등을 포함

    대표 프로그램

    • TaskBottle

      TaskBottle은 간단한 To-Do 리스트를 제공하는 웹 어플리케이션으로, Bottle의 경량화된 구조와 단일 파일로 구성된 특성을 활용

profile
make better program than the last program

0개의 댓글